@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Orbitron:wght@400;500;700;900&display=swap";.login-screen{min-height:100vh;display:flex;background:#0a0e1a}.login-brand-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background-image:linear-gradient(to top,rgba(10,14,26,.7) 0%,rgba(10,14,26,.15) 40%,transparent 100%),url(/login-bg.png);background-size:auto,cover;background-position:center;background-repeat:no-repeat;padding:3rem}.login-brand-panel:before{content:"";position:absolute;width:140%;height:140%;top:-20%;left:-20%;background:radial-gradient(ellipse at 20% 50%,rgba(0,212,255,.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(123,47,247,.1) 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,rgba(0,212,255,.06) 0%,transparent 50%);animation:meshFloat 20s ease-in-out infinite;pointer-events:none}@keyframes meshFloat{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(2%,-2%) rotate(.5deg)}50%{transform:translate(-1%,3%) rotate(-.5deg)}75%{transform:translate(-2%,-1%) rotate(.3deg)}}.login-brand-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}.login-brand-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,14,26,.8) 0%,rgba(10,14,26,.3) 35%,transparent 70%);z-index:1;pointer-events:none}.login-brand-content{position:relative;z-index:2;text-align:center;max-width:400px;animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-brand-content img{width:300px;margin-bottom:1.5rem;animation:brandGlow 3s ease-in-out infinite}@keyframes brandGlow{0%,to{filter:drop-shadow(0 0 8px rgba(0,212,255,.2))}50%{filter:drop-shadow(0 0 20px rgba(0,212,255,.4))}}.login-tagline{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .5rem;line-height:1.3;text-shadow:0 2px 12px rgba(0,0,0,.6)}.login-tagline-accent{background:linear-gradient(135deg,#00d4ff,#7b2ff7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-tagline-sub{font-size:.9rem;color:#ffffffe6;margin:0 0 2rem;line-height:1.5;text-shadow:0 1px 8px rgba(0,0,0,.5)}.login-features{display:flex;flex-direction:column;gap:.75rem;text-align:left;width:100%}.login-feature{display:flex;align-items:center;gap:.65rem;padding:.6rem .85rem;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:.82rem;color:#fffffff2;text-shadow:0 1px 4px rgba(0,0,0,.4);animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) both}.login-feature:nth-child(1){animation-delay:.3s}.login-feature:nth-child(2){animation-delay:.4s}.login-feature:nth-child(3){animation-delay:.5s}.login-feature:nth-child(4){animation-delay:.6s}.login-feature-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem}.login-form-panel{width:480px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:var(--bg-secondary);border-left:1px solid var(--border);position:relative}.login-container{width:100%;max-width:360px;animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) .2s both}.login-brand{text-align:center;margin-bottom:1.5rem}.login-form-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0 0 .3rem}.login-form-sub{font-size:.85rem;color:var(--text-muted);margin:0}.login-form .input-group{margin-bottom:1.25rem}.login-form label{display:block;color:var(--text-secondary);font-size:.75rem;font-weight:600;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.06em}.login-form input{width:100%;padding:.8rem 1rem;background:var(--glass-light);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:.95rem;transition:all .25s ease;box-sizing:border-box}.login-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow),0 0 0 1px var(--accent);background:var(--glass-medium)}.login-form input::placeholder{color:var(--text-placeholder)}.login-form .btn-primary{height:48px;font-size:.95rem;font-weight:600;border-radius:10px;letter-spacing:.02em;transition:all .25s ease}.login-form .btn-primary:hover:not(:disabled){box-shadow:0 8px 24px var(--accent-glow);transform:translateY(-2px)}.login-forgot{display:block;text-align:center;margin-top:1rem;font-size:.78rem;color:var(--text-muted);text-decoration:none;transition:color .15s ease}.login-forgot:hover{color:var(--accent)}.error-msg{color:var(--danger);font-size:.85rem;text-align:center;margin-top:1rem;padding:.5rem .75rem;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;animation:fadeInUp .2s ease both}.login-footer{margin-top:2rem;text-align:center;font-size:.72rem}.login-footer a{color:var(--text-muted);text-decoration:none;transition:color .15s}.login-footer a:hover{color:var(--text-secondary)}.login-footer-sep{display:inline-block;margin:0 .5rem;color:var(--text-muted);opacity:.4}@media(max-width:900px){.login-screen{flex-direction:column}.login-brand-panel{padding:2rem 1.5rem;min-height:auto}.login-brand-content img{width:160px;margin-bottom:1rem}.login-tagline{font-size:1.2rem}.login-tagline-sub{margin-bottom:1rem;font-size:.82rem}.login-features{display:none}.login-form-panel{width:100%;border-left:none;border-top:1px solid var(--border);padding:2rem 1.5rem;flex:1}.login-container{max-width:100%}}[data-theme=light] .login-brand-panel{background-image:linear-gradient(to top,rgba(255,255,255,.75) 0%,rgba(255,255,255,.2) 40%,transparent 100%),url(/login-bg.png)}[data-theme=light] .login-brand-panel:before{background:radial-gradient(ellipse at 20% 50%,rgba(37,99,235,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(79,70,229,.06) 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,rgba(37,99,235,.04) 0%,transparent 50%)}[data-theme=light] .login-brand-content img{animation:none}[data-theme=light] .login-tagline{color:#fff}[data-theme=light] .login-tagline-accent{background:linear-gradient(135deg,#00d4ff,#7b2ff7);-webkit-background-clip:text;background-clip:text}[data-theme=light] .login-tagline-sub{color:#ffffffe6}[data-theme=light] .login-feature{background:#00000059;border-color:#ffffff1a;color:#fffffff2}[data-theme=light] .login-form-panel{background:#fff;border-left-color:#e2e8f0}[data-theme=light] .login-form input{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .login-form input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.pin-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--overlay-heavy);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.pin-card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 3rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;box-shadow:var(--modal-shadow);min-width:320px;max-width:380px}.pin-brand{font-family:Orbitron,monospace;font-size:.85rem;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.2em}.pin-lock-icon{color:var(--text-muted);margin-top:.5rem}.pin-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0}.pin-subtitle{font-size:.78rem;color:var(--text-muted);margin:-.25rem 0 0}.pin-digits{display:flex;gap:.5rem;margin:.5rem 0}.pin-digit{width:44px;height:54px;text-align:center;font-family:Orbitron,monospace;font-size:1.4rem;font-weight:700;color:var(--text-primary);background:var(--bg-card);border:2px solid var(--border);border-radius:10px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;caret-color:var(--accent);-webkit-text-security:disc}.pin-digit:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.pin-attempts{font-size:.75rem;color:#f43f5e;min-height:1.2em}.pin-unlock-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem 1.5rem;background:linear-gradient(135deg,var(--accent),var(--purple));border:none;border-radius:10px;color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .1s ease}.pin-unlock-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.pin-unlock-btn:disabled{opacity:.4;cursor:not-allowed}.pin-no-pin{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.pin-no-pin-text{color:var(--text-secondary);font-size:.9rem;margin:0}.pin-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;text-decoration:underline;text-underline-offset:3px}.pin-link:hover{color:var(--accent)}.pin-bypass-btn{padding:.5rem 1.5rem;background:var(--hover-bg);border:1px solid var(--border-hover);border-radius:8px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s ease}.pin-bypass-btn:hover{background:var(--glass-medium);color:var(--text-primary)}.pin-setup-input{width:100%;padding:.65rem .85rem;font-size:.9rem;font-family:Orbitron,monospace;letter-spacing:.3em;text-align:center;background:var(--bg-card);border:2px solid var(--border);border-radius:10px;color:var(--text-primary);outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease;caret-color:var(--accent)}.pin-setup-input::placeholder{font-size:.72rem;font-family:Inter,sans-serif;letter-spacing:.02em;color:var(--text-muted)}.pin-setup-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.global-search-trigger{display:flex;align-items:center;gap:.45rem;width:100%;padding:.45rem .75rem;background:var(--input-bg, rgba(255,255,255,.05));border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:.82rem;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s,background .15s;margin-top:.5rem;text-align:left}.global-search-trigger span{flex:1}.global-search-trigger kbd{font-size:.65rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-family:inherit;line-height:1.5}.global-search-trigger:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--hover-bg)}.global-search-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;animation:gsOverlayIn .12s ease}@keyframes gsOverlayIn{0%{opacity:0}to{opacity:1}}.global-search-modal{background:var(--bg-secondary, #0d1117);border:1px solid var(--border);border-radius:14px;width:560px;max-width:94vw;overflow:hidden;box-shadow:0 24px 64px #0009,0 0 0 1px #ffffff0a;animation:gsModalIn .15s cubic-bezier(.16,1,.3,1)}@keyframes gsModalIn{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.global-search-input-row{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.gs-icon{color:var(--text-muted);flex-shrink:0}.global-search-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:1rem;font-family:inherit}.global-search-input::placeholder{color:var(--text-muted)}.gs-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}.gs-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;line-height:0;border-radius:4px;transition:color .12s}.gs-close:hover{color:var(--text-primary)}.gs-results{list-style:none;margin:0;padding:.4rem 0;max-height:340px;overflow-y:auto}.gs-result-item{display:flex;align-items:center;gap:.65rem;padding:.55rem 1rem;cursor:pointer;transition:background .1s}.gs-result-item:hover,.gs-result-item.active{background:var(--hover-bg, rgba(255,255,255,.05))}.gs-type-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.gs-type-vehicle{background:#00d4ff1f;color:#00d4ff}.gs-type-driver{background:#4ade801f;color:#4ade80}.gs-type-asset{background:#a855f71f;color:#a855f7}.gs-type-ticket{background:#fbbf241f;color:#fbbf24}.gs-title{font-size:.88rem;font-weight:600;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-subtitle{font-size:.75rem;color:var(--text-muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-empty{padding:1.25rem 1rem;text-align:center;font-size:.85rem;color:var(--text-muted)}.gs-footer{display:flex;gap:1rem;padding:.6rem 1rem;border-top:1px solid var(--border);font-size:.68rem;color:var(--text-muted)}.gs-footer span{opacity:.6}[data-theme=light] .global-search-modal{background:#fff;border-color:#e2e8f0;box-shadow:0 24px 64px #0003}[data-theme=light] .global-search-trigger{background:#f8fafc;border-color:#e2e8f0}.app-shell{display:flex;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);max-width:100vw;overflow-x:hidden}.sidebar{width:260px;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .3s cubic-bezier(.4,0,.2,1),width .25s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.sidebar-brand{padding:1.25rem;border-bottom:1px solid var(--border)}.brand-title-sm{font-family:Orbitron,monospace;font-size:1.1rem;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.15em;margin:0 0 1rem;text-align:center}[data-theme=light] .brand-title-sm{background:linear-gradient(135deg,#1d4ed8,#7c3aed);-webkit-background-clip:text;background-clip:text}[data-theme=light] .sidebar-brand img,[data-theme=light] .topbar-logo{content:url(/static/img/logo-light.png)}.company-selector-wrap{width:100%}.company-selector{width:100%;padding:.5rem .75rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.85rem;cursor:pointer}.company-selector:focus{outline:none;border-color:var(--accent)}.nav-list{list-style:none;padding:.75rem 0;margin:0;flex:1;overflow-y:auto}.nav-group-label{padding:.85rem 1.25rem .2rem;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.6;-webkit-user-select:none;user-select:none}.nav-group-label:not(:first-child){border-top:1px solid var(--border);margin-top:.25rem;padding-top:.85rem}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;pointer-events:auto;transition:opacity .15s ease}.nav-group-toggle:hover{opacity:1}.nav-group-chevron{transition:transform .2s ease;flex-shrink:0}.nav-group-chevron.collapsed{transform:rotate(-90deg)}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;cursor:pointer;color:var(--sidebar-text);font-size:.9rem;font-weight:500;transition:all .15s ease;border-left:3px solid transparent}.nav-item:hover{background:var(--hover-bg);color:var(--text-primary);transform:translate(2px)}.nav-item.active{background:var(--sidebar-active-bg);color:var(--accent);border-left-color:var(--accent)}.nav-icon{font-size:1.15rem;width:1.5rem;text-align:center}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid var(--border)}.user-badge{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--purple));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:#fff;flex-shrink:0}.user-info{display:flex;flex-direction:column;min-width:0}.user-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.7rem;color:var(--text-muted);text-transform:capitalize}.btn-logout{width:100%;padding:.5rem;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;color:var(--danger);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-logout:hover{background:var(--danger-bg-hover)}.main-content{flex:1;margin-left:260px;padding:1.5rem 2rem;min-height:100vh}.main-content--fullmap{padding:0;overflow:hidden;height:100vh}.mobile-menu-btn{display:none;position:fixed;top:.75rem;left:.75rem;z-index:500;background:var(--overlay-bg);border:1px solid var(--border);color:var(--text-on-glass);width:44px;height:44px;border-radius:10px;font-size:1.4rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar,.mobile-menu-btn,.sidebar-overlay{display:none}.main-content{margin-left:0;padding:.75rem 1rem 1rem;overflow-x:clip;max-width:100vw}.sidebar-collapse-btn{display:none}}.sidebar.collapsed{width:64px}.sidebar.collapsed .sidebar-brand{padding:1rem .5rem}.sidebar.collapsed .brand-title-sm{font-size:.85rem;letter-spacing:.1em;margin-bottom:0}.sidebar.collapsed .nav-item{justify-content:center;padding:.65rem 0;gap:0}.sidebar.collapsed .nav-icon{width:auto}.sidebar.collapsed~.main-content{margin-left:64px}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item{position:relative}.active-indicator{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent, #00d4ff);border-radius:0 3px 3px 0;box-shadow:0 0 12px var(--accent-glow),0 0 4px var(--accent-glow)}.nav-item.active{border-left-color:transparent}.user-chip{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.sidebar.collapsed .user-chip{flex-direction:column;gap:.4rem}.btn-logout-icon{background:none;border:none;color:var(--danger);cursor:pointer;padding:4px;border-radius:4px;line-height:0;margin-left:auto;transition:color .15s,background .15s}.btn-logout-icon:hover{color:var(--danger);background:var(--danger-bg)}.sidebar.collapsed .btn-logout-icon{margin-left:0}.theme-selector{display:flex;gap:.35rem;margin-bottom:.5rem}.theme-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:.35rem .25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.72rem;font-weight:600;font-family:inherit;color:var(--sidebar-text);letter-spacing:.03em;transition:all .15s ease;line-height:1}.theme-btn:hover{background:var(--hover-bg);border-color:var(--border-hover);color:var(--text-primary)}.theme-btn.active{background:var(--sidebar-active-bg);border-color:var(--accent);color:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.sidebar-collapse-btn{width:100%;display:flex;align-items:center;justify-content:center;padding:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;line-height:0;transition:all .15s ease}.sidebar-collapse-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;margin-bottom:1rem;border-bottom:1px solid var(--border)}.topbar-left{display:flex;flex-direction:column;gap:.25rem}.topbar-title{font-family:Inter,sans-serif;font-size:1.35rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.topbar-breadcrumb{display:none}.breadcrumb-item{display:inline-flex;align-items:center;gap:.2rem}.breadcrumb-sep{color:var(--text-muted);margin:0 .1rem}.breadcrumb-current{color:var(--text-secondary)}.topbar-actions{display:flex;align-items:center;gap:.4rem}.topbar-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;line-height:0}.topbar-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.topbar-btn-active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.topbar-bell{position:relative}.topbar-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#f43f5e;color:#fff;font-size:.55rem;font-weight:700;align-items:center;justify-content:center;line-height:1}.topbar-logo{display:none;height:32px}@media(max-width:768px){.topbar-logo{display:block}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.vdm-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--overlay-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:1rem}.vdm-panel{position:relative;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;box-shadow:var(--modal-shadow);padding:1.5rem;color:var(--text-primary)}.vdm-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--input-bg);border:1px solid var(--border-hover);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.vdm-close:hover{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.vdm-header{text-align:center;margin-bottom:1.25rem;padding-right:2rem}.vdm-plate-badge{display:inline-block;font-family:Orbitron,monospace;font-size:1.4rem;font-weight:700;letter-spacing:.08em;color:var(--text-primary);background:linear-gradient(135deg,#00d4ff1f,#8b5cf61f);border:1px solid rgba(0,212,255,.25);border-radius:10px;padding:.5rem 1.5rem;text-shadow:0 0 20px rgba(0,212,255,.3)}.vdm-plate-epc{font-size:.85rem;font-family:monospace;letter-spacing:.02em;background:linear-gradient(135deg,var(--glass-light),var(--glass-subtle));border-color:var(--border-hover);text-shadow:none}.vdm-plate-clickable{cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center}.vdm-plate-clickable:hover{border-color:#00d4ff80;background:linear-gradient(135deg,#00d4ff33,#8b5cf633);transform:translateY(-1px);box-shadow:0 4px 16px #00d4ff26}.vdm-status-row{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.75rem}.vdm-status-pill,.vdm-group-pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .6rem;border-radius:20px}.vdm-status-pill.active{color:var(--success);background:#34d3991a;border:1px solid rgba(52,211,153,.2)}.vdm-status-pill.inactive{color:var(--danger);background:#f871711a;border:1px solid rgba(248,113,113,.2)}.vdm-group-pill{color:var(--text-secondary);background:var(--input-bg);border:1px solid var(--border-hover)}.vdm-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.vdm-info-item{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem .75rem;background:var(--glass-subtle);border:1px solid var(--divider);border-radius:10px;transition:background .15s ease}.vdm-info-item:hover{background:var(--input-bg)}.vdm-info-icon{color:var(--accent, #00d4ff);line-height:0;flex-shrink:0;margin-top:2px}.vdm-info-content{display:flex;flex-direction:column;gap:.15rem;min-width:0}.vdm-info-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.vdm-info-value{font-size:.82rem;color:var(--text-primary);word-break:break-all}.vdm-mono{font-family:monospace;font-size:.78rem;color:var(--accent, #00d4ff);word-break:break-all}.vdm-tid-bar{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-radius:10px;font-size:.78rem;margin-bottom:.5rem}.vdm-tid-bar.enrolled{background:#34d3990f;border:1px solid rgba(52,211,153,.2);color:var(--success)}.vdm-tid-bar.enrolled code{font-family:monospace;font-size:.72rem;color:#6ee7b7;word-break:break-all}.vdm-tid-bar.pending{background:#fbbf240f;border:1px solid rgba(251,191,36,.2);color:var(--warning);font-style:italic}.vdm-notes-bar{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;border-radius:10px;font-size:.78rem;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--divider);margin-bottom:.5rem}.vdm-notes-bar svg{flex-shrink:0;margin-top:1px;color:var(--text-muted)}.vdm-activity-section{margin-top:.75rem}.vdm-section-title{display:flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.vdm-section-title svg{color:var(--accent, #00d4ff)}.vdm-activity-empty{font-size:.8rem;color:var(--text-muted);font-style:italic;padding:.75rem;background:var(--bg-card);border-radius:10px;text-align:center}.vdm-activity-placeholder{display:flex;flex-direction:column;gap:.4rem}.vdm-skeleton{height:40px;border-radius:8px;background:linear-gradient(90deg,var(--glass-subtle) 0%,var(--glass-medium) 50%,var(--glass-subtle) 100%);background-size:200% 100%;animation:vdm-shimmer 1.5s ease-in-out infinite}@keyframes vdm-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.vdm-activity-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.3rem}.vdm-activity-list::-webkit-scrollbar{width:4px}.vdm-activity-list::-webkit-scrollbar-track{background:transparent}.vdm-activity-list::-webkit-scrollbar-thumb{background:var(--glass-medium);border-radius:4px}.vdm-panel::-webkit-scrollbar{width:6px}.vdm-panel::-webkit-scrollbar-track{background:transparent}.vdm-panel::-webkit-scrollbar-thumb{background:var(--hover-bg);border-radius:6px}.vdm-log-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;background:var(--glass-subtle);border-radius:8px;font-size:.78rem;transition:background .15s ease}.vdm-log-row:hover{background:var(--hover-bg)}.vdm-log-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.vdm-log-dot.granted{background:#34d399;box-shadow:0 0 8px #34d39966}.vdm-log-dot.denied{background:#f87171;box-shadow:0 0 8px #f8717166}.vdm-log-info{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.vdm-log-date{color:var(--text-primary);font-weight:500;font-size:.78rem}.vdm-log-lane{color:var(--text-muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vdm-log-badge{font-family:monospace;font-size:.65rem;font-weight:700;letter-spacing:.04em;flex-shrink:0}.vdm-log-badge.granted{color:#10b981}.vdm-log-badge.denied{color:var(--danger)}@media(max-width:480px){.vdm-panel{max-width:100%;max-height:92vh;border-radius:16px;padding:1.25rem}.vdm-info-grid{grid-template-columns:1fr}.vdm-plate-badge{font-size:1.1rem;padding:.4rem 1rem}}.tlc-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;color:var(--text-primary);font-family:Inter,sans-serif;box-shadow:var(--card-shadow)}.tlc-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.tlc-title{display:flex;flex-direction:column;gap:3px}.tlc-name{font-size:15px;font-weight:700;color:var(--text-primary)}.tlc-plate{display:inline-block;font-family:Arial Narrow,Arial,sans-serif;font-size:11.5px;font-weight:900;background:#f5f5f0;color:#111!important;border:1px solid #bbb;padding:2px 7px;border-radius:3px;letter-spacing:.08em;align-self:flex-start;box-shadow:0 1px 3px #00000040,inset 0 0 0 1px #0000000a;white-space:nowrap}.tlc-status-pill{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;flex-shrink:0}.tlc-status-pill.online{background:#22c55e26;color:var(--success);border:1px solid rgba(34,197,94,.3)}.tlc-status-pill.offline{background:#ef44441f;color:var(--danger);border:1px solid rgba(239,68,68,.25)}.tlc-status-pill.parked{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.tlc-gauge{display:flex;justify-content:center}.tlc-status-row{display:flex;flex-wrap:wrap;gap:6px}.tlc-badge{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500;padding:4px 9px;border-radius:20px}.tlc-badge.ignition-on{background:#22c55e26;color:var(--success);border:1px solid rgba(34,197,94,.25)}.tlc-badge.ignition-off{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.2)}.tlc-badge.neutral{background:#64748b1f;color:var(--text-secondary);border:1px solid rgba(100,116,139,.25)}.tlc-gsm{display:flex;align-items:flex-end;gap:2px;height:12px}.tlc-gsm-bar{width:3px;border-radius:1px;transition:background .3s}.tlc-voltage-section{display:flex;flex-direction:column;gap:6px}.tlc-section-label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary)}.tlc-voltage-value{margin-left:auto;font-weight:700;font-size:13px;color:var(--text-primary)}.tlc-voltage-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.tlc-voltage-fill{height:100%;border-radius:4px;transition:width .5s ease,background .5s ease}.tlc-voltage-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted)}.tlc-footer{display:flex;align-items:center;justify-content:space-between}.tlc-compass{display:flex;flex-direction:column;align-items:center;gap:3px}.tlc-compass-label{font-size:10px;color:var(--text-muted)}.tlc-int-battery{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;color:var(--text-secondary)}.tlc-fluid-section{display:flex;flex-direction:column;gap:4px}.tlc-fluid-value{margin-left:auto;font-weight:700;font-size:12px}.tlc-tacho-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;background:#64748b14;border-radius:8px;font-size:11px;color:var(--text-secondary)}.tlc-tacho-state{font-weight:700;font-size:10px;padding:2px 7px;border-radius:4px;text-transform:uppercase}.tlc-tacho-state.state-drive{background:#ef444433;color:#f87171}.tlc-tacho-state.state-work{background:#fbbf2433;color:#fbbf24}.tlc-tacho-state.state-rest{background:#4ade8026;color:#4ade80}.tlc-tacho-state.state-available{background:#94a3b826;color:#94a3b8}.tlc-tacho-card{font-size:9px}.tlc-tacho-time{font-weight:600;color:var(--text-primary)}.tlc-tacho-break{color:var(--text-muted)}.tlc-tacho-warn{font-weight:700;color:#ef4444;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.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}}.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}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{width:30px;height:30px;margin-left:5px;margin-top:5px;text-align:center;border-radius:15px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}.gps-widget-body{display:flex;flex:1;min-height:0;width:100%;position:relative}.gps-widget-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--border);overflow:hidden}.gps-widget-stats{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0}.gps-widget-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:.5rem .25rem;gap:1px;border-right:1px solid var(--border)}.gps-widget-stat:last-child{border-right:none}.gps-widget-stat-value{font-size:1rem;font-weight:700;line-height:1.2}.gps-widget-stat-value.green{color:var(--success)}.gps-widget-stat-value.amber{color:#f59e0b}.gps-widget-stat-value.red{color:var(--danger)}.gps-widget-stat-label{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.gps-widget-search{position:relative;padding:.4rem .5rem;border-bottom:1px solid var(--border)}.gps-widget-search .search-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.gps-widget-search-input{width:100%;padding:.35rem .5rem .35rem 1.7rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.72rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.gps-widget-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.gps-widget-search-input::placeholder{color:var(--text-muted)}.gps-widget-device-list{flex:1;overflow-y:auto;padding:.35rem}.gps-widget-device-list::-webkit-scrollbar{width:4px}.gps-widget-device-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.gps-widget-device-card{width:100%;display:flex;align-items:center;gap:.45rem;padding:.45rem .55rem;background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;text-align:left;color:var(--text-primary);font-family:inherit;transition:all .15s ease;margin-bottom:1px}.gps-widget-device-card:hover{background:var(--bg-card);border-color:var(--border)}.gps-widget-device-card.active{background:var(--sidebar-active-bg, var(--accent-glow));border-color:var(--accent)}.gps-widget-device-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.gps-widget-device-name{font-size:.75rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gps-widget-device-plate{display:inline-block;font-family:Arial Narrow,Arial,sans-serif;font-size:.6rem;font-weight:900;color:#111!important;background:#f5f5f0;border:1px solid #bbb;border-radius:2px;padding:0 4px;width:fit-content;letter-spacing:.07em;white-space:nowrap;box-shadow:0 1px 2px #0000002e}.gps-widget-device-meta{font-size:.63rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gps-widget-device-chevron{color:var(--text-muted);flex-shrink:0;opacity:0;transition:opacity .15s}.gps-widget-device-card:hover .gps-widget-device-chevron,.gps-widget-device-card.active .gps-widget-device-chevron{opacity:1}.gps-widget-map-area{flex:1;min-width:0;position:relative}.gps-widget-map{width:100%;height:100%;border-radius:0 0 12px}.gps-widget-layer-switcher{position:absolute;bottom:8px;left:8px;z-index:1000;display:flex;gap:2px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:2px}.gps-widget-layer-btn{background:none;border:1px solid transparent;color:#ffffffb3;border-radius:4px;padding:3px 5px;cursor:pointer;line-height:0;transition:all .15s}.gps-widget-layer-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.gps-widget-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:#0a0e1ae0;border-radius:8px;padding:10px 18px;font-size:.78rem;color:#e0e0e0;text-align:center;border:1px solid rgba(0,212,255,.15)}.gps-widget-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1.5rem .75rem;color:var(--text-muted);text-align:center}.gps-widget-empty p{font-size:.78rem;font-weight:600;color:var(--text-secondary);margin:0}.gps-widget-empty span{font-size:.68rem}@media(max-width:500px){.gps-widget-sidebar{width:180px}}.gps-widget-map .leaflet-pane{z-index:400}.gps-widget-map .leaflet-top,.gps-widget-map .leaflet-bottom{z-index:800}.gps-widget-map-area{min-height:200px}.gps-widget-map .leaflet-marker-icon,.gps-widget-map .leaflet-marker-shadow{transition:transform .3s ease-out}.dashboard.page-enter{animation:widgetFadeIn .35s cubic-bezier(.4,0,.2,1) both}.dashboard-welcome{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative;overflow:hidden;animation:fadeInUp .4s cubic-bezier(.4,0,.2,1) both}.dashboard-welcome:before{content:"";position:absolute;top:0;right:0;width:200px;height:100%;background:linear-gradient(135deg,transparent,var(--accent-glow));opacity:.5;pointer-events:none}.dashboard-welcome-text h2{margin:0;font-size:1.35rem;font-weight:700;color:var(--text-primary);line-height:1.3}.dashboard-welcome-text p{margin:.25rem 0 0;font-size:.85rem;color:var(--text-muted)}.dashboard-welcome-time{font-size:.78rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.react-grid-item{animation:widgetFadeIn .35s ease both}.react-grid-item:nth-child(1){animation-delay:.05s}.react-grid-item:nth-child(2){animation-delay:.1s}.react-grid-item:nth-child(3){animation-delay:.15s}.react-grid-item:nth-child(4){animation-delay:.2s}.react-grid-item:nth-child(5){animation-delay:.25s}.react-grid-item:nth-child(6){animation-delay:.3s}@keyframes widgetFadeIn{0%{opacity:0}to{opacity:1}}.view-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.view-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow)}.stat-icon{font-size:1.5rem;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);font-family:Orbitron,monospace}.stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;text-transform:uppercase;letter-spacing:.05em}.gates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.gate-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem}.gate-card.online{border-color:var(--accent)}.gate-card.offline{border-color:var(--danger-border)}.gate-header{display:flex;justify-content:space-between;align-items:center}.gate-name{font-weight:600;font-size:.9rem}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.online{background:#00d4ff;box-shadow:0 0 8px #00d4ff80}.status-dot.offline{background:#ff6b6b}.gate-status{font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.dashboard-header-actions{display:flex;gap:.5rem;margin-left:auto}.dashboard-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.75rem;font-weight:600;border-radius:6px;border:1px solid var(--border-hover);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.dashboard-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.dashboard-btn-active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.dashboard-btn-accent{background:var(--sidebar-active-bg);border-color:#00d4ff40;color:var(--accent)}.dashboard-btn-accent:hover{background:var(--accent-glow)}.widget-drawer{padding:1rem;border-radius:12px}.widget-drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.widget-drawer-close{background:none;border:none;color:var(--text-muted);cursor:pointer;line-height:0;padding:2px}.widget-drawer-close:hover{color:var(--text-primary)}.widget-drawer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.widget-drawer-item{display:flex;flex-direction:column;gap:.25rem;padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:left;color:var(--text-primary);transition:all .15s ease}.widget-drawer-item:hover{background:#00d4ff0f;border-color:var(--accent)}.widget-drawer-item-title{font-weight:600;font-size:.78rem}.widget-drawer-item-desc{font-size:.65rem;color:var(--text-muted)}.widget-shell{transition:box-shadow .25s ease}.widget-shell:hover{box-shadow:0 8px 32px #00d4ff14}.react-grid-item.react-grid-placeholder{background:#00d4ff14;border:1.5px dashed rgba(0,212,255,.5);border-radius:14px;opacity:1!important;box-shadow:0 0 20px #00d4ff1f inset;transition:all .12s ease}.react-resizable-handle{position:absolute;width:14px;height:14px;opacity:0;transition:opacity .15s;z-index:10}.react-grid-item:hover .react-resizable-handle,.react-grid-item.react-draggable-dragging .react-resizable-handle{opacity:1}.react-resizable-handle-se{bottom:4px;right:4px;cursor:se-resize;background:radial-gradient(circle,rgba(0,212,255,.9) 2px,transparent 3px),radial-gradient(circle,rgba(0,212,255,.6) 2px,transparent 3px),radial-gradient(circle,rgba(0,212,255,.4) 2px,transparent 3px);background-position:10px 10px,5px 10px,10px 5px;background-repeat:no-repeat;background-size:4px 4px,4px 4px,4px 4px}.react-resizable-handle-s{bottom:4px;left:50%;transform:translate(-50%);width:28px;height:8px;cursor:s-resize;background:#00d4ff80;border-radius:4px}.react-resizable-handle-e{right:4px;top:50%;transform:translateY(-50%);width:8px;height:28px;cursor:e-resize;background:#00d4ff80;border-radius:4px}.react-grid-item.react-draggable-dragging{opacity:.85;box-shadow:0 20px 60px #00d4ff40,0 4px 20px #0006;transition:none;z-index:100;cursor:grabbing!important}.react-grid-item.react-draggable-dragging *{cursor:grabbing!important;pointer-events:none}.react-grid-item.resizing{opacity:.9;transition:none}@media(max-width:768px){.dashboard{min-height:auto;padding-bottom:2rem}.widget-drawer-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.widget-drawer{max-height:50vh;overflow-y:auto}.page-header-actions{flex-wrap:wrap;gap:.35rem}}.avw-overlay{position:fixed;inset:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.avw-modal{background:var(--bg-secondary);border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:16px;width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--modal-shadow)}.avw-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08))}.avw-header h2{margin:0;font-size:1.1rem;font-weight:600}.avw-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.avw-close:hover{background:var(--glass-medium);color:var(--text-primary)}.avw-progress{display:flex;align-items:center;justify-content:center;padding:1rem 4rem .25rem;gap:0}.avw-step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;border:2px solid var(--border, rgba(255, 255, 255, .15));color:var(--text-secondary);transition:all .3s;flex-shrink:0}.avw-step-dot.active{border-color:var(--accent, #6366f1);color:var(--accent, #6366f1);background:var(--accent-glow)}.avw-step-dot.done{border-color:#22c55e;background:#22c55e;color:#fff}.avw-step-line{flex:1;height:2px;background:var(--border, rgba(255, 255, 255, .1));margin:0 4px;transition:background .3s;max-width:80px}.avw-step-line.active{background:#22c55e}.avw-progress-labels{display:flex;justify-content:space-between;padding:.25rem 3rem .75rem;font-size:.7rem;color:var(--text-secondary);text-align:center}.avw-body{padding:1.25rem 1.5rem;flex:1;overflow-y:auto}.avw-scroll{max-height:50vh}.avw-plate-entry label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.avw-plate-input-row{display:flex;gap:.75rem;align-items:stretch}.avw-plate-input-wrap{flex:1;display:flex;border-radius:8px;overflow:hidden;border:2px solid var(--border, rgba(255, 255, 255, .15));transition:border-color .2s}.avw-plate-input-wrap:focus-within{border-color:var(--accent, #6366f1)}.avw-plate-badge-strip{width:8px;background:var(--accent, #00d4ff);flex-shrink:0}.avw-plate-input{flex:1;padding:.75rem;background:var(--accent-glow);border:none;outline:none;font-size:1.4rem;font-weight:700;font-family:Orbitron,monospace;letter-spacing:2px;text-transform:uppercase;color:var(--text-primary)}.avw-plate-input::placeholder{color:var(--text-placeholder);font-weight:400}.avw-fetch-btn{display:flex;align-items:center;gap:6px;padding:0 1.25rem;background:var(--accent, #6366f1);color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.avw-fetch-btn:hover:not(:disabled){filter:brightness(1.15)}.avw-fetch-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes avw-spin{to{transform:rotate(360deg)}}.avw-spin{animation:avw-spin 1s linear infinite}.avw-not-found{margin-top:1rem;padding:1rem;background:#eab30814;border:1px solid rgba(234,179,8,.2);border-radius:10px;text-align:center}.avw-not-found p{margin:0 0 .75rem;font-size:.85rem;color:var(--text-secondary)}.avw-manual-btn{display:inline-flex;align-items:center;gap:6px;padding:.5rem 1rem;background:var(--glass-medium);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:all .2s}.avw-manual-btn:hover{background:var(--glass-hover)}.avw-dvla-badge{display:flex;align-items:center;gap:6px;padding:.5rem .75rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:8px;color:#22c55e;font-size:.8rem;margin-bottom:1rem}.avw-section{margin-bottom:1.25rem}.avw-section h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border, rgba(255, 255, 255, .06))}.avw-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.avw-field{display:flex;flex-direction:column;gap:2px;position:relative}.avw-field label{font-size:.7rem;color:var(--text-secondary)}.avw-field input,.avw-field select{padding:.45rem .6rem;background:var(--glass-light);border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-primary);font-size:.82rem;outline:none;transition:border-color .2s}.avw-field input:focus,.avw-field select:focus{border-color:var(--accent, #6366f1)}.avw-photo-section{margin-bottom:1.5rem}.avw-photo-section h4,.avw-mileage-section h4,.avw-summary h4{font-size:.85rem;margin:0 0 .75rem;color:var(--text-primary)}.avw-photo-area{width:100%;aspect-ratio:16/9;border:2px dashed var(--border, rgba(255, 255, 255, .15));border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:all .2s}.avw-photo-area:hover{border-color:var(--accent, #6366f1);background:var(--accent-glow)}.avw-photo-preview{width:100%;height:100%;object-fit:cover}.avw-photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary)}.avw-photo-placeholder span{font-size:.8rem}.avw-photo-actions{display:flex;gap:8px;margin-top:.5rem}.avw-photo-btn{display:inline-flex;align-items:center;gap:4px;padding:.4rem .75rem;background:var(--glass-medium);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.75rem;cursor:pointer;transition:all .2s}.avw-photo-btn:hover{background:var(--glass-hover)}.avw-photo-btn.danger{color:#ef4444;border-color:#ef44444d}.avw-mileage-section{margin-bottom:1.5rem}.avw-mileage-section .avw-field{flex-direction:row;align-items:center;gap:8px}.avw-mileage-input{flex:1;padding:.6rem .75rem!important;font-size:1.1rem!important;font-weight:600}.avw-mileage-unit{font-size:.85rem;color:var(--text-secondary)}.avw-summary{padding:1rem;background:var(--glass-subtle);border:1px solid var(--border);border-radius:10px}.avw-summary-plate{display:inline-block;padding:.4rem .75rem;background:#00d4ff1a;border:1px solid rgba(0,212,255,.2);color:var(--accent);font-family:Orbitron,monospace;font-weight:700;font-size:1rem;border-radius:4px;letter-spacing:1px;margin-bottom:.5rem}.avw-summary p{margin:.25rem 0 0;font-size:.82rem;color:var(--text-secondary)}.avw-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--border, rgba(255, 255, 255, .08))}.avw-footer-right{display:flex;gap:8px;margin-left:auto}.avw-save-btn{min-width:140px}@media(max-width:600px){.avw-modal{max-height:95vh;border-radius:12px}.avw-plate-input-row{flex-direction:column}.avw-fetch-btn{padding:.75rem;justify-content:center}.avw-grid{grid-template-columns:1fr}.avw-progress-labels{font-size:.6rem}}.vehicles-page{max-width:1200px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.toolbar-left{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;flex:1}.search-input{padding:.6rem 1rem;background:var(--input-bg);border:1px solid var(--border-hover);border-radius:8px;color:var(--text-primary);font-size:.85rem;min-width:250px;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #00d4ff1f}.search-input::placeholder{color:var(--text-muted)}.per-page-select{padding:.6rem .75rem;background:var(--input-bg);border:1px solid var(--border-hover);border-radius:8px;color:var(--text-primary);font-size:.85rem;cursor:pointer}.vehicle-identity{display:flex;flex-direction:column;gap:.2rem}.tag-id{font-size:.7rem;color:var(--text-muted);font-family:monospace}.clickable-row{cursor:pointer;transition:background .15s ease}.clickable-row:hover td{background:#00d4ff0a!important}.infinite-scroll-sentinel{padding:.75rem 1rem;text-align:center;min-height:40px}.infinite-scroll-loading{font-size:.8rem;color:var(--accent);padding:.5rem;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.infinite-scroll-count{font-size:.75rem;color:var(--text-muted)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.detail-item{display:flex;flex-direction:column;gap:.3rem}.detail-item label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.detail-item span{font-size:.9rem}.detail-item.full-width{grid-column:1 / -1}@media(max-width:768px){.data-table,.hide-mobile{display:none}.search-input{min-width:100%}.detail-grid{grid-template-columns:1fr}.quick-view-btn{display:none!important}}.quick-view-btn{opacity:.5;transition:opacity .15s ease,box-shadow .15s ease;white-space:nowrap;font-size:.75rem!important;padding:.3rem .65rem!important}.clickable-row:hover .quick-view-btn{opacity:1}.quick-view-btn:hover{opacity:1!important;box-shadow:0 0 12px var(--accent-glow);border-color:var(--accent)!important;color:var(--accent)!important}.diag-preview{position:relative}.diag-preview-banner{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--radius-lg);margin-bottom:.25rem;box-shadow:0 0 12px var(--accent-glow)}.diag-preview-icon{font-size:2rem;flex-shrink:0}.diag-preview-banner h3{margin:0 0 .2rem;color:var(--text-primary);font-size:.95rem;font-weight:700}.diag-preview-banner p{margin:0;font-size:.84rem;color:var(--text-secondary)}.diag-ghost{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.45}.diag-root{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.diag-loading,.diag-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.diag-empty-icon{font-size:2.5rem;margin-bottom:.5rem}.diag-empty h3{color:var(--text-primary);margin:.5rem 0}.diag-empty p{font-size:.9rem}.diag-no-data{color:var(--text-muted);font-size:.9rem;padding:.5rem 0}.diag-status-bar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.65rem 1.15rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:.85rem;color:var(--text-secondary);transition:border-color .2s}.diag-status-bar:hover{border-color:var(--border-hover)}.diag-status-pill{font-weight:600;padding:.2rem .7rem;border-radius:999px;font-size:.8rem}.diag-status-pill.online{background:#4ade801f;color:var(--success)}.diag-status-pill.offline{background:var(--glass-subtle);color:var(--text-muted)}.diag-status-item strong{color:var(--text-primary)}.diag-status-ts{margin-left:auto;font-size:.78rem}.diag-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;transition:border-color .2s,box-shadow .2s}.diag-section:hover{border-color:var(--border-hover)}.diag-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.diag-section-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;letter-spacing:.02em;display:flex;align-items:center;gap:.5rem}.diag-section-header .diag-section-title{margin-bottom:0}.diag-badge-count{background:var(--danger-bg);color:var(--danger);border-radius:999px;font-size:.72rem;padding:.1rem .5rem;font-weight:700}.diag-period{font-size:.75rem;font-weight:400;color:var(--text-muted)}.diag-gauges{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.diag-gauge{display:flex;flex-direction:column;gap:.3rem;padding:.75rem .85rem;background:var(--glass-subtle);border:1px solid var(--divider);border-radius:var(--radius);transition:border-color .2s,background .2s}.diag-gauge:hover{border-color:var(--border);background:var(--glass-light)}.diag-gauge-label{font-size:.7rem;font-weight:600;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.diag-gauge-value{font-size:1.15rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.diag-gauge-track{height:6px;background:var(--glass-medium);border-radius:3px;overflow:hidden}.diag-gauge-fill{height:100%;border-radius:3px;transition:width .5s ease}.bar-ok{background:linear-gradient(90deg,#4ade80,var(--success))}.bar-warn{background:linear-gradient(90deg,#fbbf24,var(--warning))}.bar-danger{background:linear-gradient(90deg,#f87171,var(--danger))}.diag-stale-banner{padding:.5rem .85rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-sm);font-size:.78rem;color:var(--warning);margin-bottom:.75rem}.diag-tacho{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;color:var(--text-secondary);padding:.85rem;background:var(--glass-subtle);border:1px solid var(--divider);border-radius:var(--radius)}.diag-tacho-header{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-primary)}.diag-tacho-src{font-size:.7rem;color:var(--text-muted);margin-left:auto;text-transform:uppercase;letter-spacing:.04em}.diag-tacho-driver{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem 0;border-top:1px solid var(--divider)}.diag-tacho-label{font-weight:500}.diag-tacho-state{font-weight:700;padding:.15rem .6rem;border-radius:4px;font-size:.75rem}.state-drive{background:var(--danger-bg);color:var(--danger)}.state-work{background:#fbbf2426;color:var(--warning)}.state-rest{background:#4ade801f;color:var(--success)}.state-available{background:var(--glass-subtle);color:var(--text-muted)}.diag-tacho-card{font-size:.75rem;padding:.1rem .5rem;border-radius:4px}.diag-tacho-card.card-in{background:#4ade8014;color:var(--success)}.diag-tacho-card.card-out{background:var(--glass-subtle);color:var(--text-muted)}.diag-tacho-time{font-size:.8rem;color:var(--text-secondary)}.diag-tacho-id{font-size:.72rem;font-family:monospace;color:var(--text-muted)}.diag-tacho-name{font-weight:600;color:var(--accent);font-size:.82rem}.diag-badge-warn{background:var(--danger-bg);color:var(--danger);font-size:.72rem;font-weight:700;padding:.1rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.diag-tacho-vehicle{display:flex;flex-wrap:wrap;gap:1rem;padding-top:.4rem;border-top:1px solid var(--divider);font-size:.82rem}.diag-tacho-stat strong{color:var(--text-primary)}.diag-section-badge{font-size:.67rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--accent-glow);color:var(--accent);border-radius:4px;padding:.1rem .45rem;margin-left:.35rem}.diag-obd-meta{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--divider);font-size:.83rem;color:var(--text-secondary)}.diag-obd-stat strong{color:var(--text-primary)}.diag-obd-dtc-warn{color:var(--warning)}.diag-dtc-list{display:flex;flex-direction:column;gap:.5rem}.diag-dtc-list-resolved{margin-top:.5rem;opacity:.5}.diag-dtc-empty{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.88rem;padding:.5rem 0}.diag-dtc-ok{color:var(--success);font-size:1.1rem}.diag-dtc-row{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--glass-subtle);transition:border-color .2s}.diag-dtc-row:hover{border-color:var(--border-hover)}.diag-dtc-row.sev-critical{border-left:3px solid var(--danger)}.diag-dtc-row.sev-warning{border-left:3px solid var(--warning)}.diag-dtc-row.sev-info{border-left:3px solid var(--accent)}.diag-dtc-row.resolved{border-left:3px solid var(--text-muted)}.diag-dtc-header{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;cursor:pointer;-webkit-user-select:none;user-select:none}.diag-dtc-header:hover{background:var(--hover-bg)}.diag-dtc-code{font-family:Courier New,monospace;font-size:.85rem;font-weight:700;color:var(--text-primary);min-width:60px}.diag-dtc-sev{font-size:.68rem;font-weight:700;padding:.1rem .45rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.dtc-sev-critical{background:var(--danger-bg);color:var(--danger)}.dtc-sev-warning{background:#f59e0b26;color:var(--warning)}.dtc-sev-info{background:var(--accent-glow);color:var(--accent)}.diag-dtc-desc{flex:1;font-size:.84rem;color:var(--text-secondary)}.diag-dtc-source{font-size:.72rem;color:var(--text-muted)}.diag-dtc-status{font-size:.72rem;color:var(--text-muted);text-transform:capitalize}.diag-dtc-chevron{font-size:.65rem;color:var(--text-muted)}.diag-dtc-detail{padding:.75rem .8rem .8rem;border-top:1px solid var(--divider);background:var(--glass-subtle)}.diag-dtc-long{font-size:.83rem;color:var(--text-secondary);margin:0 0 .5rem}.diag-dtc-causes{font-size:.82rem;color:var(--text-secondary);margin-bottom:.5rem}.diag-dtc-causes strong{color:var(--text-primary)}.diag-dtc-causes ul{margin:.25rem 0 0 1.25rem;padding:0}.diag-dtc-causes li{margin:.1rem 0}.diag-dtc-dates{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.diag-dtc-notes{font-size:.8rem;color:var(--text-secondary);margin:0 0 .5rem}.diag-dtc-actions{display:flex;gap:.5rem}.diag-add-dtc{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.diag-input{flex:1;min-width:140px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .7rem;color:var(--text-primary);font-size:.86rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.diag-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.diag-btn-primary{background:linear-gradient(135deg,var(--accent),var(--purple));color:#fff;border:none;border-radius:var(--radius-sm);padding:.45rem 1rem;font-size:.84rem;font-weight:600;cursor:pointer;transition:box-shadow .2s,transform .15s;font-family:inherit}.diag-btn-primary:hover:not(:disabled){box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.diag-btn-primary:disabled{opacity:.5;cursor:not-allowed}.diag-btn-add{background:var(--accent-glow);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:.35rem .8rem;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s;font-family:inherit}.diag-btn-add:hover{background:#00d4ff2e}.diag-btn-resolve{background:#4ade801a;color:var(--success);border:1px solid rgba(74,222,128,.2);border-radius:var(--radius-sm);padding:.3rem .7rem;font-size:.8rem;cursor:pointer;font-family:inherit;transition:background .15s}.diag-btn-resolve:hover{background:#4ade8033}.diag-btn-suppress{background:var(--glass-subtle);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.3rem .7rem;font-size:.8rem;cursor:pointer;font-family:inherit;transition:background .15s}.diag-btn-suppress:hover{background:var(--hover-bg)}.diag-btn-ghost{background:none;border:none;color:var(--text-muted);font-size:.82rem;cursor:pointer;padding:.3rem 0;text-decoration:underline;margin-top:.25rem;font-family:inherit}.diag-btn-ghost:hover{color:var(--text-secondary)}.diag-behaviour{display:flex;gap:1.5rem;flex-wrap:wrap}.diag-eco-score{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.diag-eco-ring{width:96px;height:96px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:5px solid;flex-shrink:0}.diag-eco-ring.eco-good{border-color:var(--success);background:#4ade800f}.diag-eco-ring.eco-mid{border-color:var(--warning);background:#f59e0b0f}.diag-eco-ring.eco-poor{border-color:var(--danger);background:var(--danger-bg)}.diag-eco-num{font-size:1.75rem;font-weight:800;color:var(--text-primary);line-height:1}.diag-eco-label{font-size:.55rem;letter-spacing:.1em;color:var(--text-muted);margin-top:2px}.diag-eco-events{display:flex;flex-direction:column;gap:.35rem}.diag-eco-total{font-size:.9rem;color:var(--text-secondary);font-weight:500}.diag-eco-row{display:flex;align-items:center;gap:.75rem;font-size:.84rem}.diag-eco-evt{color:var(--text-secondary);flex:1}.diag-eco-cnt{font-weight:600;color:var(--text-primary)}.diag-eco-clean{font-size:.85rem;color:var(--success)}.diag-history-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;transition:border-color .2s,box-shadow .2s}.diag-history-section:hover{border-color:var(--border-hover)}.diag-chart-container .recharts-wrapper{background:#fff;border-radius:var(--radius);border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 4px #0000000f}.diag-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.diag-history-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.diag-time-pills{display:flex;gap:.35rem}.diag-time-pill{padding:.3rem .75rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.diag-time-pill:hover{border-color:var(--border-hover);color:var(--text-primary)}.diag-time-pill.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent);font-weight:600}.diag-param-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.diag-param-chip{display:flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;border:1px solid;background:transparent;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:inherit}.diag-param-chip:hover{opacity:.85}.diag-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.diag-chip-unit{font-size:.65rem;opacity:.5;margin-left:.15rem}.diag-chart-container{min-height:200px;position:relative;margin-top:.5rem;border-radius:var(--radius);overflow:hidden}.diag-chart-loading,.diag-chart-error,.diag-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary);font-size:.9rem;text-align:center;gap:.75rem}.diag-chart-error{color:var(--danger)}.diag-spinner{width:28px;height:28px;border:3px solid var(--accent-glow);border-top-color:var(--accent);border-radius:50%;animation:diag-spin .7s linear infinite}@keyframes diag-spin{to{transform:rotate(360deg)}}.diag-chart-footer{margin-top:.5rem;font-size:.72rem;color:var(--text-muted);text-align:right}.diag-param-selector{margin-bottom:1rem}.diag-param-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;padding:0 .15rem}.diag-param-count{font-size:.75rem;color:var(--text-muted)}.diag-param-clear{font-size:.72rem;color:var(--danger);background:none;border:none;cursor:pointer;padding:.2rem .5rem;border-radius:var(--radius-sm);transition:background .2s;font-family:inherit}.diag-param-clear:hover{background:var(--danger-bg)}.diag-param-groups{display:flex;flex-direction:column;gap:.3rem}.diag-param-group{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}.diag-param-group.expanded{border-color:var(--accent)}.diag-group-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:var(--glass-subtle);border:none;color:var(--text-primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s;font-family:inherit}.diag-group-header:hover{background:var(--hover-bg)}.diag-group-icon{font-size:.9rem}.diag-group-label{flex:1;text-align:left}.diag-group-badge{background:var(--accent-glow);color:var(--accent);font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:999px;min-width:18px;text-align:center}.diag-group-chevron{font-size:.7rem;color:var(--text-muted)}.diag-group-body{padding:.5rem .75rem .65rem;border-top:1px solid var(--divider)}.diag-group-select-all{font-size:.7rem;color:var(--accent);background:none;border:none;cursor:pointer;padding:.15rem 0;margin-bottom:.4rem;transition:color .2s;font-family:inherit}.diag-group-select-all:hover{color:var(--text-primary)}.diag-raw-io-table{background:var(--glass-subtle);border-radius:var(--radius);padding:.75rem 1rem;font-family:monospace;font-size:.78rem;line-height:1.8;max-height:400px;overflow-y:auto}.diag-raw-io-table table{width:100%;border-collapse:collapse}.diag-raw-io-table th{text-align:left;padding:4px 12px 4px 0;color:var(--text-muted);border-bottom:1px solid var(--divider);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.diag-raw-io-table td{padding:3px 12px 3px 0;border-bottom:1px solid var(--divider)}.diag-raw-io-table td:first-child{color:var(--accent)}.diag-raw-io-table td:last-child{color:var(--text-primary)}.diag-raw-io-ts{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}@media(max-width:640px){.diag-gauges{grid-template-columns:1fr 1fr;gap:.5rem}.diag-gauge{padding:.6rem .7rem}.diag-gauge-value{font-size:1rem}.diag-status-bar{gap:.5rem;font-size:.8rem}.diag-status-ts{margin-left:0;width:100%;font-size:.72rem}.diag-tacho-driver,.diag-history-header{flex-direction:column;align-items:flex-start}.diag-param-chips{gap:.3rem}.diag-param-chip{font-size:.7rem;padding:.25rem .5rem}.diag-eco-score{flex-direction:column;align-items:flex-start}.diag-dtc-header{gap:.5rem;flex-wrap:wrap}.diag-dtc-desc{width:100%;order:10}}@media(max-width:420px){.diag-gauges{grid-template-columns:1fr}.diag-section{padding:1rem}}.diag-driver-history{display:flex;flex-direction:column;gap:.5rem}.diag-driver-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s,box-shadow .2s}.diag-driver-row:hover{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow, rgba(0,200,255,.15))}.diag-driver-info{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.diag-driver-name{font-weight:600;font-size:.92rem;color:var(--text-primary)}.diag-driver-unlinked{font-size:.75rem;color:#f5a623;background:#f5a6231f;padding:.15rem .45rem;border-radius:4px;font-weight:600}.diag-driver-badges{display:flex;gap:.3rem}.diag-src-badge{font-size:.68rem;font-weight:600;letter-spacing:.03em;padding:.12rem .4rem;border-radius:3px;text-transform:uppercase}.src-tacho{background:#00b4d826;color:#00b4d8}.src-rfid{background:#a855f726;color:#a855f7}.src-app{background:#22c55e26;color:#22c55e}.src-manual{background:#9ca3af26;color:#9ca3af}.src-log{background:#f9731626;color:#f97316}.src-default{background:#9ca3af1a;color:#6b7280}.diag-driver-stats{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.diag-driver-stat{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.diag-driver-ts{opacity:.7;font-size:.75rem}.records-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}.records-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.records-stat-card.highlight{border-color:#f97316;background:#f9731614}.records-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.records-stat-label{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.records-subnav{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.records-subnav button{all:unset;padding:.6rem 1rem;font-size:.85rem;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;display:flex;align-items:center;gap:.4rem}.records-subnav button:hover{color:var(--text-primary)}.records-subnav button.active{color:var(--text-primary);border-bottom-color:var(--accent)}.records-badge{display:inline-flex;align-items:center;justify-content:center;background:#f97316;color:var(--text-primary);font-size:.7rem;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px}.records-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.records-empty span{font-size:2.5rem;display:block;margin-bottom:.5rem}.records-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border)}.records-table{width:100%;border-collapse:collapse;font-size:.88rem}.records-table thead th{background:var(--bg-card);text-align:left;padding:.6rem .75rem;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.records-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.records-table tbody tr:hover{background:#58a6ff0d}.records-table tbody tr:last-child{border-bottom:none}.records-table td{padding:.6rem .75rem;vertical-align:middle}.clickable-row{cursor:pointer}.records-date{white-space:nowrap;color:var(--text-muted);font-size:.82rem}.records-type-chip{display:inline-flex;align-items:center;gap:.3rem;background:var(--input-bg);padding:.2rem .5rem;border-radius:4px;font-size:.8rem;text-transform:capitalize;white-space:nowrap}.records-desc{max-width:300px}.records-title{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-meta{font-size:.75rem;color:var(--text-muted);margin-left:.5rem}.records-upload-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap}.records-upload-bar select{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.35rem .5rem;font-size:.85rem}.records-docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.records-doc-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text-primary);transition:border-color .15s}.records-doc-card:hover{border-color:var(--accent)}.records-doc-icon{font-size:1.5rem}.records-doc-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.records-doc-name{font-weight:500;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-doc-category{font-size:.75rem;color:var(--text-muted)}.records-doc-date{font-size:.72rem;color:var(--text-muted)}.records-defects-list{display:flex;flex-direction:column;gap:.75rem}.records-defect-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid #ef4444;border-radius:8px;padding:.75rem 1rem;cursor:pointer;transition:border-color .15s}.records-defect-card:hover{border-color:var(--danger)}.records-defect-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.4rem;font-size:.8rem}.records-defect-date{color:var(--text-muted)}.records-defect-title{font-weight:600;font-size:.92rem;margin-bottom:.4rem}.records-defect-items{display:flex;flex-direction:column;gap:.2rem;font-size:.82rem}.records-defect-item{display:flex;align-items:center;gap:.5rem}.records-defect-item span:first-child{text-transform:capitalize}.records-defect-note{font-size:.78rem;color:var(--text-muted);font-style:italic}.records-defect-photos{margin-top:.4rem;font-size:.8rem;color:var(--accent)}.records-tickets-list{display:flex;flex-direction:column;gap:.5rem}@media(max-width:768px){.records-summary{grid-template-columns:repeat(2,1fr)}.records-subnav{overflow-x:auto}.records-subnav button{font-size:.78rem;padding:.5rem .6rem}.hide-mobile{display:none!important}.records-docs-grid{grid-template-columns:1fr}}.vdp{max-width:1100px;margin:0 auto;padding:1rem;animation:vdp-fadeIn .35s ease}@keyframes vdp-fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.vdp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}.vdp-header-left{display:flex;align-items:center;gap:.75rem}.vdp-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.vdp-back-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.vdp-title-row{display:flex;align-items:center;gap:.5rem}.vdp-plate{font-size:1.25rem;font-weight:800;letter-spacing:.04em;color:var(--text-primary);background:linear-gradient(135deg,var(--glass-medium),var(--glass-subtle));border:1px solid var(--border);border-radius:6px;padding:.15rem .65rem}.vdp-pill{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .5rem;border-radius:50px}.vdp-pill.green{background:#4ade801f;color:var(--success)}.vdp-pill.amber{background:#ffc1071f;color:var(--warning)}.vdp-pill.red{background:#ff6b6b1f;color:var(--danger)}.vdp-subtitle{font-size:.82rem;color:var(--text-muted);margin-top:.15rem}.vdp-vin{font-family:monospace;font-size:.75rem;opacity:.7}.vdp-save-btn{display:flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:8px;font-size:.82rem;font-weight:600;font-family:inherit;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:not-allowed;opacity:.5;transition:all .25s ease}.vdp-save-btn.dirty{opacity:1;cursor:pointer;background:linear-gradient(135deg,var(--accent),#7c3aed);border-color:transparent;color:var(--text-primary);box-shadow:0 0 20px #00d4ff33}.vdp-save-btn.dirty:hover{box-shadow:0 0 30px #00d4ff59;transform:translateY(-1px)}.vdp-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:1.25rem;gap:0}.vdp-tab{display:flex;align-items:center;gap:.4rem;padding:.7rem 1.1rem;font-size:.82rem;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease;font-family:inherit}.vdp-tab:hover{color:var(--text-primary)}.vdp-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.vdp-profile-layout{display:grid;grid-template-columns:260px 1fr;gap:1.25rem;animation:vdp-fadeIn .25s ease}.vdp-sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;height:fit-content;position:sticky;top:1rem}.vdp-sidebar-photo{width:100%;aspect-ratio:4 / 3;background:#0000004d;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);overflow:hidden}.vdp-sidebar-photo img{width:100%;height:100%;object-fit:cover}.vdp-photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:.4rem;color:var(--text-muted);opacity:.4;font-size:.75rem}.vdp-sidebar-info{padding:.75rem}.vdp-sidebar-row{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.8rem;color:var(--text-primary)}.vdp-sidebar-row:last-child{border-bottom:none}.vdp-sidebar-label{color:var(--text-muted);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.vdp-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.3rem;vertical-align:middle;border:1px solid var(--border)}.vdp-form-main{display:flex;flex-direction:column;gap:1.25rem}.vdp-form-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.vdp-form-section h3{display:flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:600;color:var(--text-primary);padding-bottom:.6rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.vdp-form-section h3 svg{color:var(--accent);opacity:.8}.vdp-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.vdp-field.span-2{grid-column:span 2}.vdp-field{display:flex;flex-direction:column}.vdp-field label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.3rem}.vdp-field input,.vdp-field select{width:100%;padding:.55rem .75rem;background:var(--glass-subtle);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.85rem;font-family:inherit;transition:all .2s ease}.vdp-field input:focus,.vdp-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--accent-glow)}.vdp-field input[type=number]::-webkit-inner-spin-button,.vdp-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vdp-field input[type=number]{-moz-appearance:textfield;appearance:textfield}.vdp-field input.mono{font-family:JetBrains Mono,Fira Code,monospace;letter-spacing:.04em;font-size:.82rem}.vdp-compliance{animation:vdp-fadeIn .25s ease}.vdp-overall-score{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem}.vdp-overall-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.82rem;color:var(--text-muted);font-weight:500}.vdp-score-value{font-size:1.5rem;font-weight:800}.vdp-score-value.green{color:var(--success)}.vdp-score-value.amber{color:var(--warning)}.vdp-score-value.red{color:var(--danger)}.vdp-progress-track{height:6px;background:var(--hover-bg);border-radius:100px;overflow:hidden}.vdp-progress-fill{height:100%;border-radius:100px;transition:width .8s ease}.vdp-progress-fill.green{background:linear-gradient(90deg,#22c55e,#4ade80)}.vdp-progress-fill.amber{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.vdp-progress-fill.red{background:linear-gradient(90deg,#ef4444,#f87171)}.vdp-progress-fill.grey{background:var(--glass-medium)}.vdp-compliance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-bottom:1rem}.vdp-rag-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem;transition:all .3s ease}.vdp-rag-card:hover{border-color:var(--border-hover)}.vdp-rag-card.red{border-color:#ef444440;animation:rag-pulse-red 2.5s ease-in-out infinite}@keyframes rag-pulse-red{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 18px #ef44441f}}.vdp-rag-card.amber{border-color:#f59e0b33}.vdp-rag-card.green{border-color:#22c55e26}.vdp-rag-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.65rem;color:var(--text-muted)}.vdp-rag-label{flex:1;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.vdp-rag-indicator.green{color:var(--success)}.vdp-rag-indicator.amber{color:var(--warning)}.vdp-rag-indicator.red{color:var(--danger)}.vdp-rag-indicator.grey{color:var(--text-muted)}.vdp-rag-status{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem}.vdp-rag-expiry{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.65rem}.vdp-rag-countdown{font-size:.72rem;font-weight:600;margin-top:.4rem;letter-spacing:.02em}.vdp-rag-countdown.green{color:var(--success)}.vdp-rag-countdown.amber{color:var(--warning)}.vdp-rag-countdown.red{color:var(--danger)}.vdp-rag-countdown.grey{color:var(--text-muted)}.vdp-dvla-bar{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:var(--radius);font-size:.78rem;background:#00d4ff0a;border:1px solid rgba(0,212,255,.1);color:var(--accent)}.vdp-audit{animation:vdp-fadeIn .25s ease}.vdp-audit-search{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;color:var(--text-muted)}.vdp-audit-search input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:.85rem;font-family:inherit}.vdp-timeline{position:relative;padding-left:2rem}.vdp-timeline:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--border)}.vdp-timeline-item{position:relative;margin-bottom:.85rem}.vdp-timeline-dot{position:absolute;left:-2rem;top:.85rem;width:12px;height:12px;border-radius:50%;border:2px solid var(--border);background:var(--bg-elevated);transform:translate(1.5px)}.vdp-timeline-item.create .vdp-timeline-dot{border-color:var(--success);background:#4ade8033}.vdp-timeline-item.update .vdp-timeline-dot{border-color:var(--accent);background:#00d4ff33}.vdp-timeline-item.delete .vdp-timeline-dot{border-color:var(--danger);background:#ff6b6b33}.vdp-timeline-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;transition:border-color .2s ease}.vdp-timeline-content:hover{border-color:var(--border-hover)}.vdp-timeline-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.vdp-timeline-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.vdp-audit-badge{font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:.15rem .45rem;border-radius:4px;text-transform:uppercase}.vdp-audit-badge.create{background:#4ade801f;color:var(--success)}.vdp-audit-badge.update{background:var(--accent-glow);color:var(--accent)}.vdp-audit-badge.delete{background:#ff6b6b1f;color:var(--danger)}.vdp-timeline-user{font-size:.82rem;font-weight:500;color:var(--text-primary)}.vdp-timeline-time{font-size:.72rem;color:var(--text-muted);cursor:help}.vdp-timeline-expand{color:var(--text-muted);transition:color .2s}.vdp-timeline-expand:hover{color:var(--accent)}.vdp-timeline-detail{font-size:.8rem;color:var(--text-muted);margin-top:.3rem;line-height:1.4}.vdp-diff-view{margin-top:.65rem;padding:.6rem .75rem;background:var(--glass-light);border-radius:var(--radius);border:1px solid var(--divider);animation:vdp-fadeIn .2s ease}.vdp-diff-row{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.78rem;border-bottom:1px solid var(--border)}.vdp-diff-row:last-child{border-bottom:none}.vdp-diff-field{font-weight:600;color:var(--text-muted);min-width:100px;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.vdp-diff-old{color:var(--danger);text-decoration:line-through;opacity:.7;font-family:monospace;font-size:.78rem}.vdp-diff-arrow{color:var(--text-muted);font-size:.7rem}.vdp-diff-new{color:var(--success);font-weight:500;font-family:monospace;font-size:.78rem}.vdp-audit-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;text-align:center;color:var(--text-muted);opacity:.5}.vdp-audit-empty p{font-size:.85rem}.vdp-skeleton{padding-top:1rem}.vdp-skel-header,.vdp-skel-tabs,.vdp-skel-card,.vdp-skel-form{border-radius:var(--radius);background:linear-gradient(90deg,var(--glass-subtle) 25%,var(--glass-light) 50%,var(--glass-subtle) 75%);background-size:400% 100%;animation:skel-shimmer 1.8s ease infinite}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.vdp-skel-header{height:50px;margin-bottom:1rem}.vdp-skel-tabs{height:40px;margin-bottom:1rem}.vdp-skel-body{display:grid;grid-template-columns:260px 1fr;gap:1rem}.vdp-skel-card{height:300px}.vdp-skel-form{height:400px}.vdp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:4rem 2rem;text-align:center;color:var(--text-muted)}.vdp-empty-state h2{color:var(--text-primary);font-size:1.2rem}.vdp-empty-state p{font-size:.88rem}.vdp-sticky-save{display:none}@media(max-width:768px){.vdp{padding:.75rem;max-width:100%}.vdp-profile-layout{grid-template-columns:1fr}.vdp-sidebar{position:static}.vdp-sidebar-photo{aspect-ratio:16 / 6;max-height:140px}.vdp-field-grid{grid-template-columns:1fr}.vdp-field.span-2{grid-column:span 1}.vdp-compliance-grid{grid-template-columns:1fr}.vdp-header{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.vdp-save-btn{display:none}.vdp-sticky-save{display:block;position:fixed;bottom:0;left:0;right:0;padding:.75rem 1rem;background:var(--bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:100}.vdp-sticky-save .vdp-save-btn{display:flex;width:100%;justify-content:center}.vdp-skel-body{grid-template-columns:1fr}.vdp-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:0;margin-bottom:.75rem;scrollbar-width:none;-ms-overflow-style:none}.vdp-tabs::-webkit-scrollbar{display:none}.vdp-tab{padding:.5rem .65rem;font-size:.72rem;white-space:nowrap;flex-shrink:0}.vdp-form-section{padding:.85rem}.vdp-form-section h3{font-size:.82rem;margin-bottom:.65rem}.vdp-timeline{padding-left:1.5rem}.vdp-timeline-dot{left:-1.5rem}.vdp-sidebar-info{padding:.5rem .75rem}.vdp-sidebar-row{padding:.35rem 0;font-size:.75rem}}@media(max-width:480px){.vdp-plate{font-size:1rem}.vdp-rag-status{font-size:1.1rem}.vdp-diff-row{flex-wrap:wrap}.vdp-sidebar-photo{aspect-ratio:16 / 5;max-height:100px}.vdp-tab{padding:.45rem .5rem;font-size:.68rem}}.vdp-dvla-section{border-color:#00d4ff26!important}.vdp-dvla-header-row{display:flex;align-items:center;justify-content:space-between}.vdp-dvla-header-row h3{border-bottom:none!important;padding-bottom:0!important;margin-bottom:0!important}.vdp-dvla-check-btn{display:flex;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.78rem;font-weight:600;font-family:inherit;border-radius:6px;border:1px solid rgba(0,212,255,.25);background:#00d4ff0f;color:var(--accent);cursor:pointer;transition:all .2s ease}.vdp-dvla-check-btn:hover{background:var(--accent-glow);border-color:#00d4ff66}.vdp-dvla-check-btn:disabled{opacity:.5;cursor:not-allowed}.vdp-dvla-panel{margin-top:1rem;animation:vdp-fadeIn .25s ease}.vdp-dvla-meta{font-size:.72rem;color:var(--text-muted);margin-bottom:.65rem}.vdp-dvla-compare{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.vdp-dvla-row{display:grid;grid-template-columns:32px 1fr 1fr 1fr;align-items:center;padding:.5rem .65rem;font-size:.8rem;border-bottom:1px solid var(--border);cursor:default;transition:background .15s ease}.vdp-dvla-row:last-child{border-bottom:none}.vdp-dvla-row.different{cursor:pointer}.vdp-dvla-row.different:hover{background:#00d4ff0a}.vdp-dvla-row.selected{background:#00d4ff0f}.vdp-dvla-row.match{opacity:.55}.vdp-dvla-row-header{background:var(--bg-card);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.4rem .65rem}.vdp-dvla-col-check{display:flex;align-items:center;justify-content:center}.vdp-dvla-checkbox{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.vdp-dvla-checkbox.checked{background:var(--accent);border-color:var(--accent);color:var(--text-primary)}.vdp-dvla-col-label{display:flex;flex-direction:column;gap:.1rem}.vdp-dvla-field-name{font-weight:500;color:var(--text-primary)}.vdp-dvla-cat{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.vdp-dvla-cat.compliance{color:var(--warning);opacity:.8}.vdp-dvla-cat.identity{color:var(--accent);opacity:.8}.vdp-dvla-cat.specs{color:var(--success);opacity:.8}.vdp-dvla-col-current{color:var(--text-primary);font-family:monospace;font-size:.78rem}.vdp-dvla-col-current.stale{color:var(--danger);text-decoration:line-through;opacity:.6}.vdp-dvla-col-dvla{color:var(--text-primary);font-family:monospace;font-size:.78rem}.vdp-dvla-col-dvla.fresh{color:var(--success);font-weight:600}.vdp-dvla-empty{color:var(--text-muted);opacity:.4}.vdp-dvla-actions{display:flex;gap:.5rem;margin-top:.75rem;justify-content:flex-end}.vdp-dvla-apply-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;font-family:inherit;border-radius:6px;border:none;background:linear-gradient(135deg,var(--success),#16a34a);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.vdp-dvla-apply-btn:hover{box-shadow:0 0 20px #22c55e40;transform:translateY(-1px)}.vdp-dvla-cancel-btn{display:flex;align-items:center;gap:.3rem;padding:.5rem .85rem;font-size:.8rem;font-weight:500;font-family:inherit;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.vdp-dvla-cancel-btn:hover{border-color:var(--danger);color:var(--danger)}.vdp-telematics{display:flex;flex-direction:column;gap:1.5rem}.vdp-form-actions{display:flex;justify-content:flex-end;padding-top:.5rem}.vdp-gps-status{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border)}.vdp-gps-status h4{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:.75rem}.vdp-gps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.vdp-gps-card{display:flex;flex-direction:column;gap:.25rem;padding:.65rem .8rem;background:var(--glass-light);border:1px solid var(--border);border-radius:8px}.vdp-gps-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.vdp-gps-value{font-size:.9rem;font-weight:600;color:var(--text)}.vdp-gps-value.mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;letter-spacing:.03em}.vdp-gps-value.gps-on{color:var(--success)}.vdp-gps-value.gps-off{color:var(--text-muted)}.vdp-dialog-backdrop{position:fixed;inset:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.vdp-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;padding:1.5rem;width:min(420px,92vw);box-shadow:var(--modal-shadow);animation:slideUp .2s ease}.vdp-dialog-header{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem;margin-bottom:.75rem;color:var(--text-primary)}.vdp-dialog-icon.warn{color:var(--warning)}.vdp-dialog-msg{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.vdp-dialog-values{background:var(--glass-light);border-radius:8px;padding:.75rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem}.vdp-dialog-row{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.vdp-dialog-label{width:70px;color:var(--text-muted);font-size:.78rem;flex-shrink:0}.vdp-dialog-code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.88rem;padding:.2rem .5rem;border-radius:4px;letter-spacing:.05em}.vdp-dialog-code.stale{background:#ef444426;color:var(--danger);text-decoration:line-through}.vdp-dialog-code.fresh{background:#22c55e26;color:var(--success)}.vdp-dialog-actions{display:flex;gap:.75rem;flex-wrap:wrap}.vdp-dialog-actions .btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .15s;flex:1;justify-content:center}.vdp-dialog-actions .btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:var(--text-primary)}.vdp-dialog-actions .btn-primary:hover:not(:disabled){opacity:.9}.vdp-dialog-actions .btn-primary:disabled{opacity:.4;cursor:not-allowed}.vdp-dialog-actions .btn-ghost{background:var(--glass-medium);color:var(--text-secondary);border:1px solid var(--border)}.vdp-dialog-actions .btn-ghost:hover{background:var(--glass-strong)}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.vdp-colour-wrap{display:flex;align-items:center;gap:.4rem;width:100%}.vdp-colour-swatch{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;transition:background .2s}.vdp-colour-wrap input{flex:1;min-width:0}.vdp-colour-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--select-bg);border:1px solid var(--border-hover);border-radius:10px;box-shadow:var(--card-shadow);max-height:220px;overflow-y:auto;z-index:500;animation:fadeIn .12s ease}.vdp-colour-option{display:flex;align-items:center;gap:.6rem;padding:.45rem .75rem;cursor:pointer;font-size:.875rem;color:var(--text-primary);transition:background .1s}.vdp-colour-option:hover{background:var(--glass-medium)}.vdp-colour-dot{width:16px;height:16px;border-radius:50%;border:1px solid var(--border);flex-shrink:0}.vdp-field select option{background:var(--bg-card);color:var(--text-primary)}.aaw-overlay{position:fixed;inset:0;background:var(--overlay-bg, rgba(0, 0, 0, .5));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.aaw-modal{background:var(--bg-secondary);border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:16px;width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 30px #00000080}.aaw-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08))}.aaw-header h2{margin:0;font-size:1.1rem;font-weight:600}.aaw-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.aaw-close:hover{background:var(--glass-medium);color:var(--text-primary)}.aaw-progress{display:flex;align-items:center;justify-content:center;padding:1rem 4rem .25rem;gap:0}.aaw-step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;border:2px solid var(--border, rgba(255, 255, 255, .15));color:var(--text-secondary);transition:all .3s;flex-shrink:0}.aaw-step-dot.active{border-color:var(--accent, #6366f1);color:var(--accent, #6366f1);background:var(--accent-glow)}.aaw-step-dot.done{border-color:#22c55e;background:#22c55e;color:#fff}.aaw-step-line{flex:1;height:2px;background:var(--border, rgba(255, 255, 255, .1));margin:0 4px;transition:background .3s;max-width:80px}.aaw-step-line.active{background:#22c55e}.aaw-progress-labels{display:flex;justify-content:space-between;padding:.25rem 3rem .75rem;font-size:.7rem;color:var(--text-secondary);text-align:center}.aaw-body{padding:1.25rem 1.5rem;flex:1;overflow-y:auto}.aaw-scroll{max-height:50vh}.aaw-section{margin-bottom:1.25rem}.aaw-section h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border, rgba(255, 255, 255, .06))}.aaw-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.aaw-field{display:flex;flex-direction:column;gap:2px;position:relative;margin-bottom:.25rem}.aaw-field label{font-size:.7rem;color:var(--text-secondary);margin-bottom:2px}.aaw-photo-section{margin-bottom:1.5rem}.aaw-photo-section h4{font-size:.85rem;margin:0 0 .75rem;color:var(--text-primary)}.aaw-photo-area{width:100%;aspect-ratio:16/9;background:var(--glass-light);border:2px dashed var(--border, rgba(255, 255, 255, .15));border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:all .2s}.aaw-photo-area:hover{border-color:var(--accent, #6366f1);background:var(--accent-glow)}.aaw-photo-preview{width:100%;height:100%;object-fit:cover}.aaw-photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary)}.aaw-photo-placeholder span{font-size:.8rem}.aaw-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--border, rgba(255, 255, 255, .08))}@media(max-width:600px){.aaw-grid{grid-template-columns:1fr}}.inspections-page{max-width:1280px;margin:0 auto;padding:0 .5rem}.insp-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.insp-title-row{display:flex;align-items:center;gap:.6rem}.insp-title-icon{color:var(--accent, #0ea5e9)}.insp-title-row h1{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0}.insp-badge-eb{font-size:.6rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:12px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#facc15;border:1px solid rgba(250,204,21,.3)}.insp-subtitle{font-size:.82rem;color:var(--text-secondary);margin-top:.25rem}.insp-header-actions{display:flex;gap:.5rem;align-items:center}.btn-insp-primary{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;font-size:.78rem;font-weight:700;border:none;border-radius:8px;background:var(--accent, #0ea5e9);color:#fff;cursor:pointer;transition:all .2s}.btn-insp-primary:hover{background:color-mix(in srgb,var(--accent, #0ea5e9) 85%,black);transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e940}.btn-insp-secondary{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.78rem;font-weight:600;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-insp-secondary:hover{border-color:var(--accent, #0ea5e9);color:var(--accent, #0ea5e9)}.btn-insp-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;transition:color .2s}.btn-insp-close:hover{color:var(--text-primary)}.btn-action-sm{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .5rem;font-size:.72rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-action-sm:hover{border-color:var(--accent, #0ea5e9);color:var(--accent, #0ea5e9)}.insp-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem}.insp-stat{padding:1rem;border-radius:12px;background:var(--bg-card);border:1px solid var(--border);text-align:center;transition:border-color .2s}.insp-stat:hover{border-color:var(--accent, #0ea5e9)}.insp-stat-value{font-size:1.75rem;font-weight:800;color:var(--text-primary);line-height:1}.insp-stat-out{color:#0ea5e9!important}.insp-stat-in{color:#8b5cf6!important}.insp-stat-damage{color:#f59e0b!important}.insp-stat-label{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;margin-top:.25rem}.insp-templates-strip{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);margin-bottom:.75rem;flex-wrap:wrap}.insp-templates-label{font-size:.7rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px}.insp-template-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:20px;background:#0ea5e91a;border:1px solid rgba(14,165,233,.2);font-size:.72rem;font-weight:600;color:var(--accent, #0ea5e9)}.insp-template-count{font-size:.6rem;color:var(--text-secondary);font-weight:500}.insp-filter-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.insp-filter-group{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-secondary)}.insp-filter-select{padding:.35rem .65rem;font-size:.78rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);cursor:pointer}.insp-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:3rem;color:var(--text-secondary);font-size:.85rem}.insp-spinner{animation:spin 1s linear infinite}.insp-empty{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.insp-empty-icon{opacity:.3;margin-bottom:.75rem}.insp-empty h3{color:var(--text-primary);margin-bottom:.35rem}.insp-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--border);background:var(--bg-card)}.insp-table{width:100%;border-collapse:collapse;font-size:.82rem}.insp-table thead th{padding:.65rem .85rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.insp-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.insp-table tbody tr:hover{background:#0ea5e90a}.insp-table tbody tr:last-child{border-bottom:none}.insp-table tbody td{padding:.6rem .85rem;vertical-align:middle;white-space:nowrap}.insp-row-damage{background:#f59e0b0a!important}.insp-ref{font-family:Courier New,monospace;font-weight:700;color:var(--accent, #0ea5e9);cursor:pointer}.insp-ref:hover{text-decoration:underline}.insp-date{font-size:.75rem;color:var(--text-secondary)}.insp-actions{display:flex;gap:.35rem}.insp-phase-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.65rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.insp-phase-badge.checkout{background:#0ea5e926;color:#0ea5e9;border:1px solid rgba(14,165,233,.3)}.insp-phase-badge.return{background:#8b5cf626;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.insp-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;font-size:.68rem;font-weight:700}.chip-good{background:#22c55e26;color:#22c55e}.chip-fair{background:#f59e0b26;color:#f59e0b}.chip-poor{background:#ef444426;color:#ef4444}.chip-na{background:#94a3b826;color:#94a3b8}.insp-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.insp-modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:16px;width:100%;max-width:900px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.insp-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.insp-modal-header h2{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.insp-modal-actions{display:flex;gap:.5rem;align-items:center}.insp-modal-body{overflow-y:auto;padding:1.25rem;flex:1}.insp-detail-panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin-bottom:1.25rem}.insp-detail-panel{padding:.6rem .75rem;border-radius:8px;background:var(--bg-card);border:1px solid var(--border)}.insp-detail-panel-title{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);margin-bottom:.2rem}.insp-detail-field{font-size:.88rem;font-weight:600;color:var(--text-primary)}.insp-deltas-section{margin-bottom:1.25rem}.insp-section-title{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:700;color:var(--text-primary);margin-bottom:.65rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}.insp-delta-card{padding:.75rem;border-radius:8px;border:1.5px solid #f59e0b;background:#f59e0b0f;margin-bottom:.5rem}.insp-delta-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.insp-delta-item{font-weight:700;font-size:.82rem;color:var(--text-primary)}.insp-severity-badge{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:10px}.severity-minor{background:#f59e0b26;color:#f59e0b}.severity-major{background:#f9731626;color:#f97316}.severity-critical{background:#ef444426;color:#ef4444}.insp-delta-comparison{display:flex;align-items:center;gap:.5rem;margin:.3rem 0}.insp-delta-arrow{color:#f59e0b}.insp-delta-section{font-size:.7rem;color:var(--text-secondary);font-weight:600}.insp-delta-notes{font-size:.72rem;color:var(--text-secondary);margin-top:.2rem;font-style:italic}.insp-results-table-wrap{overflow-x:auto;margin-bottom:1.25rem;border-radius:8px;border:1px solid var(--border)}.insp-results-table{width:100%;border-collapse:collapse;font-size:.78rem}.insp-results-table thead th{padding:.5rem .65rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border);text-align:left;background:var(--bg-card)}.insp-results-table tbody td{padding:.4rem .65rem;border-bottom:1px solid var(--border);vertical-align:middle}.insp-results-table tbody tr:last-child td{border-bottom:none}.insp-results-section{font-weight:700;color:var(--accent, #0ea5e9);font-size:.72rem}.insp-results-notes{font-size:.72rem;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis}.insp-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.65rem;margin-bottom:1rem}.insp-photo-card{border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg-card)}.insp-photo-card img{width:100%;height:120px;object-fit:cover;display:block}.insp-photo-meta{padding:.35rem .5rem;font-size:.68rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:.1rem}.insp-photo-time{font-size:.6rem;font-family:monospace}.insp-linked-banner{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;border-radius:8px;background:var(--bg-card);border:1px solid var(--border);font-size:.78rem;color:var(--text-secondary);margin-top:1rem}.insp-preview-modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:16px;width:100%;max-width:860px;height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006;overflow:hidden}.insp-preview-frame{flex:1;background:#fff;border-radius:0 0 16px 16px}.insp-verified-footer{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.1rem;margin-top:2rem;border-radius:10px;background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid rgba(250,204,21,.2)}.insp-verified-bolt{color:#facc15;flex-shrink:0}.insp-verified-text{font-size:.78rem;font-weight:700;color:#f8fafc;letter-spacing:.3px}.insp-verified-sub{font-size:.62rem;color:#94a3b8;margin-top:1px}@media(max-width:768px){.insp-stats-bar{grid-template-columns:repeat(2,1fr)}.insp-header{flex-direction:column}.insp-modal{max-width:100%;max-height:95vh;border-radius:12px 12px 0 0}.insp-detail-panels{grid-template-columns:repeat(2,1fr)}}.tb-page{max-width:1440px;margin:0 auto;padding:0 .5rem}.tb-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.tb-title-row{display:flex;align-items:center;gap:.6rem}.tb-title-icon{color:var(--accent, #0ea5e9)}.tb-title-row h1{font-size:1.4rem;font-weight:800;color:var(--text-primary);margin:0}.tb-badge-eb{font-size:.55rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:2px 8px;border-radius:10px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#facc15;border:1px solid rgba(250,204,21,.3)}.tb-subtitle{font-size:.78rem;color:var(--text-secondary);margin-top:.2rem}.tb-header-actions{display:flex;gap:.5rem;align-items:center}.btn-tb-primary{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;font-size:.78rem;font-weight:700;border:none;border-radius:8px;background:var(--accent, #0ea5e9);color:#fff;cursor:pointer;transition:all .2s}.btn-tb-primary:hover{background:color-mix(in srgb,var(--accent, #0ea5e9) 85%,black);transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e940}.btn-tb-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-tb-secondary{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.78rem;font-weight:600;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-tb-secondary:hover{border-color:var(--accent, #0ea5e9);color:var(--accent, #0ea5e9)}.btn-tb-sm{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:.7rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s;padding:0}.btn-tb-sm:hover{border-color:var(--accent, #0ea5e9);color:var(--accent, #0ea5e9)}.btn-tb-sm:disabled{opacity:.3;cursor:not-allowed}.btn-tb-danger:hover{border-color:#ef4444!important;color:#ef4444!important}.btn-tb-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-tb-icon:hover{border-color:var(--accent, #0ea5e9);color:var(--accent, #0ea5e9)}.btn-tb-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s;opacity:.4}.btn-tb-toggle.active{opacity:1;background:#0ea5e91a;border-color:var(--accent, #0ea5e9);color:var(--accent, #0ea5e9)}.btn-tb-toggle.active.critical{background:#ef44441a;border-color:#ef4444;color:#ef4444}.tb-workspace{display:grid;grid-template-columns:240px 1fr;gap:.75rem;min-height:calc(100vh - 180px)}.tb-sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:.75rem;overflow-y:auto;max-height:calc(100vh - 200px)}.tb-sidebar-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);margin-bottom:.65rem}.tb-loading{display:flex;justify-content:center;padding:2rem;color:var(--text-secondary)}.tb-spinner{animation:tb-spin 1s linear infinite}@keyframes tb-spin{to{transform:rotate(360deg)}}.tb-empty-sidebar{text-align:center;padding:1.5rem .5rem;color:var(--text-secondary);font-size:.78rem}.tb-template-list{display:flex;flex-direction:column;gap:.4rem}.tb-template-card{padding:.6rem .7rem;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .15s}.tb-template-card:hover{background:#0ea5e90d;border-color:var(--border)}.tb-template-card.active{background:#0ea5e914;border-color:var(--accent, #0ea5e9)}.tb-template-name{font-size:.82rem;font-weight:700;color:var(--text-primary)}.tb-template-meta{font-size:.68rem;color:var(--text-secondary);margin-top:.15rem;display:flex;gap:.35rem}.tb-template-status{margin-top:.2rem}.tb-status-active{display:inline-flex;align-items:center;gap:3px;font-size:.6rem;font-weight:700;color:#22c55e}.tb-status-inactive{display:inline-flex;align-items:center;gap:3px;font-size:.6rem;font-weight:700;color:#94a3b8}.tb-builder{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;overflow-y:auto;max-height:calc(100vh - 200px)}.tb-builder-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);gap:.5rem}.tb-builder-empty h3{color:var(--text-primary);margin:0}.tb-builder-empty p{font-size:.82rem}.tb-meta-bar{display:grid;grid-template-columns:1fr 1fr auto;gap:.65rem;margin-bottom:.75rem}.tb-meta-field label{display:block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);margin-bottom:.2rem}.tb-input{width:100%;padding:.4rem .6rem;font-size:.8rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .15s}.tb-input:focus{outline:none;border-color:var(--accent, #0ea5e9)}.tb-select{width:100%;padding:.4rem .6rem;font-size:.8rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.tb-stats-strip{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:8px;background:var(--bg-primary);border:1px solid var(--border);font-size:.72rem;color:var(--text-secondary);margin-bottom:.75rem}.tb-stat-critical{color:#ef4444;display:inline-flex;align-items:center;gap:3px}.tb-stat-photo{color:var(--accent, #0ea5e9);display:inline-flex;align-items:center;gap:3px}.tb-stats-actions{margin-left:auto;display:flex;gap:.35rem}.tb-assign-panel{padding:.85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary);margin-bottom:.75rem}.tb-assign-panel h3{font-size:.78rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.35rem;margin:0 0 .5rem}.tb-assign-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tb-assign-col h4{font-size:.7rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.tb-assign-hint{font-size:.65rem;color:var(--text-secondary);margin:0 0 .4rem}.tb-assign-item{display:flex;align-items:center;gap:.4rem;padding:.3rem 0;font-size:.78rem;color:var(--text-primary);cursor:pointer}.tb-assign-item input[type=checkbox]{accent-color:var(--accent, #0ea5e9)}.tb-assign-empty{font-size:.72rem;color:var(--text-secondary);font-style:italic}.tb-asset-id{font-size:.65rem;color:var(--text-secondary);font-family:monospace}.tb-asset-search{margin-bottom:.4rem}.tb-assign-asset-list{max-height:180px;overflow-y:auto}.tb-preview-panel{padding:.85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary);margin-bottom:.75rem}.tb-preview-panel h3{font-size:.78rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.35rem;margin:0 0 .5rem}.tb-preview-form{max-height:300px;overflow-y:auto}.tb-preview-section{margin-bottom:.6rem}.tb-preview-section-title{font-size:.72rem;font-weight:700;color:var(--accent, #0ea5e9);padding-bottom:.25rem;border-bottom:1px solid var(--border);margin-bottom:.3rem}.tb-preview-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .4rem;font-size:.75rem;border-radius:4px}.tb-preview-item:hover{background:#0ea5e90a}.tb-preview-label{flex:1;color:var(--text-primary);display:flex;align-items:center;gap:.3rem}.tb-preview-critical{color:#ef4444}.tb-preview-type{font-size:.65rem;font-weight:700;color:var(--text-secondary);padding:1px 6px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border)}.tb-preview-photo{color:var(--accent, #0ea5e9)}.tb-sections{flex:1}.tb-section{border:1px solid var(--border);border-radius:10px;margin-bottom:.6rem;overflow:hidden}.tb-section-header{display:flex;justify-content:space-between;align-items:center;padding:.55rem .75rem;background:var(--bg-primary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.tb-section-header:hover{background:#0ea5e90a}.tb-section-left{display:flex;align-items:center;gap:.4rem;flex:1;color:var(--text-secondary)}.tb-section-name-input{font-size:.82rem;font-weight:700;color:var(--text-primary);border:none;background:transparent;padding:.15rem .35rem;border-radius:4px;flex:1;min-width:100px}.tb-section-name-input:focus{outline:none;background:var(--bg-card);border:1px solid var(--accent, #0ea5e9)}.tb-section-count{font-size:.65rem;color:var(--text-secondary);font-weight:600}.tb-section-actions{display:flex;gap:.25rem}.tb-items{padding:.35rem .5rem .5rem}.tb-item{display:flex;align-items:center;gap:.35rem;padding:.35rem .4rem;border-radius:6px;margin-bottom:.25rem;transition:background .15s;border:1px solid transparent}.tb-item:hover{background:#0ea5e908}.tb-item-critical{border-color:#ef444426!important;background:#ef444408}.tb-item-grip{color:var(--text-secondary);opacity:.3;cursor:grab;flex-shrink:0}.tb-item-label{flex:1;font-size:.8rem;border:1px solid transparent;border-radius:4px;padding:.25rem .4rem;background:transparent;color:var(--text-primary);min-width:0}.tb-item-label:focus{outline:none;border-color:var(--accent, #0ea5e9);background:var(--bg-primary)}.tb-item-label::placeholder{color:var(--text-secondary);opacity:.5}.tb-item-type{width:65px;font-size:.68rem;padding:.2rem .3rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;flex-shrink:0}.btn-tb-add-item{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.72rem;font-weight:600;border:1px dashed var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;margin-top:.25rem}.btn-tb-add-item:hover{border-color:var(--accent, #0ea5e9);color:var(--accent, #0ea5e9);background:#0ea5e90a}.btn-tb-add-section{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.55rem;font-size:.78rem;font-weight:600;border:1.5px dashed var(--border);border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-tb-add-section:hover{border-color:var(--accent, #0ea5e9);color:var(--accent, #0ea5e9);background:#0ea5e90a}.tb-save-bar{display:flex;justify-content:space-between;align-items:center;padding:.65rem 0;margin-top:.5rem;border-top:1px solid var(--border)}.tb-unsaved{font-size:.72rem;font-weight:600;color:#f59e0b}.tb-saved{font-size:.72rem;font-weight:600;color:#22c55e}.btn-tb-save{padding:.5rem 1.5rem;font-size:.82rem}.btn-tb-icon-active{background:#0ea5e91a!important;border-color:var(--accent, #0ea5e9)!important;color:var(--accent, #0ea5e9)!important}.tb-help-panel{padding:.85rem;border-radius:8px;border:1px solid rgba(14,165,233,.2);background:linear-gradient(135deg,#0ea5e908,#8b5cf608);margin-bottom:.75rem}.tb-help-panel h3{font-size:.78rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.35rem;margin:0 0 .65rem}.tb-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.tb-help-col h4{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);margin:0 0 .4rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.tb-help-item{display:flex;gap:.5rem;margin-bottom:.55rem;align-items:flex-start}.tb-help-item strong{font-size:.75rem;color:var(--text-primary);display:block}.tb-help-item p{font-size:.68rem;color:var(--text-secondary);margin:.1rem 0 0;line-height:1.35}.tb-help-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:3px 8px;border-radius:6px;font-size:.6rem;font-weight:800;letter-spacing:.5px;margin-top:2px}.tb-help-gfp{background:linear-gradient(135deg,#22c55e26,#f59e0b26);color:#22c55e;border:1px solid rgba(34,197,94,.25)}.tb-help-yn{background:#0ea5e91a;color:#0ea5e9;border:1px solid rgba(14,165,233,.25)}.tb-help-pf{background:#8b5cf61a;color:#8b5cf6;border:1px solid rgba(139,92,246,.25)}.tb-help-text{background:#94a3b81a;color:#94a3b8;border:1px solid rgba(148,163,184,.25)}.tb-help-dual{background:#0ea5e91a;color:#0ea5e9;border:1px solid rgba(14,165,233,.25)}.tb-help-single{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.tb-help-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;margin-top:2px}.tb-help-icon-camera{background:#0ea5e91a;color:#0ea5e9;border:1px solid rgba(14,165,233,.25)}.tb-help-icon-critical{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.25)}@media(max-width:900px){.tb-workspace{grid-template-columns:1fr}.tb-sidebar{max-height:200px}.tb-meta-bar,.tb-assign-grid{grid-template-columns:1fr}}.logs-page{max-width:1200px}.date-input{padding:.6rem .75rem;background:var(--input-bg);border:1px solid var(--border-hover);border-radius:8px;color:var(--text-primary);font-size:.85rem;color-scheme:dark}.date-input:focus{outline:none;border-color:var(--accent)}.cell-mono{font-family:Inter,monospace;font-size:.8rem;color:var(--text-secondary);white-space:nowrap}@media(max-width:768px){.logs-page .data-table thead tr th:nth-child(n+3){display:none}.logs-page .data-table tbody tr{display:flex;flex-wrap:wrap;gap:.35rem;padding:.65rem .75rem;border-bottom:1px solid var(--border);align-items:center}.logs-page .data-table tbody tr td{border:none;padding:0;font-size:.8rem}.logs-page .data-table tbody tr td:nth-child(3),.logs-page .data-table tbody tr td:nth-child(4){display:none}.logs-page .data-table tbody tr td:nth-child(1){flex-shrink:0}.logs-page .data-table tbody tr td:nth-child(2){flex:1}.logs-page .data-table tbody tr td:last-child{margin-left:auto;font-size:.72rem;color:var(--text-muted)}}.gates-page{max-width:1200px}.gates-list{display:flex;flex-direction:column;gap:1rem}.gate-site-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.gate-site-name{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.lanes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,240px));gap:1rem}@media(max-width:600px){.lanes-grid{grid-template-columns:1fr}}.lane-control{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:.75rem}.lane-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.lane-name{font-weight:600;font-size:.8rem}.lane-type{font-size:.65rem;color:var(--text-muted);text-transform:uppercase}.gate-visual{height:100px;display:flex;align-items:flex-end;position:relative;margin-bottom:.5rem;background:var(--glass-light);border-radius:8px;overflow:hidden;padding:.5rem}.barrier-post{width:8px;height:50px;background:#64748b;border-radius:2px;z-index:2}.barrier-arm{position:absolute;left:12px;bottom:46px;width:75%;height:6px;background:repeating-linear-gradient(90deg,#ef4444,#ef4444 10px,#fff 10px 20px);border-radius:2px;transform-origin:left center;transition:transform .5s cubic-bezier(.4,0,.2,1)}.barrier-arm.arm-open{transform:rotate(-80deg)}.gate-controls{display:flex;flex-direction:column;gap:.4rem}.gate-state{text-align:center;font-weight:700;font-size:.75rem;letter-spacing:.05em}.state-closed{color:var(--danger)}.state-open{color:var(--success)}.gate-btn-row{display:flex;gap:.3rem}.gate-btn-row .btn{flex:1;font-size:.7rem;padding:.35rem .3rem}.hold-select{flex:1;font-size:.7rem;padding:.35rem .3rem;background:var(--input-bg);border:1px solid var(--border-hover);border-radius:6px;color:var(--text-primary);cursor:pointer}.hold-select:disabled{opacity:.4;cursor:not-allowed}.hold-timer-slot{flex:1;display:flex;align-items:center;justify-content:center;font-size:.7rem;padding:.35rem .3rem;border-radius:6px;background:var(--bg-card);border:1px solid var(--border);min-height:28px}.hold-timer-slot.timer-active{background:#fbbf241a;border-color:#fbbf244d}.hold-countdown{color:var(--warning);font-weight:700;letter-spacing:.05em}.hold-idle{color:var(--text-muted)}.ws-indicator{font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.2rem .6rem;border-radius:20px;transition:all .3s ease}.ws-online{color:var(--success);background:#22c55e1a;border:1px solid rgba(34,197,94,.25);animation:ws-pulse 2s ease-in-out infinite}.ws-offline{color:var(--text-muted);background:var(--glass-subtle);border:1px solid var(--border)}@keyframes ws-pulse{0%,to{opacity:1}50%{opacity:.6}}.lane-control{transition:all .3s ease,box-shadow .3s ease,border-color .3s ease}.lane-control.glow-green{border-color:var(--success)!important;box-shadow:0 0 20px #22c55e59,0 0 40px #22c55e26;animation:glow-green-pulse .8s ease-in-out 2}.lane-control.glow-red{border-color:var(--danger)!important;box-shadow:0 0 20px #ef444459,0 0 40px #ef444426;animation:glow-red-pulse .8s ease-in-out 2}@keyframes glow-green-pulse{0%,to{box-shadow:0 0 12px #22c55e40}50%{box-shadow:0 0 30px #22c55e80,0 0 60px #22c55e33}}@keyframes glow-red-pulse{0%,to{box-shadow:0 0 12px #ef444440}50%{box-shadow:0 0 30px #ef444480,0 0 60px #ef444433}}.access-toast{display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;border-radius:8px;font-size:.75rem;font-weight:600;margin-bottom:.35rem;animation:toast-slide-in .25s ease}.access-toast.granted{background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:var(--success)}.access-toast.denied{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:var(--danger)}.access-toast-plate{font-weight:700;letter-spacing:.04em}.access-toast-method{margin-left:auto;font-size:.65rem;text-transform:uppercase;opacity:.7}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.billing-page{max-width:900px}.billing-overview{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.billing-overview-info{flex:1;min-width:200px}.plan-name{font-size:1.4rem;font-weight:700;margin:0 0 .25rem;background:linear-gradient(135deg,var(--accent, #00d4ff),#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-price{font-size:1.8rem;font-weight:800;margin:.5rem 0 .25rem}.plan-price .currency{font-size:1rem;font-weight:500;vertical-align:super;opacity:.7}.plan-price .interval{font-size:.85rem;font-weight:400;color:var(--text-muted)}.billing-meta{display:flex;gap:2rem;margin-top:.75rem;flex-wrap:wrap}.billing-meta-item{display:flex;flex-direction:column;gap:.15rem}.billing-meta-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.billing-meta-value{font-size:.95rem;font-weight:500}.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.status-active{background:#34d3991f;color:#34d399;border:1px solid rgba(52,211,153,.25)}.status-trialing{background:#60a5fa1f;color:#60a5fa;border:1px solid rgba(96,165,250,.25)}.status-past_due{background:#fbbf241f;color:#fbbf24;border:1px solid rgba(251,191,36,.25)}.status-canceled,.status-inactive{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.plan-card{background:var(--glass-subtle, rgba(255,255,255,.03));border:1px solid var(--border, rgba(255,255,255,.08));border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;transition:border-color .2s,transform .2s;position:relative}.plan-card:hover{border-color:var(--accent, #00d4ff);transform:translateY(-2px)}.plan-card.current{border-color:var(--accent, #00d4ff);background:#00d4ff0a}.plan-card-badge{position:absolute;top:-10px;right:12px;background:var(--accent, #00d4ff);color:#000;font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.plan-card h4{margin:0 0 .25rem;font-size:1.1rem}.plan-card-price{font-size:1.6rem;font-weight:800;margin:.5rem 0}.plan-card-price span{font-size:.8rem;font-weight:400;color:var(--text-muted)}.plan-card-desc{font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem}.plan-card-features{list-style:none;padding:0;margin:0 0 1rem;flex:1}.plan-card-features li{font-size:.85rem;padding:.3rem 0;display:flex;align-items:center;gap:.4rem}.plan-card-features li:before{content:"✓";color:#34d399;font-weight:700;font-size:.75rem}.usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.usage-item{background:var(--glass-subtle, rgba(255,255,255,.03));border:1px solid var(--border, rgba(255,255,255,.08));border-radius:10px;padding:1rem;text-align:center;transition:border-color .2s}.usage-item:hover{border-color:var(--accent, #00d4ff)}.usage-count{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--accent, #00d4ff),#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.usage-label{font-size:.8rem;color:var(--text-muted);margin-top:.25rem;text-transform:uppercase;letter-spacing:.04em}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border, rgba(255,255,255,.08))}.invoice-table td{padding:.7rem .75rem;border-bottom:1px solid var(--border, rgba(255,255,255,.05));font-size:.9rem}.invoice-table tr:hover td{background:var(--glass-subtle, rgba(255,255,255,.02))}.invoice-link{color:var(--accent, #00d4ff);text-decoration:none;font-size:.85rem;transition:opacity .2s}.invoice-link:hover{opacity:.8;text-decoration:underline}.invoice-status{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.invoice-status.paid{background:#34d3991f;color:#34d399}.invoice-status.open{background:#60a5fa1f;color:#60a5fa}.invoice-status.uncollectible,.invoice-status.void{background:#ef44441f;color:#ef4444}@media(max-width:600px){.billing-overview{flex-direction:column;align-items:flex-start}.plans-grid{grid-template-columns:1fr}.usage-grid{grid-template-columns:repeat(2,1fr)}}.store-page{padding:0 0 120px;max-width:1400px}.store-hero{background:linear-gradient(135deg,#00d4ff0f,#7b2ff70f);border:1px solid rgba(0,212,255,.15);border-radius:16px;padding:2rem 2.5rem;margin-bottom:1.75rem}.store-hero-inner{display:flex;align-items:center;gap:1.25rem;margin-bottom:.75rem}.store-hero-icon{width:60px;height:60px;border-radius:16px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.25);display:flex;align-items:center;justify-content:center;color:#00d4ff;flex-shrink:0}.store-hero-title{font-size:1.6rem;font-weight:800;background:linear-gradient(135deg,#00d4ff,#7b2ff7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .2rem}.store-hero-sub{color:var(--text-muted);font-size:.9rem;margin:0;max-width:600px}.store-hero-note{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:#00d4ffb3;border-top:1px solid rgba(255,255,255,.05);padding-top:.75rem}.store-tabs{display:flex;gap:.5rem;margin-bottom:1.75rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.store-tab{padding:.5rem 1.25rem;border-radius:8px;border:1px solid transparent;background:none;color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.store-tab:hover{color:var(--text-primary);background:#ffffff0a}.store-tab.active{color:#00d4ff;background:#00d4ff14;border-color:#00d4ff4d}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.store-card{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.store-card:hover{border-color:var(--accent, #00d4ff);box-shadow:0 0 20px rgba(var(--accent, 0, 212, 255),.08);transform:translateY(-2px)}.store-badge{position:absolute;top:-10px;left:1.25rem;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:20px;color:#000}.store-card-icon{margin-bottom:.25rem}.store-card-name{font-size:1.05rem;font-weight:700;margin:0}.store-card-sub{font-size:.78rem;color:var(--text-muted);margin:0}.store-card-price{font-size:1.3rem;font-weight:800;margin:.25rem 0}.store-card-install{font-size:.72rem;color:var(--text-muted);padding:4px 8px;background:#ffffff0a;border-radius:6px;border:1px solid rgba(255,255,255,.06);margin-bottom:.5rem}.store-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;flex:1}.store-features li{display:flex;align-items:flex-start;gap:7px;font-size:.78rem;color:var(--text-secondary);line-height:1.4}.store-features li svg{flex-shrink:0;margin-top:2px}.store-expand-btn{background:none;border:none;cursor:pointer;font-size:.72rem;color:var(--text-muted);display:flex;align-items:center;gap:4px;padding:2px 0;font-family:inherit;transition:color .15s}.store-expand-btn:hover{color:#00d4ff}.store-card-actions{margin-top:.75rem}.store-add-btn{display:flex;align-items:center;gap:6px;padding:.6rem 1.1rem;border-radius:8px;border:1px solid currentColor;background:none;font-size:.8rem;font-weight:600;cursor:pointer;width:100%;justify-content:center;transition:background .15s;font-family:inherit}.store-add-btn:hover{background:#ffffff0f}.store-qty-controls{display:flex;align-items:center;gap:.75rem;justify-content:center;padding:.5rem 0}.store-qty-controls button{width:30px;height:30px;border-radius:6px;border:1px solid var(--border);background:#ffffff0d;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.store-qty-controls button:hover{border-color:#00d4ff;color:#00d4ff}.store-qty-controls span{font-weight:700;font-size:1rem;min-width:20px;text-align:center}.store-bundle-grid{display:flex;flex-direction:column;gap:1rem}.store-bundle-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.5rem;transition:border-color .2s ease,box-shadow .2s ease}.store-bundle-card:hover{border-color:var(--accent, #00d4ff);box-shadow:0 4px 24px #0003}.store-bundle-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.store-bundle-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.store-bundle-name{font-size:1.05rem;font-weight:700;margin:0 0 .2rem}.store-bundle-sub{font-size:.78rem;color:var(--text-muted);margin:0}.store-bundle-price-block{margin-left:auto;text-align:right;flex-shrink:0}.store-bundle-price{font-size:1.15rem;font-weight:800}.store-bundle-pricing-note{font-size:.68rem;color:var(--text-muted);margin-top:2px}.store-bundle-features{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px}.store-bundle-features li{display:flex;align-items:flex-start;gap:7px;font-size:.78rem;color:var(--text-secondary);line-height:1.4}.store-bundle-features li svg{flex-shrink:0;margin-top:2px}.store-bundle-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.75rem;border-top:1px solid var(--border);flex-wrap:wrap}.store-bundle-ideal{font-size:.75rem;color:var(--text-muted);font-style:italic}.store-section-info{display:flex;align-items:center;gap:.75rem;background:#00d4ff0d;border:1px solid rgba(0,212,255,.15);border-radius:8px;padding:.75rem 1rem;font-size:.8rem;color:var(--text-secondary);margin-bottom:1.25rem}.store-hardware-grid{display:flex;flex-direction:column;gap:.75rem}.store-hw-card{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;transition:border-color .2s ease}.store-hw-card:hover{border-color:var(--accent, #00d4ff)}.store-hw-icon{width:40px;height:40px;border-radius:10px;background:#ffffff0a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.store-hw-body{flex:1;min-width:0}.store-hw-name{font-size:.9rem;font-weight:700;margin:0 0 2px}.store-hw-sub{font-size:.75rem;color:var(--text-muted);margin:0 0 4px}.store-hw-price{font-size:1rem;font-weight:700;display:inline}.store-hw-note{font-size:.68rem;color:var(--text-muted);margin-left:6px}.store-hw-actions{flex-shrink:0}.store-basket-bar{position:fixed;bottom:0;left:var(--sidebar-width, 220px);right:0;z-index:500;background:#0a0e1af2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(0,212,255,.25);padding:.85rem 2rem;display:flex;align-items:center;gap:1rem;box-shadow:0 -4px 32px #00d4ff14}.store-basket-items{display:flex;gap:.5rem;flex-wrap:wrap;flex:1;min-width:0}.store-basket-chip{display:flex;align-items:center;gap:6px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.25);border-radius:20px;padding:3px 10px 3px 12px;font-size:.75rem;color:#00d4ff;white-space:nowrap}.store-basket-chip button{background:none;border:none;cursor:pointer;color:#00d4ff99;display:flex;align-items:center;padding:0;transition:color .1s}.store-basket-chip button:hover{color:#ef4444}.store-quote-btn{display:flex;align-items:center;gap:8px;padding:.65rem 1.5rem;border-radius:10px;border:none;background:linear-gradient(135deg,#00d4ff,#7b2ff7);color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:opacity .15s,transform .15s;font-family:inherit}.store-quote-btn:hover{opacity:.9;transform:translateY(-1px)}.store-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.store-modal{background:var(--bg-card);border:1px solid rgba(0,212,255,.25);border-radius:20px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;padding:2rem;box-shadow:0 0 60px #00d4ff1f;display:flex;flex-direction:column;gap:1.25rem}.store-modal-header{display:flex;align-items:center;justify-content:space-between}.store-modal-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;margin:0;color:#00d4ff}.store-modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;transition:color .15s}.store-modal-close:hover{color:#ef4444}.store-modal-summary{background:#00d4ff0d;border:1px solid rgba(0,212,255,.15);border-radius:10px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.4rem}.store-modal-item{display:flex;justify-content:space-between;font-size:.82rem}.store-modal-item-price{color:#00d4ff;font-weight:600}.store-modal-from{display:flex;flex-direction:column;gap:.75rem}.store-modal-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.store-modal-field{display:flex;flex-direction:column;gap:.3rem}.store-modal-field label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.store-modal-field input,.store-modal-field textarea{padding:.55rem .75rem;background:var(--input-bg);border:1px solid var(--border-hover);border-radius:8px;color:var(--text-primary);font-size:.83rem;font-family:inherit;resize:vertical}.store-modal-field input[readonly]{opacity:.6}.store-modal-field textarea:focus,.store-modal-field input:focus{outline:none;border-color:#00d4ff}.store-modal-contact-row{display:flex;gap:.5rem}.store-contact-opt{flex:1;padding:.45rem;border-radius:7px;border:1px solid var(--border);background:none;color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.store-contact-opt.active{color:#00d4ff;border-color:#00d4ff66;background:#00d4ff14}.store-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:.85rem;border-radius:12px;border:none;background:linear-gradient(135deg,#00d4ff,#7b2ff7);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;transition:opacity .15s;font-family:inherit}.store-submit-btn:disabled{opacity:.6;cursor:not-allowed}.store-modal-disclaimer{font-size:.72rem;color:var(--text-muted);text-align:center;margin:0}@media(max-width:768px){.store-hero{padding:1.25rem}.store-hero-title{font-size:1.2rem}.store-grid{grid-template-columns:1fr}.store-bundle-header{flex-wrap:wrap}.store-bundle-price-block{margin-left:0;text-align:left}.store-basket-bar{left:0;flex-wrap:wrap;padding:.75rem 1rem}.store-modal-field-row{grid-template-columns:1fr}}.orders-page{display:flex;height:100%;gap:0;overflow:hidden}.orders-list-panel{width:380px;min-width:320px;max-width:420px;display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden;background:var(--bg-secondary)}.orders-filters{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.6rem}.orders-search{display:flex;align-items:center;gap:.5rem;background:var(--glass-light);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .75rem;color:var(--text-secondary)}.orders-search input{background:none;border:none;color:var(--text-primary);font-size:.85rem;flex:1;padding:0;font-family:inherit}.orders-search input::placeholder{color:var(--text-placeholder)}.orders-search input:focus{outline:none}.orders-status-tabs{display:flex;gap:.25rem;flex-wrap:wrap}.orders-status-tabs button{background:none;border:1px solid var(--border);border-radius:999px;padding:.2rem .65rem;font-size:.72rem;font-weight:500;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .15s ease;white-space:nowrap}.orders-status-tabs button:hover{background:var(--glass-light);color:var(--text-primary)}.orders-status-tabs button.active{border-color:currentColor;background:var(--glass-light);color:var(--accent)}.orders-toolbar{display:flex;align-items:center;gap:.5rem}.orders-list{flex:1;overflow-y:auto;padding:.5rem}.orders-loading,.orders-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1rem;color:var(--text-muted);font-size:.875rem;flex:1}.orders-company-group{margin-bottom:.75rem}.orders-company-header{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.orders-company-header .orders-count{margin-left:auto;background:var(--glass-light);border-radius:999px;padding:.1rem .5rem;font-size:.7rem}.orders-select-all{background:none;border:none;color:var(--accent);font-size:.72rem;cursor:pointer;font-family:inherit;padding:0;margin-left:.25rem}.orders-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .65rem;border-radius:var(--radius);cursor:pointer;transition:background .15s ease;border:1px solid transparent;margin-bottom:2px}.orders-item:hover{background:var(--glass-light)}.orders-item.active{background:var(--glass-light);border-color:var(--border-hover)}.orders-item.photo-warning{border-left:2px solid var(--warning)}.orders-check{flex-shrink:0;accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.orders-item-photo{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;position:relative;background:var(--glass-medium);border:1px solid var(--border)}.orders-item-photo img{width:100%;height:100%;object-fit:cover}.orders-item-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.orders-photo-warn-dot{position:absolute;bottom:1px;right:1px;width:9px;height:9px;background:var(--warning);border-radius:50%;border:1px solid var(--bg-secondary)}.orders-item-info{flex:1;min-width:0}.orders-item-name{font-size:.85rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.4rem}.orders-driver-id{font-size:.7rem;font-weight:500;color:var(--accent);font-family:Orbitron,monospace}.orders-item-sub{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.orders-item-meta{display:flex;align-items:center;gap:.4rem;margin-top:3px;flex-wrap:wrap}.orders-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.03em}.orders-total{font-size:.72rem;font-weight:600;color:var(--text-secondary)}.orders-no-photo{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;color:var(--warning)}.orders-type-badge{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.68rem;font-weight:500;background:var(--glass-light);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;margin-top:.25rem}.orders-type-onboarding{background:#00d4ff14;border-color:#00d4ff33;color:var(--accent)}.orders-type-manager{background:#8b5cf614;border-color:#8b5cf633;color:var(--purple)}.orders-item-arrow{color:var(--text-muted);flex-shrink:0}.orders-detail-panel{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.orders-detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted);font-size:.9rem}.orders-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.orders-detail-header h2{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin:0}.orders-detail-header p{font-size:.78rem;color:var(--text-muted);margin-top:2px}.orders-detail-actions{display:flex;gap:.4rem}.orders-driver-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;display:flex;gap:1rem}.orders-driver-photo{position:relative;flex-shrink:0}.orders-driver-photo img{width:80px;height:80px;border-radius:var(--radius);object-fit:cover;border:1px solid var(--border)}.orders-driver-no-photo{width:80px;height:80px;border-radius:var(--radius);background:var(--glass-medium);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.orders-photo-banner{display:flex;align-items:center;gap:.3rem;font-size:.68rem;color:var(--warning);margin-top:.35rem;background:#fbbf2414;border:1px solid rgba(251,191,36,.2);border-radius:var(--radius-sm);padding:.25rem .4rem}.orders-driver-info{flex:1;min-width:0}.orders-driver-info h3{font-size:1rem;font-weight:700;margin:0 0 .15rem}.orders-eb-id{font-family:Orbitron,monospace;font-size:.75rem;color:var(--accent);margin-bottom:.35rem}.orders-detail-row{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-secondary);margin-bottom:.4rem}.orders-items-list{margin-top:.5rem;border-top:1px solid var(--divider);padding-top:.5rem}.orders-line-item{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-secondary);padding:.2rem 0}.orders-line-total{display:flex;justify-content:space-between;font-size:.85rem;font-weight:700;color:var(--text-primary);border-top:1px solid var(--border);margin-top:.35rem;padding-top:.35rem}.orders-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.9rem 1rem}.orders-section h4{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}.orders-status-flow{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem}.orders-flow-step{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-muted)}.orders-flow-step.done{color:var(--text-secondary)}.orders-flow-step.current{color:var(--text-primary);font-weight:600}.orders-flow-dot{width:20px;height:20px;border-radius:50%;background:var(--glass-medium);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease}.orders-flow-arrow{color:var(--text-muted)}.orders-status-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.orders-status-controls select{flex:1;min-width:140px;font-size:.85rem}.orders-rfid-form{display:flex;flex-direction:column;gap:.5rem}.orders-rfid-form.disabled{opacity:.6;pointer-events:none}.orders-rfid-form label{font-size:.72rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:0}.orders-rfid-form input{font-size:.85rem;width:100%;letter-spacing:.03em}.orders-active-card{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-secondary);background:#22c55e12;border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-sm);padding:.4rem .6rem;margin-bottom:.5rem}.orders-photo-gate{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--warning);background:#fbbf2414;border:1px solid rgba(251,191,36,.2);border-radius:var(--radius-sm);padding:.45rem .6rem;margin-bottom:.25rem}.orders-hint{font-size:.72rem;color:var(--text-muted);margin-top:.1rem}.orders-card-history{display:flex;flex-direction:column;gap:.5rem}.orders-card-row{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .6rem;border-radius:var(--radius-sm);background:var(--glass-subtle);border:1px solid var(--border);font-size:.8rem}.orders-card-dot-active{background:#22c55e}.orders-card-dot-archived{background:var(--text-muted)}.orders-card-dot-pending{background:var(--warning)}.orders-card-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.orders-card-uid{font-family:Orbitron,monospace;font-size:.7rem;color:var(--text-primary)}.orders-card-dates{font-size:.72rem;color:var(--text-muted);margin-top:2px}.orders-notes{width:100%;font-size:.85rem;resize:vertical;min-height:70px;margin-bottom:.5rem;font-family:inherit}.orders-shipping{font-size:.85rem;color:var(--text-secondary);line-height:1.6}.orders-shipping strong{color:var(--text-primary)}.orders-delete-confirm{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);padding:.75rem 1rem;animation:slideUp .2s ease}.orders-delete-confirm p{font-size:.85rem;color:var(--text-primary);margin-bottom:.6rem}.orders-delete-btns{display:flex;gap:.5rem;flex-wrap:wrap}.orders-btn-primary{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:var(--radius);font-size:.83rem;font-weight:500;border:none;cursor:pointer;font-family:inherit;transition:all .2s ease;background:linear-gradient(135deg,var(--accent),var(--purple));color:#fff;white-space:nowrap}.orders-btn-primary:hover:not(:disabled){box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.orders-btn-primary:disabled{opacity:.5;cursor:not-allowed}.orders-btn-secondary{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:var(--radius);font-size:.83rem;font-weight:500;border:1px solid var(--border-hover);cursor:pointer;font-family:inherit;background:var(--glass-light);color:var(--text-primary);transition:background .15s ease;white-space:nowrap}.orders-btn-secondary:hover:not(:disabled){background:var(--glass-medium)}.orders-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.orders-btn-danger{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:var(--radius);font-size:.83rem;font-weight:500;border:1px solid var(--danger-border);cursor:pointer;font-family:inherit;background:var(--danger-bg);color:var(--danger);transition:background .15s ease;white-space:nowrap}.orders-btn-danger:hover:not(:disabled){background:var(--danger-bg-hover)}.orders-btn-danger:disabled{opacity:.5;cursor:not-allowed}.orders-btn-hard{border-color:var(--danger)}.orders-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--glass-light);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.orders-btn-icon:hover{background:var(--glass-medium);color:var(--text-primary)}.orders-modal-backdrop{position:fixed;inset:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.orders-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;width:90%;max-width:480px;animation:slideUp .25s ease}.orders-modal h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;margin-bottom:.5rem}.orders-modal p{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.orders-shipment-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem}.orders-shipment-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-size:.83rem;border-bottom:1px solid var(--divider)}.orders-shipment-item:last-child{border-bottom:none}.orders-shipment-company{font-size:.75rem;color:var(--text-muted)}.orders-modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.orders-toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-hover);color:var(--text-primary);border-radius:var(--radius);padding:.6rem 1rem;font-size:.85rem;font-weight:500;box-shadow:var(--card-shadow);z-index:2000;animation:slideUp .2s ease}.orders-print-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.orders-print-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem .75rem;border-radius:var(--radius);font-size:.8rem;font-weight:500;border:1px solid var(--border-hover);background:var(--glass-light);color:var(--text-primary);text-decoration:none;cursor:pointer;transition:all .15s ease;text-align:center;font-family:inherit}.orders-print-btn:hover:not(.disabled){background:var(--glass-medium);border-color:var(--accent);color:var(--accent)}.orders-print-btn.disabled{opacity:.4;cursor:not-allowed}.orders-print-btn-secondary{background:none;border-color:var(--border);color:var(--text-secondary);font-size:.75rem}@media(max-width:768px){.orders-page{flex-direction:column}.orders-list-panel{width:100%;max-width:100%;max-height:45vh;border-right:none;border-bottom:1px solid var(--border)}.orders-detail-panel{padding:1rem}.orders-driver-card{flex-direction:column}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--apub-bg: #f8fafc;--apub-surface: #ffffff;--apub-border: #e2e8f0;--apub-text: #0f172a;--apub-muted: #64748b;--apub-accent: #0ea5e9;--apub-green: #16a34a;--apub-amber: #d97706;--apub-red: #dc2626}body{background:var(--apub-bg);color:var(--apub-text);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}.apub-page{min-height:100dvh;display:flex;flex-direction:column;max-width:480px;margin:0 auto;background:var(--apub-bg)}.apub-page--center{align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem;gap:1.25rem}.apub-header{padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;background:var(--apub-surface);border-bottom:1px solid var(--apub-border)}.apub-logo{height:26px;object-fit:contain}.apub-company-tag{font-size:.68rem;font-weight:700;color:var(--apub-muted);letter-spacing:.05em;text-transform:uppercase}.apub-main{flex:1;padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem}.apub-footer{text-align:center;padding:1.25rem;font-size:.68rem;color:var(--apub-muted);border-top:1px solid var(--apub-border);background:var(--apub-surface)}.apub-hero{display:flex;gap:1rem;align-items:flex-start}.apub-hero-photo{width:80px;height:80px;border-radius:10px;object-fit:cover;border:1px solid var(--apub-border);flex-shrink:0}.apub-hero-photo--empty{display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#94a3b8}.apub-hero-text{flex:1;min-width:0}.apub-name{font-size:1.2rem;font-weight:700;color:var(--apub-text);line-height:1.25}.apub-meta{font-size:.82rem;color:var(--apub-muted);margin-top:.2rem}.apub-meta--dim{font-size:.76rem}.apub-loler-row{display:flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:500}.apub-loler--valid{color:var(--apub-green)}.apub-loler--warning{color:var(--apub-amber)}.apub-loler--expired{color:var(--apub-red)}.apub-battery-row{display:flex;align-items:center;gap:.55rem}.apub-battery-track{flex:1;height:5px;background:#e2e8f0;border-radius:99px;overflow:hidden}.apub-battery-fill{height:100%;border-radius:99px;transition:width .4s}.apub-battery-label{font-size:.78rem;font-weight:600;white-space:nowrap}.apub-section{display:flex;flex-direction:column;gap:.6rem}.apub-section-label{font-size:.68rem;font-weight:700;color:var(--apub-muted);text-transform:uppercase;letter-spacing:.07em}.apub-doc-card{display:flex;align-items:center;gap:.75rem;background:var(--apub-surface);border:1px solid var(--apub-border);border-radius:10px;padding:.75rem .9rem;color:var(--apub-text);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s}.apub-doc-card:hover{border-color:var(--apub-accent);box-shadow:0 1px 4px #0ea5e91a}.apub-doc-card--expired{opacity:.55}.apub-doc-icon{color:var(--apub-accent);flex-shrink:0}.apub-doc-info{flex:1;min-width:0}.apub-doc-label{font-weight:600;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;color:var(--apub-text)}.apub-doc-expiry{font-size:.7rem;color:var(--apub-muted);margin-top:.1rem;display:block}.apub-doc-arrow{color:var(--apub-muted);flex-shrink:0}.apub-action-grid{display:flex;flex-direction:column;background:var(--apub-surface);border:1px solid var(--apub-border);border-radius:12px;overflow:hidden}.apub-action{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border:none;border-bottom:1px solid var(--apub-border);background:transparent;cursor:pointer;color:var(--apub-text);font-size:.9rem;font-weight:500;text-align:left;width:100%;transition:background .12s}.apub-action:last-child{border-bottom:none}.apub-action:hover{background:#f8fafc}.apub-action-label{flex:1}.apub-action-chevron{color:var(--apub-muted)}.apub-action:after{content:"›";margin-left:auto;color:var(--apub-muted);font-size:1.1rem;line-height:1}.apub-action-icon--blue{color:var(--apub-accent)}.apub-action-icon--green{color:var(--apub-green)}.apub-action-icon--red{color:var(--apub-red)}.apub-action-icon--muted{color:var(--apub-muted)}.apub-panel-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--apub-border);margin-bottom:.75rem}.apub-panel-title{font-size:.95rem;font-weight:700;color:var(--apub-text)}.apub-link-btn--inline{display:inline!important;width:auto!important;font-size:.78rem!important;color:var(--apub-muted)!important;text-decoration:none!important}.apub-form{display:flex;flex-direction:column;gap:1rem}.apub-field{display:flex;flex-direction:column;gap:.3rem}.apub-field label{font-size:.75rem;font-weight:600;color:var(--apub-muted)}.apub-required{color:var(--apub-red)}.apub-muted{color:var(--apub-muted);font-weight:400}.apub-hint{font-size:.79rem;color:var(--apub-muted)}.apub-input,.apub-textarea{background:var(--apub-surface);border:1px solid var(--apub-border);border-radius:8px;color:var(--apub-text);padding:.62rem .78rem;font-size:.88rem;font-family:inherit;width:100%;outline:none;transition:border-color .15s}.apub-input:focus,.apub-textarea:focus{border-color:var(--apub-accent);box-shadow:0 0 0 3px #0ea5e91a}.apub-textarea{resize:vertical}.apub-two-col{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.apub-severity-row{display:flex;gap:.4rem;flex-wrap:wrap}.apub-sev{flex:1;min-width:92px;padding:.5rem .3rem;border-radius:8px;border:1.5px solid var(--apub-border);background:var(--apub-surface);color:var(--apub-text);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.apub-sev--minor.active{background:#fef9c3;border-color:var(--apub-amber);color:var(--apub-amber)}.apub-sev--significant.active,.apub-sev--out_of_service.active{background:#fee2e2;border-color:var(--apub-red);color:var(--apub-red)}.apub-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.apub-photo-thumb{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden}.apub-photo-thumb img{width:100%;height:100%;object-fit:cover}.apub-photo-del{position:absolute;top:3px;right:3px;background:#0000008c;color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:.9rem;line-height:20px;text-align:center;padding:0}.apub-photo-add{aspect-ratio:1;border-radius:8px;border:1.5px dashed var(--apub-border);background:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;color:var(--apub-muted);font-size:.72rem;cursor:pointer;transition:border-color .15s}.apub-photo-add:hover{border-color:var(--apub-accent);color:var(--apub-accent)}.apub-details{background:var(--apub-surface);border:1px solid var(--apub-border);border-radius:8px;overflow:hidden}.apub-details summary{padding:.65rem .9rem;cursor:pointer;font-size:.83rem;font-weight:500;color:var(--apub-text);list-style:none;-webkit-user-select:none;user-select:none}.apub-details summary::-webkit-details-marker{display:none}.apub-details-body{padding:0 .9rem .75rem;display:flex;flex-direction:column;gap:.5rem}.apub-draft-toast{text-align:center;font-size:.72rem;color:var(--apub-green);animation:fadeOut 1.8s forwards}@keyframes fadeOut{0%,60%{opacity:1}to{opacity:0}}.apub-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--apub-accent);color:#fff;border:none;border-radius:10px;padding:.78rem 1.5rem;font-size:.9rem;font-weight:700;cursor:pointer;text-decoration:none;transition:opacity .15s}.apub-cta-btn:hover:not(:disabled){opacity:.88}.apub-cta-btn:disabled{opacity:.35;cursor:not-allowed}.apub-cta-full{width:100%}.apub-link-btn{background:none;border:none;color:var(--apub-accent);font-size:.82rem;cursor:pointer;padding:.2rem 0;display:block;width:100%;text-align:center;text-decoration:underline;margin-top:.3rem}.apub-link-btn:disabled{opacity:.4;cursor:not-allowed}.apub-otp-box{display:flex;flex-direction:column;gap:.65rem}.apub-otp-prompt{font-size:.85rem;color:var(--apub-muted)}.apub-tel-wrap{position:relative}.apub-tel-icon{position:absolute;left:.72rem;top:50%;transform:translateY(-50%);color:var(--apub-muted);pointer-events:none}.apub-input--tel{padding-left:2.2rem}.apub-otp-input{display:block;margin:0 auto;font-size:2rem;letter-spacing:.55rem;text-align:center;width:200px;padding:.75rem;background:var(--apub-surface);border:2px solid var(--apub-accent);border-radius:10px;color:var(--apub-text);outline:none;font-family:monospace}.apub-submitted{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.65rem;padding:.5rem}.apub-submitted h3{font-size:1.15rem;font-weight:700;color:var(--apub-text)}.apub-submitted-icon{color:var(--apub-green)}.apub-oos-banner{display:flex;align-items:center;gap:.5rem;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;padding:.65rem .85rem;font-size:.82rem;color:var(--apub-red)}.apub-info-box{background:#f1f5f9;border:1px solid var(--apub-border);border-radius:8px;padding:.75rem .9rem;font-size:.85rem;color:var(--apub-text)}.apub-checklist-section{display:flex;flex-direction:column}.apub-checklist-cat{font-size:.65rem;font-weight:700;color:var(--apub-accent);text-transform:uppercase;letter-spacing:.07em;padding:.7rem 0 .3rem;border-top:1px solid var(--apub-border);margin-top:.2rem}.apub-checklist-section:first-child .apub-checklist-cat{border-top:none;margin-top:0}.apub-check-row{padding:.55rem 0;border-bottom:1px solid var(--apub-border)}.apub-check-row--fail{background:#fff5f5;border-radius:6px;padding:.55rem .5rem;border-bottom:none;margin-bottom:.3rem}.apub-check-label{font-size:.85rem;color:var(--apub-text);margin-bottom:.32rem;display:flex;align-items:center;gap:.4rem}.apub-required-dot{width:6px;height:6px;border-radius:50%;background:var(--apub-amber);flex-shrink:0}.apub-check-btns{display:flex;gap:.35rem}.apub-chk{padding:.28rem .75rem;border-radius:6px;border:1.5px solid var(--apub-border);background:var(--apub-surface);color:var(--apub-muted);font-size:.78rem;font-weight:700;cursor:pointer;transition:all .12s}.apub-chk--pass.active{background:#dcfce7;border-color:var(--apub-green);color:var(--apub-green)}.apub-chk--fail.active{background:#fee2e2;border-color:var(--apub-red);color:var(--apub-red)}.apub-chk--na.active{background:#f1f5f9;border-color:#94a3b8;color:#64748b}.apub-check-notes{margin-top:.4rem;font-size:.8rem}.apub-error{color:var(--apub-red);font-size:.8rem;text-align:center}.apub-mono{font-family:monospace;font-size:.82rem;color:var(--apub-muted)}.apub-state-icon{margin:.25rem 0}.apub-state-icon--amber{color:var(--apub-amber)}.apub-state-icon--red{color:var(--apub-red)}.apub-state-icon--blue{color:var(--apub-accent)}.apub-state-title{font-size:1.3rem;font-weight:700;color:var(--apub-text)}.apub-state-desc{font-size:.87rem;color:var(--apub-muted);max-width:300px;line-height:1.55}.apub-spinner{width:36px;height:36px;border:3px solid var(--apub-border);border-top-color:var(--apub-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.apub-pdf-overlay{position:fixed;inset:0;z-index:9999;background:#000;display:flex;flex-direction:column}.apub-pdf-topbar{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;background:#1e293b;gap:.75rem;flex-shrink:0}.apub-pdf-title{font-size:.88rem;font-weight:600;color:#e2e8f0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apub-pdf-close{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#e2e8f0;padding:.35rem .75rem;font-size:.82rem;cursor:pointer;flex-shrink:0}.apub-pdf-close:hover{background:#ffffff2e}.apub-pdf-embed{flex:1;width:100%;border:none}.apub-location-row{margin-bottom:.75rem}.apub-loc-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .9rem;background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:8px;color:#1d4ed8;font-size:.85rem;font-weight:500;cursor:pointer;text-align:left;transition:background .15s}.apub-loc-btn:hover{background:#dbeafe}.apub-loc-status{font-size:.82rem;padding:.35rem .6rem;border-radius:6px;display:inline-block}.apub-loc-asking{background:#fef9c3;color:#92400e}.apub-loc-ok{background:#dcfce7;color:#15803d}.apub-loc-denied{background:#f1f5f9;color:#64748b}.apub-loc-denied-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.apub-loc-retry{padding:.25rem .6rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:5px;color:#475569;font-size:.78rem;cursor:pointer}.apub-loc-retry:hover{background:#e2e8f0}.apub-loc-hint{width:100%;margin:.25rem 0 0;font-size:.75rem;color:#94a3b8}.system-logs-page{padding:1.5rem}.system-logs-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.system-logs-page .page-header h2{margin:0;color:var(--text-primary, #e4e8f1)}.header-actions{display:flex;align-items:center;gap:1rem}.auto-refresh-toggle{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary, #8899aa);font-size:.85rem;cursor:pointer}.btn-refresh{background:var(--accent, #00e5ff);color:#0a0f1a;border:none;padding:.4rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85rem}.log-filters{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.log-filters select,.log-filters input{background:var(--bg-secondary, #111827);color:var(--text-primary, #e4e8f1);border:1px solid var(--border, #1e293b);padding:.5rem .75rem;border-radius:6px;font-size:.85rem}.log-filters input{flex:1;min-width:180px}.log-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border, #1e293b)}.log-table{width:100%;border-collapse:collapse;font-size:.85rem}.log-table th{background:var(--bg-tertiary, #1a2332);color:var(--text-secondary, #8899aa);padding:.6rem .75rem;text-align:left;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;white-space:nowrap}.log-row{cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border, #1e293b)}.log-row:hover{background:var(--bg-card)}.log-row td{padding:.5rem .75rem;color:var(--text-primary, #e4e8f1);vertical-align:middle}.col-time{white-space:nowrap;color:var(--text-secondary, #8899aa)!important;font-family:Courier New,monospace;font-size:.8rem}.col-site{white-space:nowrap}.col-message{max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-expand{text-align:center;width:30px;color:var(--text-secondary, #8899aa)!important}.level-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.category-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;background:var(--hover-bg);color:var(--text-secondary, #8899aa);text-transform:uppercase}.log-details-row td{padding:0!important;background:var(--bg-tertiary, #1a2332)}.log-details-json{margin:0;padding:.75rem 1rem;font-size:.8rem;color:var(--text-secondary, #8899aa);overflow-x:auto;font-family:Courier New,monospace;line-height:1.4;white-space:pre-wrap;word-break:break-word}.level-error .col-message,.level-critical .col-message{color:#f85149!important}.level-warning .col-message{color:#d29922!important}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary, #8899aa)}.empty-state .hint{font-size:.85rem;opacity:.7}.loading{text-align:center;padding:3rem;color:var(--text-secondary, #8899aa)}@media(max-width:768px){.log-table-wrap{border:none}.log-table thead{display:none}.log-table tbody{display:flex;flex-direction:column;gap:.5rem}.log-row{display:flex;flex-wrap:wrap;gap:.4rem;padding:.75rem;background:var(--bg-secondary, #111827);border-radius:8px;border:1px solid var(--border, #1e293b)}.log-row td{padding:0;border:none}.col-time{order:1;width:100%;font-size:.75rem}.col-level{order:2}.col-category{order:3}.col-site{order:4}.col-message{order:5;width:100%;max-width:none;white-space:normal}.col-expand{order:6}.log-details-row{display:block}.log-details-row td{display:block;border-radius:0 0 8px 8px}}.log-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:2px solid var(--border, #1e293b)}.log-tab{padding:.6rem 1.2rem;background:none;border:none;color:var(--text-secondary, #8899aa);font-size:.88rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.log-tab:hover{color:var(--text-primary, #e4e8f1)}.log-tab.active{color:var(--accent, #00e5ff);border-bottom-color:var(--accent, #00e5ff)}.col-user{white-space:nowrap;font-weight:500}.col-entity{white-space:nowrap}.col-entity span{display:inline-flex;align-items:center;gap:.3rem}.field-diffs{display:flex;flex-direction:column;gap:.35rem;padding:.5rem 0}.diff-row{display:flex;align-items:center;gap:.6rem;font-size:.82rem}.diff-field{min-width:120px;color:var(--text-secondary, #8899aa);font-weight:600;text-transform:capitalize}.diff-old{color:#f8514988;text-decoration:line-through}.diff-arrow{color:var(--text-secondary, #8899aa);font-weight:600}.diff-new{color:#3fb950;font-weight:500}.updates-page{max-width:900px}.updates-page .view-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.header-actions{display:flex;align-items:center;gap:.75rem}.last-checked{font-size:.78rem;color:var(--text-muted)}.btn-ghost{background:transparent;border:1px solid var(--border-hover);color:var(--text-secondary);padding:.3rem .75rem;border-radius:6px;cursor:pointer;font-size:.82rem;transition:all .2s}.btn-ghost:hover{background:var(--input-bg);color:var(--text-primary);border-color:var(--border-hover)}.update-message{padding:.65rem 1rem;border-radius:8px;font-size:.85rem;margin-bottom:1rem;border:1px solid transparent}.update-message.success{background:#34d3991a;color:var(--success);border-color:#34d39933}.update-message.error{background:#f871711a;color:var(--danger);border-color:#f8717133}.update-message.info{background:#60a5fa1a;color:var(--accent);border-color:#60a5fa33}.version-banner{background:linear-gradient(135deg,#6366f11f,#8b5cf614);border:1px solid rgba(99,102,241,.2)!important}.version-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.version-block{display:flex;flex-direction:column;gap:.25rem}.version-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.version-number{font-size:1.6rem;font-weight:700;color:#a78bfa;font-family:SF Mono,Fira Code,Consolas,monospace;letter-spacing:-.02em}.version-date{font-size:.78rem;color:var(--text-muted)}.version-stats{display:flex;gap:.75rem}.stat-pill{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;border-radius:10px;min-width:80px}.stat-pill.up-to-date{background:#34d3991a;border:1px solid rgba(52,211,153,.15)}.stat-pill.outdated{background:#fbbf241a;border:1px solid rgba(251,191,36,.15)}.stat-number{font-size:1.5rem;font-weight:700;line-height:1}.stat-pill.up-to-date .stat-number{color:var(--success)}.stat-pill.outdated .stat-number{color:var(--warning)}.stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:.25rem}.version-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.devices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.device-card{padding:1rem;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);transition:all .2s}.device-card:hover{background:var(--bg-card);border-color:var(--border-hover)}.device-card.outdated{border-color:#fbbf2433}.device-card.unknown{border-color:var(--border)}.device-card.current{border-color:#34d39926}.device-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.device-name{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.92rem}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online{background:#34d399;box-shadow:0 0 6px #34d39980}.status-dot.offline{background:#6b7280}.device-details{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem}.detail-label{color:var(--text-muted)}.detail-value{color:var(--text-primary)}.detail-value.mono{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.78rem}.version-value{display:flex;align-items:center;gap:.5rem}.version-value.outdated{color:var(--warning)}.update-badge{font-size:.65rem;background:#fbbf2426;color:var(--warning);padding:.1rem .4rem;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.btn-sm{padding:.35rem .75rem;font-size:.78rem;width:100%}.btn-accent{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.btn-accent:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-accent:disabled{opacity:.5;cursor:not-allowed}.update-history{position:relative;padding-left:1.5rem}.update-history:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--hover-bg);border-radius:1px}.history-item{position:relative;padding:.75rem 0 .75rem 1rem}.history-item:not(:last-child){border-bottom:1px solid var(--border)}.history-dot{position:absolute;left:-1.5rem;top:1.05rem;width:10px;height:10px;border-radius:50%;background:var(--glass-hover);border:2px solid var(--border)}.history-item.latest .history-dot{background:#6366f1;border-color:#6366f166;box-shadow:0 0 8px #6366f14d}.history-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.history-version{font-weight:700;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.92rem;color:var(--text-primary)}.history-size{font-size:.72rem;color:var(--text-muted);margin-left:auto}.history-date{font-size:.78rem;color:var(--text-muted);margin-top:.15rem}.history-changelog{font-size:.82rem;color:var(--text-secondary);margin-top:.4rem;line-height:1.5;padding:.5rem .75rem;background:var(--bg-card);border-radius:6px;border-left:3px solid rgba(99,102,241,.3)}.badge-warning{background:#fbbf2426;color:var(--warning)}.badge-primary{background:#6366f126;color:var(--purple)}@media(max-width:640px){.version-info-row{flex-direction:column}.version-stats{width:100%}.stat-pill{flex:1}.devices-grid{grid-template-columns:1fr}.header-actions{width:100%;justify-content:space-between}}.tracking-page{width:100%;height:100vh;height:100dvh;position:relative;overflow:hidden}.tracking-stats{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:410;display:flex;gap:.5rem;pointer-events:auto}.tracking-stat{display:flex;align-items:center;gap:.65rem;padding:.6rem .9rem;border-radius:var(--radius-lg);background:var(--overlay-heavy);border:1px solid var(--border-hover);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--card-shadow);min-width:110px}.tracking-stat-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tracking-stat-label{margin:0;font-size:.65rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.tracking-stat-value{margin:0;font-size:1.2rem;font-weight:700;color:var(--text-primary);line-height:1.2}.tracking-body{position:absolute;inset:0;display:flex;pointer-events:none}.tracking-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;margin:12px 0 12px 12px;height:calc(100% - 24px);border-radius:16px;background:#ffffff0f;backdrop-filter:blur(28px) saturate(1.8);-webkit-backdrop-filter:blur(28px) saturate(1.8);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #00000026,inset 0 1px #ffffff26;z-index:400;pointer-events:auto;overflow:hidden}:root .tracking-sidebar,[data-theme=cyber] .tracking-sidebar,[data-theme=dark] .tracking-sidebar{background:#080c18d1;border:1px solid rgba(255,255,255,.1)}[data-theme=light] .tracking-sidebar{background:#f8fafceb;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 24px #00000014}.tracking-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(0,212,255,.03) 0%,transparent 100%)}.tracking-sidebar-header h3{font-size:.88rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.01em}.tracking-search-box{position:relative;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.tracking-search-box .search-icon{position:absolute;left:1.15rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.tracking-search-input{width:100%;padding:.45rem .6rem .45rem 2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.78rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.tracking-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.tracking-search-input::placeholder{color:var(--text-muted)}.tracking-device-card.active{background:var(--accent-glow)!important;border-color:var(--accent)!important;box-shadow:0 0 12px #00d4ff14,inset 0 0 0 1px #00d4ff26}.tracking-refresh-btn{background:var(--input-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;padding:4px 6px;display:flex;align-items:center;transition:all .2s}.tracking-refresh-btn:hover{background:var(--hover-bg);color:var(--accent);border-color:var(--accent)}.tracking-device-list{flex:1;overflow-y:auto;padding:.5rem}.tracking-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;color:var(--text-muted);text-align:center}.tracking-empty p{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.tracking-empty span{font-size:.75rem}.tracking-device-card{width:100%;display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;text-align:left;color:var(--text-primary);font-family:inherit;transition:all .15s ease;margin-bottom:2px}.tracking-device-card.active{background:var(--sidebar-active-bg);border-color:var(--accent)}.device-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.device-status-dot.moving{background:#22c55e;box-shadow:0 0 8px #22c55e;animation:pulse-dot 2s ease-in-out infinite}.device-status-dot.idle{background:var(--success);box-shadow:0 0 6px var(--success)}.device-status-dot.parked{background:#f59e0b;box-shadow:0 0 6px #f59e0b}.device-status-dot.reporting{background:#00d4ff;box-shadow:0 0 6px #00d4ff}.device-status-dot.offline{background:var(--danger);box-shadow:0 0 6px var(--danger)}.device-status-dot.online{background:var(--success);box-shadow:0 0 6px var(--success)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.device-status-dot.large{width:12px;height:12px}.device-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.device-label{font-size:.82rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.device-plate{display:inline-block;font-family:Arial Narrow,Arial,sans-serif;font-size:.65rem;font-weight:900;color:#111!important;background:#f5f5f0;border:1px solid #bbb;border-radius:3px;padding:1px 5px;width:fit-content;letter-spacing:.07em;white-space:nowrap;box-shadow:0 1px 3px #0003}.device-meta{font-size:.7rem;color:var(--text-muted);display:flex;align-items:center;flex-wrap:wrap}.device-chevron{color:var(--text-muted);flex-shrink:0;opacity:0;transition:opacity .15s}.tracking-device-card:hover .device-chevron,.tracking-device-card.active .device-chevron{opacity:1}.tracking-map-area{position:absolute;inset:0;z-index:1;pointer-events:auto}.tracking-map{width:100%;height:100%;touch-action:manipulation}.tracking-map .leaflet-control-zoom{border:1px solid var(--border-hover)!important;border-radius:10px!important;overflow:hidden;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;box-shadow:0 4px 16px #0000004d!important}.tracking-map .leaflet-control-zoom a{background:#00000073!important;color:var(--text-primary)!important;border-color:var(--border-hover)!important;font-weight:600;transition:background .15s,color .15s}.tracking-map .leaflet-control-zoom a:hover{background:var(--accent-glow)!important;color:var(--accent)!important}.tracker-marker-icon{position:relative;display:flex;align-items:center;justify-content:center}.marker-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--text-primary);position:relative;z-index:2}.marker-ping{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--accent);opacity:0;z-index:1;animation:ping 2s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{0%{transform:scale(.5);opacity:.4}75%,to{transform:scale(2);opacity:0}}.marker-cluster{background:transparent!important;border:none!important}.marker-cluster .cluster-inner{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);border:2px solid var(--text-secondary);transition:transform .15s ease}.marker-cluster:hover .cluster-inner{transform:scale(1.15)}.marker-cluster-small .cluster-inner{background:#00d4ffd9;box-shadow:0 0 12px #00d4ff80,0 0 24px #00d4ff33}.marker-cluster-medium .cluster-inner{background:#fbbf24d9;box-shadow:0 0 12px #fbbf2480,0 0 24px #fbbf2433}.marker-cluster-large .cluster-inner{background:#f87171d9;box-shadow:0 0 12px #f8717180,0 0 24px #f8717133}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:transform .3s ease,opacity .3s ease}.map-overlay-badge{position:absolute;z-index:1000;background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:.75rem;color:var(--text-primary);display:flex;align-items:center;gap:8px;box-shadow:0 4px 16px #0000001a;transition:all .2s ease}.map-overlay-badge.top-right{top:12px;right:12px}.map-overlay-badge.top-left{top:12px;left:12px}.map-overlay-badge.clickable{cursor:pointer;transition:all .15s;font-weight:500}.map-overlay-badge.clickable:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.map-detail-panel{position:absolute;bottom:12px;left:12px;right:12px;z-index:1000;border-radius:var(--radius);padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;animation:slideUp .2s ease}.detail-info{flex:1;min-width:0}.detail-name{font-size:.85rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.detail-meta{font-size:.72rem;color:var(--text-secondary);display:flex;align-items:center;gap:4px;margin-top:2px}.detail-sep{color:var(--text-muted)}.detail-imei{font-size:.65rem;color:var(--text-muted);font-family:Inter,monospace;margin-top:2px}.detail-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.15rem;line-height:1;padding:2px;transition:color .15s}.detail-close:hover{color:var(--text-primary)}@media(max-width:768px){.tracking-page{margin:-3.5rem -1rem -1rem;width:calc(100% + 2rem);height:calc(100vh + 3.5rem);height:calc(100dvh + 3.5rem)}.tracking-stats{position:absolute;top:52px;left:8px;right:8px;transform:none;max-width:none;flex-wrap:nowrap;justify-content:stretch;gap:.25rem;z-index:420}.tracking-stat{flex:1;padding:.3rem .4rem;min-width:0;gap:.2rem;justify-content:center;text-align:center;flex-direction:column;align-items:center}.tracking-stat-icon{display:none}.tracking-stat-label{font-size:.5rem;letter-spacing:.02em}.tracking-stat-value{font-size:.85rem}.tracking-body{flex-direction:column}.tracking-sidebar{position:absolute;bottom:0;left:0;right:0;width:100%;height:auto;max-height:45vh;margin:0;border-radius:20px 20px 0 0;border-right:none;border-top:1px solid var(--border);box-shadow:0 -8px 32px #00000026;z-index:430;overflow-y:auto;-webkit-overflow-scrolling:touch}.tracking-sidebar-tabs{position:sticky;top:0;z-index:5;background:inherit;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);gap:0}.sidebar-tab{flex:1;justify-content:center;padding:.5rem;font-size:.75rem}.tracking-sidebar-header{padding:.4rem .75rem}.tracking-sidebar-header h3{font-size:.78rem}.tracking-search-box{padding:.3rem .6rem}.tracking-device-list{display:flex;flex-direction:column;gap:.25rem;padding:.3rem .5rem;overflow-y:auto;max-height:none}.tracking-device-card{min-width:0;flex-shrink:0}.geofence-list{border-top:1px solid var(--border)}.geofence-list-header{padding:.35rem .6rem;font-size:.68rem}.tracking-map-area{flex:1;min-height:0}.map-style-toggle{inset:105px 8px auto auto!important;z-index:440!important;flex-direction:column}.map-overlay-badge.top-right{display:none}.map-overlay-badge.top-left{top:105px;left:auto;right:8px}.tracking-map .leaflet-control-zoom{margin-top:60px!important}.speed-legend{bottom:50vh!important}}.tracking-device-card{display:flex;align-items:center;gap:0;background:transparent;border:1px solid transparent;border-radius:var(--radius);margin-bottom:2px;transition:all .15s ease;overflow:hidden;position:relative}.tracking-device-card:hover{background:var(--bg-card);border-color:var(--border)}.tracking-device-card.active{background:var(--sidebar-active-bg);border-color:var(--accent);box-shadow:0 0 12px #00d4ff0f,inset 0 0 0 1px #00d4ff1a}.device-card-main{flex:1;display:flex;align-items:center;gap:.6rem;padding:.65rem .5rem .65rem .75rem;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--text-primary);font-family:inherit;min-width:0}.device-actions{display:flex;flex-direction:column;flex-shrink:0;border-left:1px solid transparent;transition:border-color .15s;opacity:0}.tracking-device-card:hover .device-actions,.tracking-device-card.active .device-actions{opacity:1;border-left-color:var(--border)}.device-action-btn{display:flex;align-items:center;justify-content:center;width:38px;min-height:28px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all .15s ease;padding:0}.device-action-btn:hover{color:var(--accent);background:var(--accent-glow)}.device-action-btn:active{transform:scale(.9)}.device-action-vehicle:hover{color:var(--purple);background:#7b2ff71a}.history-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.history-panel-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.history-back-btn{display:flex;align-items:center;gap:3px;font-size:.72rem;font-weight:600;color:var(--accent);background:var(--sidebar-active-bg);border:1px solid var(--accent);border-radius:6px;padding:3px 8px;cursor:pointer;transition:all .15s;flex-shrink:0}.history-back-btn:hover{background:var(--accent-glow)}.history-panel-title{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-date-section{display:flex;flex-direction:column;gap:.4rem;padding:.65rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.history-date-shortcuts{display:flex;gap:4px;margin-bottom:.1rem}.history-shortcut-btn{flex:1;padding:4px 6px;font-size:.64rem;font-weight:600;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap;text-align:center}.history-shortcut-btn:hover:not(:disabled){background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.history-shortcut-btn:disabled{opacity:.4;cursor:not-allowed}.history-date-row{display:flex;align-items:center;gap:.5rem}.history-date-row label{font-size:.68rem;color:var(--text-muted);display:flex;align-items:center;gap:3px;width:30px;flex-shrink:0}.history-date-input{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.68rem;padding:4px 6px;font-family:inherit}.history-date-input:focus{outline:none;border-color:var(--accent)}.history-load-btn{width:100%;padding:.45rem;font-size:.78rem;font-weight:600;background:var(--accent-glow);border:1px solid var(--accent);border-radius:8px;color:var(--accent);cursor:pointer;transition:all .15s;margin-top:.2rem}.history-load-btn:hover:not(:disabled){background:var(--accent-glow)}.history-load-btn:disabled{opacity:.5;cursor:not-allowed}.history-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--border);border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-shrink:0}.history-stat-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:.5rem .25rem;background:var(--hover-bg)}.history-stat-label{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.history-stat-value{font-size:.78rem;font-weight:700;color:var(--text-primary)}.history-playback{padding:.6rem .75rem;display:flex;flex-direction:column;gap:.5rem;flex-shrink:0;border-top:1px solid var(--border)}.history-scrubber-row{display:flex;align-items:center;gap:.4rem}.history-scrubber-time,.history-scrubber-pct{font-size:.62rem;color:var(--text-muted);font-family:monospace;flex-shrink:0;min-width:44px}.history-scrubber-pct{text-align:right;min-width:28px}.history-scrubber-track{flex:1;height:4px;background:#ffffff1f;border-radius:2px;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.history-scrubber-fill{height:100%;background:var(--accent);border-radius:2px}.history-scrubber-thumb{position:absolute;top:50%;width:13px;height:13px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px var(--accent),0 0 16px #00d4ff59;pointer-events:none;transition:transform .1s}.history-scrubber-track:hover .history-scrubber-thumb{transform:translate(-50%,-50%) scale(1.3)}.history-controls-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.history-transport{display:flex;gap:.4rem}.history-transport-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--input-bg);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.history-transport-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.history-transport-btn.accent{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.history-transport-btn.accent:hover{background:var(--accent-glow)}.history-speed-selector{display:flex;gap:3px}.history-speed-btn{padding:3px 7px;font-size:.65rem;font-weight:600;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.history-speed-btn:hover{color:var(--text-primary);border-color:var(--border-hover)}.history-speed-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.history-empty-msg{font-size:.75rem;color:var(--text-muted);text-align:center;padding:1.5rem 1rem}.ghost-marker-icon{position:relative;display:flex;align-items:center;justify-content:center}.ghost-marker-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-primary);box-shadow:0 0 10px #00d4ff,0 0 20px #00d4ff88;position:relative;z-index:2;animation:ghost-pulse 1.5s ease-in-out infinite}@keyframes ghost-pulse{0%,to{box-shadow:0 0 8px #00d4ff,0 0 16px #00d4ff88}50%{box-shadow:0 0 16px #00d4ff,0 0 32px #00d4ffaa}}.tracker-popup-container .leaflet-popup-content-wrapper{background:var(--bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-hover);border-radius:12px;box-shadow:0 8px 32px var(--shadow-color);color:var(--text-primary);font-family:Inter,-apple-system,sans-serif;padding:0}.tracker-popup-container .leaflet-popup-content{margin:0;font-size:.82rem;line-height:1.5}.tracker-popup-container .leaflet-popup-tip{background:var(--bg-secondary);border:1px solid var(--border-hover);border-top:none;border-left:none}.tracker-popup-container .leaflet-popup-close-button{color:var(--text-secondary)!important;font-size:18px!important;top:6px!important;right:8px!important}.tracker-popup-container .leaflet-popup-close-button:hover{color:var(--text-primary)!important}.tracker-popup{padding:12px 14px;min-width:200px}.tracker-popup-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.tracker-popup-header strong{font-size:.9rem;font-weight:700;color:var(--text-primary)}.popup-plate{display:inline-block;font-family:Arial Narrow,Arial,sans-serif;font-size:.65rem;font-weight:900;background:#f5f5f0;color:#111;border:1px solid #bbb;border-radius:3px;padding:1px 6px;letter-spacing:.08em;white-space:nowrap;box-shadow:0 1px 3px #00000040;text-decoration:none}.popup-plate.clickable:hover{background:#e8e8e0}.tracker-popup-body{display:flex;flex-direction:column;gap:4px;font-size:.78rem}.tracker-popup-body>div{color:var(--text-primary)}.popup-address{color:var(--text-secondary)!important;font-size:.74rem}.popup-seen{color:var(--text-muted)!important;font-size:.72rem}.map-style-toggle{position:absolute;bottom:16px;left:300px;z-index:800;display:flex;gap:2px;background:var(--bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-hover);border-radius:10px;padding:3px}.map-style-btn{background:transparent;border:none;color:var(--text-secondary);font-size:.72rem;padding:5px 10px;border-radius:8px;cursor:pointer;transition:all .2s;line-height:1}.map-style-btn:hover{background:var(--hover-bg)}.map-style-btn.active{background:var(--accent-glow);color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.speed-legend{position:absolute;bottom:16px;right:16px;z-index:800;display:flex;gap:12px;background:var(--bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-hover);border-radius:10px;padding:6px 14px;font-size:.72rem;color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{width:10px;height:4px;border-radius:2px;display:inline-block}.vehicle-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.detail-metric{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:.75rem;color:var(--text-secondary)}.detail-metric .metric-value{color:var(--text-primary);font-weight:600;margin-left:auto}.tracking-sidebar-tabs{display:flex;border-bottom:1px solid var(--border)}.sidebar-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:.6rem;background:transparent;border:none;color:var(--text-secondary);font-size:.76rem;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.sidebar-tab:hover{color:var(--text-primary);background:var(--bg-card)}.sidebar-tab.active{color:var(--accent)}.sidebar-tab.active:after{content:"";position:absolute;bottom:-1px;left:20%;right:20%;height:2px;background:var(--accent);border-radius:1px}.alert-badge{background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:10px;min-width:16px;text-align:center}.alert-card{display:flex;align-items:flex-start;gap:8px;padding:.6rem .75rem;border-bottom:1px solid var(--border);transition:background .15s}.alert-card.unread{background:var(--accent-glow);border-left:3px solid var(--accent)}.alert-icon{font-size:1rem;flex-shrink:0;margin-top:2px}.alert-info{display:flex;flex-direction:column;gap:2px;min-width:0}.alert-message{font-size:.76rem;color:var(--text-primary);line-height:1.3}.alert-time{font-size:.68rem;color:var(--text-muted)}.geofence-form-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:900}.geofence-form{background:var(--bg-secondary);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-hover);border-radius:14px;padding:1rem;width:260px;display:flex;flex-direction:column;gap:10px}.geofence-form-header{display:flex;align-items:center;justify-content:space-between}.geofence-form-header h4{display:flex;align-items:center;gap:6px;margin:0;font-size:.85rem;color:var(--text-primary)}.geofence-form-header button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px}.geofence-input{width:100%;padding:.5rem .65rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.8rem;font-family:inherit;outline:none}.geofence-input:focus{border-color:var(--accent)}.geofence-radius-row{display:flex;flex-direction:column;gap:4px}.geofence-radius-row label{font-size:.72rem;color:var(--text-secondary)}.geofence-radius-row input[type=range]{accent-color:var(--accent)}.geofence-coords{font-size:.7rem;color:var(--text-muted)}.geofence-save-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:.5rem;background:var(--accent-glow);border:1px solid var(--accent);color:var(--accent);border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s}.geofence-save-btn:hover:not(:disabled){background:#00d4ff33}.geofence-save-btn:disabled{opacity:.4;cursor:not-allowed}.geofence-list{border-top:1px solid var(--border);padding-top:.25rem}.geofence-list-header{display:flex;justify-content:space-between;padding:.4rem .75rem;font-size:.72rem;font-weight:600;color:var(--text-secondary)}.geofence-item{display:flex;align-items:center;gap:6px;padding:.35rem .75rem;font-size:.76rem;color:var(--text-primary);border-bottom:1px solid var(--border)}.geofence-item .muted{margin-left:auto;font-size:.68rem}.geofence-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;border-radius:4px;transition:color .15s}.geofence-delete-btn:hover{color:var(--danger)}.history-position-list{border-top:1px solid var(--border);display:flex;flex-direction:column;flex:1;min-height:0}.history-position-list-header{padding:.4rem .75rem;font-size:.72rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border)}.history-position-scroll{overflow-y:auto;flex:1;max-height:300px}.history-position-item{display:flex;align-items:center;gap:8px;width:100%;padding:.35rem .75rem;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.72rem;font-family:inherit;cursor:pointer;text-align:left;transition:all .15s}.history-position-item:hover{background:var(--bg-card)}.history-position-item.active{background:var(--accent-glow);color:var(--text-primary);border-left:2px solid var(--accent)}.position-time{font-weight:600;color:var(--text-primary);min-width:60px}.position-speed{color:var(--accent);min-width:45px}.position-coords{color:var(--text-muted);font-size:.68rem;margin-left:auto}.add-geofence-btn{display:flex;align-items:center;gap:3px;background:var(--sidebar-active-bg);border:1px solid var(--accent);color:var(--accent);font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:6px;cursor:pointer;transition:all .2s}.add-geofence-btn:hover{background:var(--accent-glow)}.add-geofence-btn.active{background:#f871711a;border-color:#f871714d;color:var(--danger)}.top-center{top:12px;left:50%;transform:translate(-50%);right:auto}.pulse-badge{animation:pulse-badge 1.5s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.popup-plate.clickable{cursor:pointer;text-decoration:none;transition:all .15s}.popup-plate.clickable:hover{background:var(--accent-glow);transform:scale(1.05)}.popup-vehicle-link{display:block;margin-top:6px;padding:4px 8px;background:var(--sidebar-active-bg);border:1px solid var(--accent);border-radius:6px;color:var(--accent);font-size:.72rem;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;transition:all .2s}.popup-vehicle-link:hover{background:var(--accent-glow)}.history-view-tabs{display:flex;gap:2px;padding:.25rem .5rem;border-bottom:1px solid var(--border)}.history-view-tab{flex:1;background:none;border:none;padding:.4rem .5rem;font-size:.72rem;font-weight:600;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .2s;text-transform:uppercase;letter-spacing:.04em}.history-view-tab.active{background:var(--sidebar-active-bg);color:var(--accent)}.history-view-tab:hover:not(.active){color:var(--text-primary)}.activity-timeline{flex:1;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:2px}.activity-segment{display:flex;gap:.6rem;padding:.6rem .5rem;background:none;border:none;border-radius:8px;text-align:left;cursor:pointer;transition:background .2s;position:relative;color:var(--text-primary);width:100%;font-family:inherit}.activity-segment:hover{background:var(--sidebar-active-bg)}.activity-segment:not(:last-child):after{content:"";position:absolute;left:17px;bottom:-2px;width:2px;height:4px;background:var(--border)}.activity-segment-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.activity-segment.driving .activity-segment-icon{background:#4ade8026;color:#4ade80}.activity-segment.stopped .activity-segment-icon{background:#fbbf2426;color:#fbbf24}.activity-segment-content{flex:1;min-width:0}.activity-segment-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.activity-segment-type{font-size:.78rem;font-weight:600}.activity-segment-time{font-size:.7rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.activity-segment-details{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--text-secondary);margin-top:2px}.activity-segment-dot{color:var(--text-muted)}.activity-segment-duration{font-weight:500}.activity-segment-address{display:flex;align-items:center;gap:3px;font-size:.68rem;color:var(--text-muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-segment-address svg{flex-shrink:0;opacity:.6}.route-flow-seg{animation:route-flow 1.2s linear infinite}@keyframes route-flow{0%{stroke-dashoffset:18}to{stroke-dashoffset:0}}.hist-dot-icon{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000059;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;animation:dot-pop-in .25s ease backwards}@keyframes dot-pop-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.hist-dot-icon:hover{transform:scale(1.3);box-shadow:0 4px 14px #00000080}.hist-dot-icon.moving{background:#22c55e}.hist-dot-icon.idle{background:#f59e0b}.hist-dot-icon.stopped{background:#ef4444;border-radius:5px}.hdot-arrow{width:11px;height:11px;fill:#fff;display:block}.hdot-stop-sq{display:block;width:8px;height:8px;background:#fff;border-radius:1px}.history-dot-popup .leaflet-popup-content-wrapper{background:#1a1f2e;border:1px solid var(--border);border-radius:8px;box-shadow:var(--card-shadow);color:#e8eaed}.history-dot-popup .leaflet-popup-content-wrapper div{color:#e8eaed!important}.history-dot-popup .leaflet-popup-content{margin:8px 10px}.history-dot-popup .leaflet-popup-tip{background:#1a1f2e;border:1px solid var(--border)}.history-dot-content{font-size:.78rem;line-height:1.5;min-width:180px}.hdot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px}.hdot-header strong{font-size:.82rem}.hdot-plate{background:#00d4ff26;color:#00d4ff;padding:1px 6px;border-radius:4px;font-size:.68rem;font-weight:600;letter-spacing:.03em}.hdot-datetime{color:#9ca3af;font-size:.72rem;margin-bottom:4px}.hdot-addr{color:#d1d5db;font-size:.72rem;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border)}.hdot-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.hdot-speed{font-weight:600;font-size:.85rem}.hdot-heading{color:#9ca3af;font-size:.7rem}.hdot-ignition{font-size:.7rem;margin-bottom:3px}.hdot-ignition.on{color:#4ade80}.hdot-ignition.off{color:#f87171}.hdot-meta{color:#6b7280;font-size:.68rem;margin-top:4px;padding-top:4px;border-top:1px solid var(--divider)}.vehicle-arrow{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}.replay-hud{position:absolute;z-index:900;display:none;flex-direction:column;align-items:center;gap:1px;padding:4px 10px 5px;background:#000000b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,212,255,.35);border-radius:8px;transform:translate(-50%);pointer-events:none;white-space:nowrap;box-shadow:0 2px 12px #00000080}.hud-speed{font-family:Orbitron,monospace;font-size:.85rem;font-weight:700;color:#00d4ff;line-height:1.1}.hud-time{font-family:monospace;font-size:.62rem;color:#fff9;line-height:1}.tracking-map-area .map-overlay-badge{z-index:410}.tracking-map-area .map-style-toggle{z-index:800}.tracking-map-area .speed-legend{z-index:410}.searchable-select{position:relative;width:100%}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:38px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.4rem .75rem;cursor:pointer;font-size:.9rem;transition:border-color .15s}.searchable-select-trigger.open{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.searchable-select-input{all:unset;flex:1;font-size:.9rem;color:var(--text-primary);min-width:0}.searchable-select-placeholder{color:var(--text-muted)}.searchable-select-value{color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchable-select-icons{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.searchable-select-clear{color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:.15rem;border-radius:3px}.searchable-select-clear:hover{color:var(--text-primary);background:var(--hover-bg)}.searchable-select-arrow{font-size:.6rem;color:var(--text-muted)}.searchable-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow-y:auto;background:var(--select-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px var(--shadow-color);z-index:100}.searchable-select-option{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;cursor:pointer;font-size:.88rem;transition:background .1s}.searchable-select-option:hover{background:var(--accent-glow)}.searchable-select-option.selected{background:var(--accent-glow);color:var(--accent)}.searchable-select-secondary{font-size:.78rem;color:var(--text-muted)}.searchable-select-empty{padding:1rem;text-align:center;color:var(--text-muted);font-size:.85rem}.trackers-stats{display:flex;gap:.75rem;margin-bottom:1rem}.trackers-stat{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;text-align:center;display:flex;flex-direction:column;gap:.2rem}.trackers-stat .stat-value{font-size:1.4rem;font-weight:700}.trackers-stat .stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.trackers-stat.online .stat-value{color:var(--success)}.trackers-stat.offline .stat-value{color:var(--danger)}.trackers-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.trackers-filter-btns{display:flex;gap:.25rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}.trackers-filter-btns button{all:unset;padding:.45rem .8rem;font-size:.82rem;cursor:pointer;background:var(--bg-card);color:var(--text-muted);transition:all .15s;white-space:nowrap}.trackers-filter-btns button:hover{color:var(--text-primary)}.trackers-filter-btns button.active{background:var(--accent);color:var(--text-on-glass)}.trackers-search{flex:1;min-width:180px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:.45rem .75rem;font-size:.85rem}.trackers-search:focus{outline:none;border-color:var(--accent)}.trackers-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border)}.trackers-table{width:100%;border-collapse:collapse;font-size:.88rem}.trackers-table thead th{background:var(--bg-secondary);text-align:left;padding:.55rem .75rem;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.trackers-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.trackers-table tbody tr:hover{background:var(--hover-bg)}.trackers-table tbody tr:last-child{border-bottom:none}.trackers-table td{padding:.5rem .75rem;vertical-align:middle}.inactive-row{opacity:.45}.editing-row{background:var(--accent-glow)!important}.tracker-imei{font-family:SF Mono,Menlo,Consolas,monospace;font-size:.82rem;letter-spacing:.03em;color:var(--accent)}.tracker-name{font-weight:500}.tracker-model{font-size:.82rem;color:var(--text-muted)}.tracker-plate{font-weight:600;font-size:.85rem}.tracker-plate.clickable{cursor:pointer;color:var(--accent)}.tracker-plate.clickable:hover{text-decoration:underline}.tracker-plate.unassigned{color:var(--text-muted);font-weight:400;font-style:italic}.tracker-lastseen{font-size:.82rem;color:var(--text-muted)}.tracker-status-dot{font-size:.9rem}.inline-edit-input{width:120px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;padding:.25rem .4rem;font-size:.85rem}.inline-edit-select{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;padding:.25rem .3rem;font-size:.82rem}.tracker-actions{display:flex;gap:.3rem;align-items:center}.btn-xs{padding:.2rem .5rem!important;font-size:.78rem!important;border-radius:4px!important}.btn-danger{background:var(--danger)!important;color:var(--text-on-glass)!important;border:none!important}.btn-danger:hover{opacity:.85}.trackers-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.trackers-empty span{font-size:2.5rem;display:block;margin-bottom:.5rem}.vdp-register-tracker{margin-top:.75rem;padding:.75rem 1rem;background:var(--accent-glow);border:1px dashed var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.vdp-register-tracker p{margin:0;font-size:.85rem;color:var(--text-muted)}.vdp-register-tracker .registered-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--success);font-weight:500}@media(max-width:768px){.trackers-stats,.trackers-toolbar{flex-direction:column}.trackers-search{min-width:unset;width:100%}.hide-mobile{display:none!important}.tracker-actions{flex-wrap:wrap}}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 24px;text-align:center;color:var(--text-secondary, #94a3b8)}.access-denied svg{opacity:.5}.access-denied h2{color:var(--text-primary, #e2e8f0);margin:0}.access-denied p{max-width:360px;line-height:1.5}.fota-section{margin-top:32px;border-top:1px solid var(--border-color, rgba(255,255,255,.08));padding-top:24px}.fota-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.fota-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1.05rem;color:var(--text-primary, #e2e8f0)}.fota-actions{display:flex;align-items:center;gap:12px}.fota-sync-status{font-size:.82rem;color:var(--text-secondary, #94a3b8)}.fota-not-configured{font-size:.82rem;color:var(--warn, #f59e0b);background:#f59e0b14;padding:6px 12px;border-radius:6px;border:1px solid rgba(245,158,11,.15)}.fota-table{opacity:.95}.fota-registered-row{opacity:.55}.fota-firmware{font-family:var(--font-mono, "Fira Code", monospace);font-size:.8rem}.fota-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.fota-badge.registered{background:#6366f11f;color:#818cf8}.fota-badge.available{background:#10b9811f;color:#34d399}.btn-xs{padding:4px 10px;font-size:.78rem;border-radius:6px}@keyframes fota-spin{to{transform:rotate(360deg)}}.spin{animation:fota-spin .8s linear infinite}.tickets-page{max-width:1200px;margin:0 auto}.tickets-page .view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.tickets-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:0}.tab-btn{background:none;border:none;color:var(--text-muted);padding:.6rem 1.2rem;cursor:pointer;font-size:.9rem;border-bottom:2px solid transparent;transition:all .2s}.tickets-filters{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.tickets-filters select{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.45rem .75rem;font-size:.85rem}.tickets-list{display:flex;flex-direction:column;gap:.5rem}.tickets-empty{text-align:center;padding:3rem;color:var(--text-muted)}.tickets-empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.ticket-card{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-radius:8px;cursor:pointer;background:var(--bg-card);border:1px solid var(--border);transition:all .15s;border-left:3px solid var(--border)}.ticket-card:hover{background:var(--card-hover, rgba(0, 0, 0, .04));border-color:var(--accent, #3b82f6);transform:translate(2px)}.ticket-card.priority-critical{border-left-color:var(--danger)}.ticket-card.priority-high{border-left-color:#f97316}.ticket-card.priority-normal{border-left-color:var(--text-muted)}.ticket-card.priority-low{border-left-color:var(--accent)}.ticket-card-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.ticket-type-icon{font-size:1.4rem;flex-shrink:0}.ticket-card-info{min-width:0;flex:1}.ticket-card-title{font-weight:500;font-size:.95rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-id{color:var(--text-muted);font-size:.82rem;margin-right:.5rem}.ticket-card-meta{display:flex;gap:.75rem;align-items:center;margin-top:.25rem;font-size:.8rem;color:var(--text-muted)}.ticket-plate{background:var(--input-bg);padding:.1rem .45rem;border-radius:3px;font-weight:600;font-size:.75rem;letter-spacing:.5px}.ticket-card-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.ticket-status-pill{font-size:.75rem;padding:.2rem .6rem;border-radius:99px;font-weight:500;white-space:nowrap}.status-open{background:#22c55e1f;color:var(--success);border:1px solid rgba(34,197,94,.25)}.status-in_progress{background:#fbbf241f;color:var(--warning);border:1px solid rgba(251,191,36,.25)}.status-awaiting_parts{background:#a78bfa1f;color:var(--purple);border:1px solid rgba(167,139,250,.25)}.status-completed{background:var(--accent-glow);color:var(--accent);border:1px solid rgba(59,130,246,.2)}.status-closed{background:var(--glass-light);color:var(--text-muted);border:1px solid var(--border)}.ticket-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ticket-assignee{width:28px;height:28px;border-radius:50%;font-size:.7rem;background:var(--accent);color:var(--text-primary);font-weight:600;display:flex;align-items:center;justify-content:center}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:90%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-header h3{margin:0;font-size:1.1rem}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem;border-top:1px solid var(--border)}.form-row{margin-bottom:.85rem}.form-row label{display:block;font-size:.82rem;color:var(--text-muted);margin-bottom:.3rem}.form-row input,.form-row select,.form-row textarea{width:100%;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;font-size:.9rem;font-family:inherit}.form-row textarea{resize:vertical}.form-row-group{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ticket-detail-page{max-width:1200px;margin:0 auto}.ticket-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.ticket-detail-header .back-btn{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:.3rem}.ticket-detail-header h2{margin:0;font-size:1.3rem;flex:1}.ticket-detail-layout{display:grid;grid-template-columns:1fr 300px;gap:1.5rem}@media(max-width:768px){.ticket-detail-layout{grid-template-columns:1fr}}.ticket-detail-main,.ticket-detail-sidebar{display:flex;flex-direction:column;gap:1rem}.detail-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.detail-card h4{margin:0 0 .75rem;font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.sidebar-row{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.88rem}.sidebar-row:last-child{border-bottom:none}.sidebar-label{color:var(--text-muted)}.sidebar-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.sidebar-actions .btn{width:100%;text-align:center}.comment-timeline{display:flex;flex-direction:column;gap:.75rem}.comment-item{display:flex;gap:.65rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.comment-item:last-child{border-bottom:none}.comment-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--accent);color:var(--text-primary);font-size:.7rem;display:flex;align-items:center;justify-content:center;font-weight:600}.comment-body{flex:1}.comment-header{font-size:.82rem;color:var(--text-muted);margin-bottom:.25rem}.comment-header strong{color:var(--text-primary)}.comment-text{font-size:.9rem;line-height:1.5}.comment-system{font-style:italic;color:var(--text-muted);font-size:.82rem}.comment-photos{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.comment-photo{width:80px;height:60px;object-fit:cover;border-radius:6px;border:1px solid var(--border);cursor:pointer}.add-comment{display:flex;gap:.5rem;margin-top:.5rem}.add-comment textarea{flex:1;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.5rem;font-size:.9rem;font-family:inherit;resize:vertical;min-height:60px}.fleets-page{padding:0}.fleets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1rem}.fleet-card{background:var(--bg-secondary, #161b22);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s ease}.fleet-card:hover{border-color:var(--accent, #7c3aed);box-shadow:0 0 20px #7c3aed1a}.fleet-card.inactive{opacity:.6}.fleet-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none}.fleet-card-title{display:flex;align-items:center;gap:.5rem}.fleet-card-title h3{margin:0;font-size:1.05rem;color:var(--text-primary, #e0e0e0)}.fleet-card-icon{color:var(--text-secondary, #888)}.fleet-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:4px;font-weight:600}.fleet-badge.inactive{background:#ef444426;color:#ef4444}.fleet-card-actions{display:flex;gap:4px}.fleet-action-btn{background:transparent;border:none;color:var(--text-secondary, #888);cursor:pointer;padding:4px 6px;border-radius:4px;transition:all .15s ease}.fleet-action-btn:hover{color:var(--text-primary, #e0e0e0);background:var(--glass-light)}.fleet-action-btn.danger:hover{color:#ef4444;background:#ef44441a}.fleet-delete-confirm{display:flex;gap:2px}.fleet-card-stats{display:flex;gap:1.5rem;padding:0 1.25rem .75rem}.fleet-stat{display:flex;align-items:center;gap:.35rem;color:var(--text-secondary, #888);font-size:.8rem}.fleet-stat span{color:var(--text-primary, #e0e0e0);font-weight:600}.fleet-stat label{color:var(--text-secondary, #888);font-size:.75rem}.fleet-card-details{padding:.75rem 1.25rem 1.25rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.fleet-detail-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary, #888)}.fleet-description{font-size:.85rem;color:var(--text-secondary, #888);margin:0;line-height:1.4}.fleet-managers{margin-top:.25rem}.fleet-managers h4{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary, #888);margin:0 0 .4rem}.fleet-manager-chip{display:inline-block;background:#7c3aed26;color:var(--accent, #7c3aed);font-size:.75rem;padding:2px 8px;border-radius:12px;margin-right:4px;margin-bottom:4px}.fleets-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary, #888);text-align:center}.fleets-empty h2{color:var(--text-primary, #e0e0e0);margin:1rem 0 .25rem}.fleets-empty p{margin-bottom:1.5rem}.fleets-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1rem}.fleet-card-skeleton{height:120px;background:var(--bg-secondary, #161b22);border:1px solid var(--border);border-radius:12px;animation:pulse 1.5s ease infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.7}}.fleet-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fleet-modal{background:var(--bg-secondary, #161b22);border:1px solid var(--border);border-radius:16px;width:90%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--modal-shadow)}.fleet-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.fleet-modal-header h2{margin:0;font-size:1.15rem;color:var(--text-primary, #e0e0e0)}.fleet-modal-close{background:transparent;border:none;color:var(--text-secondary, #888);cursor:pointer;padding:4px;border-radius:4px}.fleet-modal-close:hover{color:var(--text-primary, #e0e0e0)}.fleet-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.fleet-form-row{display:flex;flex-direction:column;gap:.35rem}.fleet-form-row label{font-size:.8rem;color:var(--text-secondary, #888);font-weight:500}.fleet-form-row input,.fleet-form-row select{background:var(--bg-primary, #0d1117);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;color:var(--text-primary, #e0e0e0);font-size:.9rem;outline:none;transition:border-color .15s ease}.fleet-form-row input:focus,.fleet-form-row select:focus{border-color:var(--accent, #7c3aed)}.fleet-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.fleet-form-grid .fleet-form-row:last-child{grid-column:1 / -1}.fleet-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border)}.tacho-page{max-width:1200px;margin:0 auto}.tacho-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.tacho-header h1{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin:0}.tacho-subtitle{color:var(--text-secondary);font-size:.85rem;margin:.25rem 0 0}.tacho-header-actions{display:flex;gap:.5rem;align-items:center}.tacho-period-select{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;padding:.4rem .7rem;font-size:.82rem;cursor:pointer}.tacho-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem;margin-bottom:1.5rem}.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;display:flex;align-items:center;gap:.8rem;transition:border-color .2s,box-shadow .2s}.summary-card:hover{border-color:#00d4ff4d;box-shadow:0 0 20px #00d4ff0d}.summary-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-icon.files,.summary-icon.drive{background:#00d4ff1a;color:#00d4ff}.summary-icon.rest{background:#22c55e1a;color:#22c55e}.summary-icon.work{background:#f59e0b1a;color:#f59e0b}.summary-icon.error{background:#ef44441a;color:#ef4444}.summary-data{display:flex;flex-direction:column}.summary-value{font-size:1.4rem;font-weight:700;color:var(--text-primary);line-height:1}.summary-label{font-size:.78rem;color:var(--text-secondary);margin-top:.2rem}.summary-sub{font-size:.7rem;color:var(--text-tertiary, var(--text-secondary));opacity:.7}.summary-card.error{border-color:#ef44444d}.tacho-section{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.2rem;margin-bottom:1.2rem}.section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .8rem}.activity-legend{display:flex;gap:.8rem;margin-bottom:.6rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-secondary)}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.activity-timeline{display:flex;gap:2px;height:28px;border-radius:6px;overflow:hidden;background:var(--bg-primary)}.timeline-bar{min-width:3px;border-radius:2px;cursor:pointer;transition:opacity .15s}.timeline-bar:hover{opacity:.8}.tacho-table-wrap{overflow-x:auto}.tacho-table{width:100%;border-collapse:collapse;font-size:.82rem}.tacho-table th{text-align:left;font-weight:600;color:var(--text-secondary);padding:.5rem .7rem;border-bottom:1px solid var(--border);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.tacho-table td{padding:.6rem .7rem;border-bottom:1px solid rgba(255,255,255,.03);color:var(--text-primary)}.tacho-row{cursor:pointer;transition:background .15s}.tacho-row:hover{background:#00d4ff08}.tacho-row.selected{background:#00d4ff0f}.filename-cell{display:flex;align-items:center;gap:.4rem;font-family:monospace;font-size:.78rem}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-badge.received{background:#f59e0b1f;color:#f59e0b}.status-badge.analysed{background:#22c55e1f;color:#22c55e}.status-badge.error{background:#ef44441f;color:#ef4444}.btn-icon,.btn-icon-sm{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-icon{width:32px;height:32px}.btn-icon-sm{width:28px;height:28px}.btn-icon:hover,.btn-icon-sm:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{background:linear-gradient(135deg,#00d4ff,#09c);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:opacity .15s}.btn-primary:hover{opacity:.9}.tacho-loading{text-align:center;padding:2rem;color:var(--text-secondary)}.tacho-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.tacho-empty svg{opacity:.3;margin-bottom:.8rem}.tacho-empty p{margin:.3rem 0}.tacho-empty-sub{font-size:.78rem;opacity:.7}.tacho-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.tacho-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;max-width:700px;width:100%;max-height:80vh;overflow-y:auto;padding:1.5rem}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-header h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.modal-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;font-size:.82rem;color:var(--text-secondary)}.modal-meta strong{color:var(--text-primary)}.modal-section-title{font-size:.88rem;font-weight:600;color:var(--text-primary);margin:1rem 0 .5rem}.modal-activities{display:flex;flex-direction:column;gap:.3rem;max-height:300px;overflow-y:auto}.activity-row{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:6px;font-size:.78rem;transition:background .1s}.activity-row:hover{background:#ffffff08}.activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.activity-type{font-weight:600;min-width:80px;color:var(--text-primary)}.activity-time{color:var(--text-secondary);min-width:130px}.activity-duration{color:var(--accent);font-weight:600;min-width:50px}.activity-driver{color:var(--text-secondary);font-style:italic}.modal-empty{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.85rem}.modal-actions{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:640px){.tacho-summary-grid{grid-template-columns:1fr 1fr}.modal-meta{flex-direction:column;gap:.4rem}.activity-row{flex-wrap:wrap}}.section-desc{color:var(--text-secondary);font-size:.85rem;margin:-.5rem 0 1rem}.trigger-grid{display:flex;flex-direction:column;gap:.6rem}.trigger-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap}.trigger-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:200px}.trigger-info .online{color:#3fb950}.trigger-info .offline{color:#6b7280}.trigger-name{font-weight:600;color:var(--text-primary)}.trigger-reg{background:#00d4ff1a;padding:.1rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600;color:var(--accent, #00d4ff)}.trigger-imei{font-size:.78rem;color:var(--text-secondary);font-family:Courier New,monospace}.btn-trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem 1rem;background:var(--accent, #00e5ff);color:#0a0f1a;border:none;border-radius:6px;font-weight:600;font-size:.82rem;cursor:pointer;transition:opacity .2s;white-space:nowrap}.btn-trigger:disabled{opacity:.6;cursor:not-allowed}.btn-trigger:hover:not(:disabled){opacity:.85}.trigger-result{font-size:.8rem;width:100%;padding-top:.3rem}.trigger-result.ok{color:#3fb950}.trigger-result.err{color:#f85149}.ac-site-section{margin-bottom:1.5rem}.ac-site-header{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:linear-gradient(135deg,rgba(0,212,255,.04) 0%,transparent 60%);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:.75rem;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ac-site-header:hover{background:linear-gradient(135deg,rgba(0,212,255,.08) 0%,transparent 60%);border-color:var(--border-hover)}.ac-site-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#00d4ff14;color:var(--accent)}.ac-site-info{flex:1;min-width:0}.ac-site-name{font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.ac-site-address{font-size:.75rem;color:var(--text-muted);margin-top:1px}.ac-site-badge{display:flex;align-items:center;gap:.5rem}.ac-device-count{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary)}.ac-lockdown-btn{display:flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:6px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#ef4444;cursor:pointer;transition:all .15s}.ac-lockdown-btn:hover{background:#ef444426;border-color:#ef444466}.ac-lockdown-btn:disabled{opacity:.5;cursor:not-allowed}.ac-building-group{margin-left:1.25rem;margin-bottom:.75rem;padding-left:1rem;border-left:2px solid var(--border);position:relative}.ac-building-header{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;margin-bottom:.5rem}.ac-building-icon{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#818cf81a;color:#818cf8;flex-shrink:0}.ac-building-name{font-size:.82rem;font-weight:600;color:var(--text-primary)}.ac-room-group{margin-left:.75rem;margin-bottom:.5rem}.ac-room-header{display:flex;align-items:center;gap:.4rem;padding:.2rem 0;margin-bottom:.4rem}.ac-room-name{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.ac-device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem}.ac-device-card{padding:1rem 1.1rem;margin:0;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);transition:all .15s ease;position:relative;overflow:hidden}.ac-device-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);opacity:0;transition:opacity .15s}.ac-device-card:hover{border-color:var(--border-hover);box-shadow:0 4px 16px #0000000f}.ac-device-card:hover:before{opacity:1}.ac-device-card.offline{border-color:#ef444433}.ac-device-card.offline:before{background:#ef4444}.ac-card-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.65rem}.ac-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s}.ac-device-card:hover .ac-card-icon{transform:scale(1.05)}.ac-card-title{flex:1;min-width:0}.ac-card-name{font-size:.9rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.ac-card-state{font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.ac-card-location{font-size:.7rem;color:var(--text-muted);display:flex;align-items:center;gap:.3rem;margin-top:2px}.ac-card-location .loc-sep{opacity:.4}.ac-online-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ac-online-dot.online{background:#34d399;box-shadow:0 0 6px #34d399}.ac-online-dot.offline{background:#ef4444;box-shadow:0 0 6px #ef4444}.ac-card-stats{display:flex;gap:.75rem;font-size:.78rem;color:var(--text-muted);margin-bottom:.65rem;align-items:center;flex-wrap:wrap}.ac-stat{display:flex;align-items:center;gap:.25rem}.ac-card-actions{display:flex;gap:.4rem;flex-wrap:wrap}.ac-action-btn{flex:1;min-width:0;padding:.4rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.3rem;transition:all .15s ease;font-family:inherit}.ac-action-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--border-hover);color:var(--text-primary)}.ac-action-btn:disabled{opacity:.4;cursor:not-allowed}.ac-action-btn.primary{background:var(--accent-glow);border-color:var(--accent);color:var(--accent);font-weight:600}.ac-action-btn.primary:hover:not(:disabled){box-shadow:0 0 12px #00d4ff26}.ac-action-btn.icon-only{flex:0 0 auto;width:34px;padding:.4rem}.ac-activity-log{margin-top:.6rem;padding:.65rem;background:var(--hover-bg);border-radius:8px;max-height:220px;overflow-y:auto}.ac-activity-log-title{font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:.4rem}.ac-log-entry{display:flex;align-items:center;gap:.4rem;padding:.35rem 0;border-bottom:1px solid var(--border);font-size:.75rem;color:var(--text-secondary)}.ac-log-entry:last-child{border-bottom:none}.ac-log-action{font-weight:600;text-transform:capitalize}.ac-log-source-badge{font-size:.6rem;background:#00d4ff1a;color:var(--accent);padding:1px 5px;border-radius:3px;font-weight:600}.ac-log-time{color:var(--text-muted);margin-left:auto;flex-shrink:0;font-size:.7rem}.ac-unassigned-section{margin-top:1rem;padding:1rem;border:1px dashed var(--border);border-radius:var(--radius-lg);background:#fbbf2405}.ac-unassigned-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.ac-timeline-section{margin-top:1.5rem}.ac-timeline-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.ac-timeline-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.ac-timeline-card{padding:.85rem 1rem;max-height:500px;overflow-y:auto}.ac-timeline-event{display:flex;gap:.65rem;padding:.45rem 0;border-bottom:1px solid var(--border);align-items:center}.ac-timeline-event:last-child{border-bottom:none}.ac-timeline-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem}.ac-timeline-icon.granted{background:#34d3991a;color:#34d399}.ac-timeline-icon.denied{background:#ef44441a;color:#ef4444}.ac-timeline-icon.info{background:#fbbf241a;color:#fbbf24}.ac-timeline-desc{font-size:.85rem;font-weight:500;color:var(--text-primary)}.ac-timeline-meta{font-size:.73rem;color:var(--text-muted);display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.ac-timeline-time{font-size:.73rem;color:var(--text-muted);flex-shrink:0;text-align:right}.ac-empty-state{text-align:center;padding:3rem 2rem}.ac-empty-state h3{color:var(--text-secondary);margin-bottom:.5rem}.ac-empty-state p{color:var(--text-muted);font-size:.9rem;max-width:400px;margin:0 auto}@media(max-width:768px){.ac-device-grid{grid-template-columns:1fr}.ac-building-group{margin-left:.5rem;padding-left:.75rem}.ac-site-header{padding:.65rem .75rem}.ac-card-actions{flex-wrap:wrap}.ac-action-btn{font-size:.75rem}}.hire-page{max-width:1300px;animation:hire-fadeIn .35s ease}@keyframes hire-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hire-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem;margin-bottom:1.5rem}.hire-new-form{padding:1.25rem;margin-bottom:1.25rem;background:var(--glass-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);animation:hire-fadeIn .2s ease}.hire-new-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.hire-new-form .form-actions{display:flex;gap:.5rem}.hire-crm-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.hire-customer-row{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--divider)}.hire-customer-row:last-child{border-bottom:none}.hire-customer-name{font-size:.88rem;font-weight:600;color:var(--text-primary)}.hire-customer-meta{font-size:.78rem;color:var(--text-muted);margin-top:.15rem}.hire-finance-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.25rem}.hire-rc-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--divider)}.hire-rc-row:last-child{border-bottom:none}.hire-rc-name{font-size:.88rem;font-weight:600;color:var(--text-primary)}.hire-rc-meta{font-size:.72rem;color:var(--text-muted);margin-top:.1rem}.hire-rc-create{display:flex;gap:.5rem;margin-top:1rem}.hire-rc-create input{flex:1;min-width:0}.hire-epod{max-width:560px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.hire-epod-header{padding:1.25rem;background:linear-gradient(135deg,var(--accent),var(--purple));color:#fff}.hire-epod-header h2{font-size:1.15rem;font-weight:700;margin:0}.hire-epod-header p{font-size:.8rem;opacity:.8;margin-top:.2rem}.hire-epod-body{padding:1.5rem}.hire-sig-canvas-wrap{border:2px dashed var(--border-hover);border-radius:var(--radius);background:var(--glass-subtle);position:relative}.hire-sig-canvas-wrap canvas{width:100%;cursor:crosshair;border-radius:var(--radius)}.hire-sig-actions{display:flex;justify-content:flex-end;margin-top:.5rem}@media(max-width:768px){.hire-crm-grid,.hire-finance-grid,.pulse-grid,.hire-new-form .form-grid{grid-template-columns:1fr}.hire-stats{grid-template-columns:repeat(2,1fr)}.pulse-header-strip{flex-direction:column;gap:.75rem}.pulse-header-stats{width:100%;justify-content:space-around}}.pulse-finance-layout{animation:hire-fadeIn .35s ease}.pulse-header-strip{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:linear-gradient(135deg,#a855f714,#3b82f60f);border:1px solid rgba(168,85,247,.15);border-radius:var(--radius-lg);margin-bottom:1.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pulse-header-left{display:flex;align-items:center;gap:.75rem}.pulse-logo-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#a855f7,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #a855f74d}.pulse-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.01em}.pulse-subtitle{font-size:.72rem;color:var(--text-muted);font-weight:500;letter-spacing:.02em}.pulse-header-stats{display:flex;gap:1.75rem}.pulse-mini-stat{display:flex;flex-direction:column;align-items:flex-end}.pulse-mini-value{font-size:1.1rem;font-weight:700;font-family:Inter,system-ui,sans-serif;letter-spacing:-.02em}.pulse-mini-label{font-size:.65rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.pulse-grid{display:grid;grid-template-columns:1fr 340px;gap:1.25rem}.pulse-ledger-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.pulse-section-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.15rem;border-bottom:1px solid var(--divider);font-size:.82rem;font-weight:600;color:var(--text-primary)}.pulse-count-badge{font-size:.65rem;font-weight:700;background:#a855f71f;color:#a855f7;padding:.1rem .5rem;border-radius:10px}.pulse-compliance-tag{display:flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:500;color:var(--text-muted)}.pulse-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.pulse-dot-green{background:#22c55e;box-shadow:0 0 6px #22c55e80;animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 4px #22c55e4d}50%{box-shadow:0 0 10px #22c55e99}}.pulse-invoice-list{padding:0}.pulse-invoice-row{display:grid;grid-template-columns:1.4fr 1fr .7fr auto;align-items:center;padding:.75rem 1.15rem;border-bottom:1px solid var(--divider);transition:background-color .15s ease;gap:.5rem}.pulse-invoice-row:last-child{border-bottom:none}.pulse-invoice-row:hover{background:#a855f708}.pulse-inv-number{font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem;color:var(--text-primary);display:flex;align-items:center;gap:.4rem;letter-spacing:.02em}.pulse-version-badge{font-size:.6rem;font-weight:700;background:#a855f726;color:#a855f7;padding:.05rem .35rem;border-radius:4px;font-family:system-ui}.pulse-inv-client{font-size:.78rem;color:var(--text-secondary);font-weight:500}.pulse-inv-dates{font-size:.7rem;color:var(--text-muted);display:flex;gap:.75rem;margin-top:.12rem}.pulse-inv-due{color:var(--text-muted);opacity:.7}.pulse-inv-amounts{text-align:right}.pulse-inv-gross{font-size:.88rem;font-weight:700;color:var(--text-primary);font-family:Inter,system-ui}.pulse-inv-net-vat{font-size:.65rem;color:var(--text-muted);margin-top:.1rem}.pulse-inv-status-col{display:flex;flex-direction:column;align-items:center;gap:.3rem}.pulse-status-pill{font-size:.68rem;font-weight:600;padding:.2rem .6rem;border-radius:6px;text-transform:capitalize;letter-spacing:.02em}.pulse-xero-linked{display:flex;align-items:center;gap:.2rem;font-size:.6rem;color:#0ea5e9;font-weight:600}.pulse-inv-actions{display:flex;gap:.35rem;align-items:center;justify-content:flex-end}.pulse-action-btn{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:600;padding:.3rem .55rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.pulse-action-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.pulse-action-post{border-color:#a855f74d;color:#a855f7}.pulse-action-post:hover{background:#a855f714;border-color:#a855f7}.pulse-action-xero{border-color:#0ea5e94d;color:#0ea5e9}.pulse-action-xero:hover{background:#0ea5e914;border-color:#0ea5e9}.pulse-action-audit{padding:.3rem;color:var(--text-muted)}.pulse-action-audit:hover{color:var(--text-primary)}.pulse-sidebar{display:flex;flex-direction:column;gap:1rem}.pulse-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.15rem}.pulse-panel-header{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;gap:.5rem}.pulse-xero-panel{border-color:#0ea5e933;background:linear-gradient(135deg,rgba(14,165,233,.04) 0%,transparent 100%)}.pulse-xero-logo{color:#0ea5e9;display:flex}.pulse-xero-actions{display:flex;flex-direction:column;gap:.5rem}.pulse-sync-btn{display:flex;align-items:center;gap:.4rem;width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s ease}.pulse-sync-btn:hover:not(:disabled){background:#0ea5e90f;border-color:#0ea5e9;color:#0ea5e9}.pulse-sync-btn:disabled{opacity:.6;cursor:not-allowed}.pulse-xero-info{display:flex;align-items:center;gap:.4rem;font-size:.68rem;color:var(--text-muted);margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--divider)}.pulse-add-btn{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.pulse-add-btn:hover{border-color:var(--accent);color:var(--accent)}.pulse-empty-text{font-size:.78rem;color:var(--text-muted);margin:0}.pulse-period-form{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--divider)}.pulse-period-list{display:flex;flex-direction:column;gap:0}.pulse-period-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem 0;border-bottom:1px solid var(--divider)}.pulse-period-row:last-child{border-bottom:none}.pulse-period-locked{opacity:.7}.pulse-period-range{font-size:.78rem;font-weight:600;color:var(--text-primary);font-family:Inter,system-ui}.pulse-period-note{font-size:.68rem;color:var(--text-muted)}.pulse-lock-badge{font-size:.7rem;font-weight:600;color:#22c55e}.pulse-lock-btn{font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:5px;border:1px solid rgba(251,191,36,.3);background:#fbbf240f;color:#f59e0b;cursor:pointer;transition:all .15s}.pulse-lock-btn:hover{background:#fbbf241f;border-color:#f59e0b}.pulse-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:pulse-fadeOverlay .2s ease}@keyframes pulse-fadeOverlay{0%{opacity:0}to{opacity:1}}.pulse-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:560px;max-width:95vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:pulse-slideUp .25s ease;box-shadow:0 20px 60px #0003}@keyframes pulse-slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.pulse-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--divider)}.pulse-modal-header h3{font-size:.92rem;font-weight:700;margin:0}.pulse-modal-close{width:28px;height:28px;border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.pulse-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.pulse-modal-body{overflow-y:auto;padding:1.25rem}.pulse-audit-timeline{position:relative;padding-left:1.25rem}.pulse-audit-timeline:before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:2px;background:var(--divider);border-radius:1px}.pulse-audit-entry{position:relative;padding-bottom:1rem;display:flex;gap:.75rem}.pulse-audit-entry:last-child{padding-bottom:0}.pulse-audit-dot{position:absolute;left:-1.25rem;top:6px;width:10px;height:10px;border-radius:50%;background:#a855f7;border:2px solid var(--bg-card);z-index:1}.pulse-audit-content{flex:1}.pulse-audit-action{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.pulse-audit-action-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;color:#a855f7;background:#a855f71a;padding:.1rem .4rem;border-radius:4px;letter-spacing:.03em}.pulse-audit-field{font-size:.72rem;font-weight:600;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.pulse-audit-user{font-size:.7rem;color:var(--text-muted)}.pulse-audit-diff{display:flex;align-items:center;gap:.4rem;margin-top:.3rem;font-size:.75rem;font-family:JetBrains Mono,monospace}.pulse-diff-old{color:#ef4444;text-decoration:line-through;opacity:.7}.pulse-diff-arrow{color:var(--text-muted);font-size:.85rem}.pulse-diff-new{color:#22c55e;font-weight:600}.pulse-audit-reason{font-size:.72rem;color:var(--text-secondary);margin-top:.25rem;padding:.3rem .5rem;background:#fbbf240f;border-radius:4px;border-left:2px solid #f59e0b}.pulse-audit-time{font-size:.65rem;color:var(--text-muted);margin-top:.2rem}.customer-detail-page{padding:2rem 3rem;max-width:1400px;margin:0 auto;animation:fadeIn .3s ease}.customer-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.header-title-group{display:flex;align-items:center;gap:1rem}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);cursor:pointer;transition:all .2s ease}.back-button:hover{background:var(--bg-hover);color:var(--text-bright)}.customer-detail-header h1{font-size:2rem;font-weight:600;color:var(--text-bright);margin:0 0 .25rem;display:flex;align-items:center;gap:.75rem}.status-badge{font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-badge.inactive{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.account-ref{font-family:var(--font-mono);color:var(--accent);font-size:.9rem;font-weight:500;margin:0}.customer-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2.5rem}.customer-tabs{margin-bottom:2rem}.tab-content{animation:slideUp .3s ease forwards}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.info-card h3{margin:0 0 1.25rem;font-size:1.1rem;color:var(--text-bright);display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.info-card h3 svg{color:var(--accent)}.detail-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border)}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--text-dim);font-size:.9rem}.detail-value{color:var(--text-bright);font-weight:500;font-size:.95rem}.table-action-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .8rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.table-action-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.table-action-btn.pay-btn{background:#10b9811a;color:#10b981;border-color:#10b9814d}.table-action-btn.pay-btn:hover{background:#10b981;color:#fff}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.status-dot.paid{background:#10b981;box-shadow:0 0 8px #10b98166}.status-dot.sent{background:#f59e0b;box-shadow:0 0 8px #f59e0b66}.status-dot.draft{background:var(--text-dim)}.status-dot.overdue{background:#ef4444;box-shadow:0 0 8px #ef444466}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page{max-width:1300px}.page-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.page-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}:root{--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem}:root,[data-theme=cyber]{--bg-primary: #0a0e1a;--bg-secondary: #0d1117;--bg-card: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .1);--border-hover: rgba(255, 255, 255, .18);--text-primary: #e0e0e0;--text-secondary: rgba(255, 255, 255, .55);--text-muted: rgba(255, 255, 255, .35);--accent: #00d4ff;--accent-glow: rgba(0, 212, 255, .15);--purple: #7b2ff7;--success: #4ade80;--danger: #ff6b6b;--warning: #fbbf24;--radius: 10px;--radius-sm: 6px;--radius-lg: 16px;--sidebar-bg: linear-gradient(180deg, #0d1117 0%, #161b22 100%);--sidebar-text: rgba(255, 255, 255, .55);--sidebar-active-bg: rgba(0, 212, 255, .08);--select-bg: #161b22;--hover-bg: rgba(255, 255, 255, .04);--card-hover: rgba(255, 255, 255, .06);--input-bg: rgba(255, 255, 255, .05);--shadow-color: rgba(0, 0, 0, .3);--glow: 1;color-scheme:dark;--glass-subtle: rgba(255, 255, 255, .03);--glass-light: rgba(255, 255, 255, .05);--glass-medium: rgba(255, 255, 255, .08);--glass-strong: rgba(255, 255, 255, .12);--glass-hover: rgba(255, 255, 255, .15);--overlay-bg: rgba(0, 0, 0, .6);--overlay-heavy: rgba(0, 0, 0, .85);--card-shadow: 0 8px 32px rgba(0, 0, 0, .4);--modal-shadow: 0 24px 64px rgba(0, 0, 0, .5);--text-on-glass: #fff;--text-placeholder: rgba(255, 255, 255, .25);--row-hover: rgba(255, 255, 255, .02);--divider: rgba(255, 255, 255, .03);--inset-highlight: rgba(255, 255, 255, .06);--danger-bg: rgba(255, 107, 107, .1);--danger-border: rgba(255, 107, 107, .2);--danger-bg-hover: rgba(255, 107, 107, .2);--logo-filter: brightness(0) invert(1);--page-icon-color: #ffffff}[data-theme=dark]{--bg-primary: #141414;--bg-secondary: #1a1a1a;--bg-card: rgba(255, 255, 255, .04);--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--text-primary: #e0e0e0;--text-secondary: rgba(255, 255, 255, .6);--text-muted: rgba(255, 255, 255, .4);--accent: #3b82f6;--accent-glow: rgba(59, 130, 246, .12);--purple: #6366f1;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b;--sidebar-bg: linear-gradient(180deg, #1a1a1a 0%, #111111 100%);--sidebar-text: rgba(255, 255, 255, .6);--sidebar-active-bg: rgba(59, 130, 246, .1);--select-bg: #1e1e1e;--hover-bg: rgba(255, 255, 255, .06);--card-hover: rgba(255, 255, 255, .08);--input-bg: rgba(255, 255, 255, .06);--shadow-color: rgba(0, 0, 0, .4);--glow: 0;color-scheme:dark;--glass-subtle: rgba(255, 255, 255, .04);--glass-light: rgba(255, 255, 255, .06);--glass-medium: rgba(255, 255, 255, .1);--glass-strong: rgba(255, 255, 255, .15);--glass-hover: rgba(255, 255, 255, .18);--overlay-bg: rgba(0, 0, 0, .6);--overlay-heavy: rgba(0, 0, 0, .85);--card-shadow: 0 8px 32px rgba(0, 0, 0, .4);--modal-shadow: 0 24px 64px rgba(0, 0, 0, .5);--text-on-glass: #fff;--text-placeholder: rgba(255, 255, 255, .3);--row-hover: rgba(255, 255, 255, .02);--divider: rgba(255, 255, 255, .04);--inset-highlight: rgba(255, 255, 255, .08);--danger-bg: rgba(239, 68, 68, .1);--danger-border: rgba(239, 68, 68, .25);--danger-bg-hover: rgba(239, 68, 68, .2)}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-card: #ffffff;--border: #e2e8f0;--border-hover: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #2563eb;--accent-glow: rgba(37, 99, 235, .1);--purple: #4f46e5;--success: #16a34a;--danger: #dc2626;--warning: #d97706;--sidebar-bg: linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);--sidebar-text: #64748b;--sidebar-active-bg: rgba(37, 99, 235, .08);--select-bg: #ffffff;--hover-bg: #f1f5f9;--card-hover: #f1f5f9;--input-bg: #f1f5f9;--shadow-color: rgba(0, 0, 0, .08);--glow: 0;color-scheme:light;--glass-subtle: rgba(0, 0, 0, .02);--glass-light: #f1f5f9;--glass-medium: #e2e8f0;--glass-strong: #cbd5e1;--glass-hover: #cbd5e1;--overlay-bg: rgba(15, 23, 42, .4);--overlay-heavy: rgba(15, 23, 42, .7);--card-shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--modal-shadow: 0 20px 60px rgba(0, 0, 0, .15), 0 4px 16px rgba(0, 0, 0, .08);--text-on-glass: #0f172a;--text-placeholder: #94a3b8;--row-hover: #f8fafc;--divider: #f1f5f9;--inset-highlight: #e2e8f0;--danger-bg: rgba(220, 38, 38, .06);--danger-border: rgba(220, 38, 38, .2);--danger-bg-hover: rgba(220, 38, 38, .12);--logo-filter: brightness(0);--page-icon-color: #111111}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:.8}}::-webkit-scrollbar{width:6px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}.card-title{font-size:1rem;font-weight:600;color:var(--text-on-glass);margin-bottom:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.25rem;border-radius:var(--radius);font-size:.85rem;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--purple));color:#fff;border:none}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--glass-light);border-color:var(--border-hover);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--glass-medium)}.btn-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-bg-hover)}.btn-full{width:100%}.btn-sm{padding:.4rem .75rem;font-size:.8rem}.btn-ghost{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.78rem;font-weight:600;border-radius:6px;border:1px solid var(--border-hover);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .15s ease}.btn-ghost:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--glass-strong)}.btn-ghost.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:50px;font-size:.75rem;font-weight:600;letter-spacing:.03em}.badge-live{background:#4ade801a;color:var(--success);animation:pulse-live 2s ease-in-out infinite}.badge-success{background:#4ade801f;color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warning{background:#fbbf241f;color:var(--warning)}[data-theme=light] .card{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000f}[data-theme=light] .modal{background:#fff;border-color:#e2e8f0;box-shadow:var(--modal-shadow)}[data-theme=light] .badge-live,[data-theme=light] .badge-success{background:#16a34a1a}[data-theme=light] .badge-warning{background:#d977061a}[data-theme=light] select option{background:#fff;color:#0f172a}[data-theme=light] .input-group input,[data-theme=light] .input-group select,[data-theme=light] .input-group textarea{background:#fff;border-color:#e2e8f0}[data-theme=light] .input-group input:focus,[data-theme=light] .input-group select:focus,[data-theme=light] .input-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}[data-theme=light] select,[data-theme=light] input,[data-theme=light] textarea{background:#fff;border-color:#e2e8f0;color:#0f172a}[data-theme=light] .glow-text-cyan{text-shadow:none}[data-theme=light] .neon-border{box-shadow:0 0 0 1px var(--accent-glow)}[data-theme=light] .glass{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000f}[data-theme=light] .glass-heavy{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#e2e8f0;box-shadow:0 2px 8px #00000014}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.5}}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:.65rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.data-table td{padding:.65rem .75rem;font-size:.85rem;border-bottom:1px solid var(--divider);vertical-align:middle}.data-table tr:hover td{background:var(--row-hover)}.plate-badge{display:inline-block;font-family:Arial Narrow,Arial,sans-serif;font-size:.75rem;font-weight:900;padding:.15rem .5rem;background:#f5f5f0;border:1px solid #bbb;border-radius:3px;color:#111!important;letter-spacing:.08em;white-space:nowrap;max-width:fit-content;box-shadow:0 1px 3px #00000040,inset 0 0 0 1px #0000000a}[data-theme=dark] .plate-badge,[data-theme=light] .plate-badge{background:#f5f5f0;border-color:#bbb;color:#111!important}.input-group{margin-bottom:1rem}.input-group label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.04em}.input-group input,.input-group select,.input-group textarea{width:100%;padding:.65rem .85rem;background:var(--glass-light);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:border-color .2s ease}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input[type=date],input[type=datetime-local],input[type=time]{color-scheme:dark}[data-theme=light] input[type=date],[data-theme=light] input[type=datetime-local],[data-theme=light] input[type=time]{color-scheme:light}select,input,textarea{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;padding:.5rem .75rem;font-size:.9rem}select:focus,input:focus,textarea:focus{outline:none;border-color:var(--accent)}select option{background:var(--select-bg);color:var(--text-primary)}select option:hover,select option:checked{background:var(--accent-glow);color:var(--text-primary)}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;animation:slideUp .25s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-on-glass)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem}.modal-body{padding:1.25rem}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.muted{color:var(--text-muted)}.hidden{display:none!important}.text-center{text-align:center}.glass{background:var(--glass-subtle);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border)}.glass-heavy{background:var(--bg-secondary);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-medium)}.glow-text-cyan{color:var(--accent);text-shadow:0 0 12px rgba(0,212,255,.6)}.neon-border{border:1px solid var(--accent);box-shadow:0 0 8px var(--accent-glow),inset 0 0 8px var(--accent-glow)}@keyframes shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}.skeleton{background:linear-gradient(90deg,var(--glass-subtle) 25%,var(--glass-light) 37%,var(--glass-subtle) 63%);background-size:800px 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:.85rem;border-radius:4px}.skeleton-title{height:1.2rem;width:60%;border-radius:4px}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-card{height:120px;border-radius:var(--radius-lg);border:1px solid var(--border)}.skeleton-row{height:48px;border-radius:var(--radius-sm);margin-bottom:2px}.card{transition:border-color .2s ease,box-shadow .3s ease,transform .2s ease}.card:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow)}.card-premium{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;position:relative;overflow:hidden;transition:border-color .25s ease,box-shadow .3s ease,transform .25s ease}.card-premium:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,transparent,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;pointer-events:none}.card-premium:hover:before{background:linear-gradient(135deg,var(--accent),var(--purple));opacity:.6}.card-premium:hover{box-shadow:var(--card-shadow);transform:translateY(-1px)}.card-electric{background:var(--bg-card);border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;transition:border-color .2s ease,box-shadow .3s ease,transform .2s ease}.card-electric:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow)}.electric-glow{box-shadow:0 0 12px var(--accent-glow);border-color:var(--accent);transition:box-shadow .3s ease,border-color .3s ease}.stat-card-premium{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:all .25s ease;position:relative;overflow:hidden}.stat-card-premium:after{content:"";position:absolute;top:0;right:0;width:80px;height:100%;background:linear-gradient(135deg,transparent 40%,var(--accent-glow));opacity:0;transition:opacity .3s ease;pointer-events:none}.stat-card-premium:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow);transform:translateY(-1px)}.stat-card-premium:hover:after{opacity:1}.stat-card-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem}.stat-card-icon.blue{background:#3b82f61f;color:#3b82f6}.stat-card-icon.green{background:#22c55e1f;color:#22c55e}.stat-card-icon.purple{background:#8b5cf61f;color:#8b5cf6}.stat-card-icon.amber{background:#f59e0b1f;color:#f59e0b}.stat-card-icon.red{background:#ef44441f;color:#ef4444}.stat-card-icon.cyan{background:#00d4ff1f;color:#00d4ff}.stat-card-value{font-size:1.75rem;font-weight:700;line-height:1;color:var(--text-primary);font-variant-numeric:tabular-nums}.stat-card-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem}.stat-card-trend{font-size:.72rem;font-weight:600;display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .4rem;border-radius:4px;margin-left:auto}.stat-card-trend.up{color:var(--success);background:#22c55e1a}.stat-card-trend.down{color:var(--danger);background:#ef44441a}.data-table th{position:sticky;top:0;z-index:2;background:var(--bg-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.data-table tbody tr{transition:background .15s ease,transform .1s ease}.data-table tbody tr:hover td{background:var(--row-hover)}.data-table tbody tr.clickable:active{transform:scale(.995)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-in{animation:fadeInUp .3s ease both}.animate-fade{animation:fadeIn .3s ease both}.animate-scale{animation:scaleIn .25s ease both}.stagger-1{animation-delay:.03s}.stagger-2{animation-delay:.06s}.stagger-3{animation-delay:.09s}.stagger-4{animation-delay:.12s}.stagger-5{animation-delay:.15s}.stagger-6{animation-delay:.18s}.stagger-7{animation-delay:.21s}.stagger-8{animation-delay:.24s}.page-enter{animation:fadeInUp .35s cubic-bezier(.4,0,.2,1) both}.badge-info{background:#3b82f61f;color:var(--accent)}.badge-neutral{background:var(--glass-light);color:var(--text-secondary)}.badge-icon{display:inline-flex;align-items:center;gap:.3rem}@keyframes statusPing{0%{transform:scale(1);opacity:.5}75%,to{transform:scale(2);opacity:0}}.input:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow),0 0 0 1px var(--accent)}.super-admin-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:50px;font-size:.65rem;font-family:Orbitron,monospace;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#7b2ff7,#a855f7);border:1px solid rgba(123,47,247,.5);white-space:nowrap}.input-float{position:relative}.input-float input,.input-float select,.input-float textarea{width:100%;padding:1rem .85rem .4rem;background:var(--glass-light);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.input-float label{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);font-size:.85rem;color:var(--text-muted);pointer-events:none;transition:all .2s ease}.input-float input:focus+label,.input-float input:not(:placeholder-shown)+label,.input-float select:focus+label,.input-float textarea:focus+label,.input-float textarea:not(:placeholder-shown)+label{top:.45rem;transform:translateY(0);font-size:.65rem;font-weight:600;color:var(--accent);letter-spacing:.04em;text-transform:uppercase}.input-float input:focus,.input-float select:focus,.input-float textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.divider{height:1px;background:var(--border);margin:1rem 0;border:none}.divider-label{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.divider-label:before,.divider-label:after{content:"";flex:1;height:1px;background:var(--border)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-medium);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--glass-hover)}[data-theme=light] .card-premium{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000f}[data-theme=light] .card-premium:hover{box-shadow:0 4px 16px #0000001a}[data-theme=light] .card-electric{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000f}[data-theme=light] .card-electric:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}[data-theme=light] .electric-glow{box-shadow:0 0 8px #2563eb1f}[data-theme=light] .super-admin-pill{background:linear-gradient(135deg,#6d28d9,#7c3aed)}[data-theme=light] .stat-card-premium{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000f}[data-theme=light] .stat-card-premium:hover{box-shadow:0 4px 16px #0000001a}[data-theme=light] .skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 37%,#f1f5f9 63%);background-size:800px 100%}[data-theme=light] .data-table th{background:#f8fafc}[data-theme=light] .input-float input,[data-theme=light] .input-float select,[data-theme=light] .input-float textarea{background:#fff;border-color:#e2e8f0}[data-theme=light] .input-float input:focus,[data-theme=light] .input-float select:focus,[data-theme=light] .input-float textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-header h1,.page-header h2{margin:0;font-size:1.45rem;font-weight:700;color:var(--text-primary);line-height:1.2}.page-header-sub{font-size:.82rem;color:var(--text-muted);margin-top:.15rem}.page-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.section-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s,box-shadow .2s}.section-card:hover{border-color:var(--border-hover)}.section-card-header{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--border)}.section-card-title{font-size:.9rem;font-weight:600;color:var(--text-primary);flex:1}.section-card-body{padding:1.25rem}.toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.toolbar-left{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.toolbar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.toolbar-search{flex:1;min-width:200px;padding:.55rem .9rem;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.85rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.toolbar-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.toolbar-search::placeholder{color:var(--text-muted)}.filter-tabs{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.filter-tab{all:unset;padding:.45rem .85rem;font-size:.82rem;cursor:pointer;background:var(--bg-card);color:var(--text-muted);transition:background .15s,color .15s;white-space:nowrap}.filter-tab+.filter-tab{border-left:1px solid var(--border)}.filter-tab:hover{color:var(--text-primary);background:var(--hover-bg)}.filter-tab.active{background:var(--accent);color:#fff}.stat-tile{display:flex;align-items:center;gap:.85rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s,box-shadow .2s}.stat-tile:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow),inset 0 0 0 1px var(--inset-highlight)}.stat-tile.clickable{cursor:pointer}.stat-tile.clickable:hover{transform:translateY(-1px)}.stat-tile-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.2rem}.stat-tile-content{display:flex;flex-direction:column}.stat-tile-value{font-size:1.6rem;font-weight:700;line-height:1;color:var(--text-primary)}.stat-tile-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;gap:.75rem}.empty-state-icon{font-size:2.5rem;opacity:.5}.empty-state-title{font-size:.95rem;font-weight:600;color:var(--text-secondary);margin:0}.empty-state-body{font-size:.82rem;color:var(--text-muted);max-width:280px;margin:0}.alert{padding:.65rem 1rem;border-radius:var(--radius);font-size:.85rem;border:1px solid transparent;display:flex;align-items:center;gap:.5rem}.alert-success{background:#22c55e1a;color:var(--success);border-color:#22c55e33}.alert-danger{background:#ef44441a;color:var(--danger);border-color:#ef444433}.alert-warning{background:#f59e0b1a;color:var(--warning);border-color:#f59e0b33}.alert-info{background:#3b82f61a;color:var(--accent);border-color:#3b82f633}.table-container{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table thead tr{background:var(--bg-secondary)}.data-table th{padding:.6rem .875rem;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:.65rem .875rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover td{background:var(--hover-bg)}.data-table tbody tr.clickable{cursor:pointer}.pagination{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem}.pagination-info{font-size:.78rem;color:var(--text-muted)}.pagination-btns{display:flex;gap:.3rem;flex-wrap:wrap}.tab-bar{display:flex;border-bottom:1px solid var(--border);margin-bottom:1.25rem;gap:0;overflow-x:auto}.tab-btn{background:none;border:none;padding:.65rem 1.1rem;font-size:.87rem;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:.4rem;white-space:nowrap;font-family:inherit}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.btn-ghost{background:transparent;border:1px solid var(--border-hover);color:var(--text-secondary);padding:.42rem .85rem;border-radius:var(--radius);cursor:pointer;font-size:.82rem;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:inline-flex;align-items:center;gap:.35rem}.btn-ghost:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--border-hover)}.btn-ghost.active{background:var(--accent-glow);color:var(--accent);border-color:var(--accent)}.btn-icon{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);width:34px;height:34px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s;flex-shrink:0;padding:0}.btn-icon:hover{background:var(--hover-bg);border-color:var(--border-hover);color:var(--text-primary)}.btn-icon.accent{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.5rem}.detail-item{display:flex;flex-direction:column;gap:.2rem}.detail-item label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.detail-item span{font-size:.88rem;color:var(--text-primary)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}[data-theme=light] .section-card{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000f}[data-theme=light] .section-card-header{border-bottom-color:#f1f5f9}[data-theme=light] .table-container{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000f}[data-theme=light] .data-table thead tr{background:#f8fafc}[data-theme=light] .data-table th{color:#64748b;border-bottom-color:#e2e8f0}[data-theme=light] .data-table td{border-bottom-color:#f1f5f9}[data-theme=light] .data-table tbody tr:hover td{background:#f8fafc}[data-theme=light] .stat-tile{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000f}[data-theme=light] .stat-tile:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}[data-theme=light] .filter-tab{background:#fff;color:#64748b;border-color:#e2e8f0}[data-theme=light] .filter-tab:hover{color:#0f172a;background:#f8fafc}[data-theme=light] .filter-tab.active{background:var(--accent);color:#fff}[data-theme=light] .toolbar-search{background:#fff;border-color:#e2e8f0}[data-theme=light] .toolbar-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}[data-theme=light] .btn-ghost{border-color:#e2e8f0;color:#475569}[data-theme=light] .btn-ghost:hover{background:#f1f5f9;color:#0f172a}[data-theme=light] .btn-icon{background:#fff;border-color:#e2e8f0;color:#64748b}[data-theme=light] .btn-icon:hover{background:#f1f5f9;color:#0f172a}[data-theme=light] .empty-state-title{color:#334155}[data-theme=light] .empty-state-body,[data-theme=light] .tab-btn{color:#64748b}[data-theme=light] .tab-btn:hover{color:#0f172a}[data-theme=light] .tab-btn.active{color:var(--accent)}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:.5rem}.toolbar{flex-direction:column;align-items:stretch}.toolbar-search{min-width:0}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.cards-grid,.detail-grid{grid-template-columns:1fr}.filter-tabs{flex-wrap:wrap}}.mobile-only{display:none!important}.desktop-only{display:initial}@media(max-width:768px){.mobile-only{display:initial!important}.desktop-only{display:none!important}}@media(max-width:768px){.btn,button:not(.nav-group-toggle){min-height:44px}.btn-sm{min-height:38px;padding:.5rem .85rem}select,input,textarea,.input-group input,.input-group select,.input-group textarea{min-height:44px;font-size:16px}}.mobile-list{display:none}@media(max-width:768px){.mobile-list{display:flex;flex-direction:column;gap:.5rem}.mobile-list-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent}.mobile-list-item:active{background:var(--hover-bg);border-color:var(--border-hover);transform:scale(.98)}.mobile-list-item-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem}.mobile-list-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.mobile-list-item-title{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-list-item-sub{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-list-item-badge{flex-shrink:0;margin-left:auto}}.mobile-topbar{display:none}@media(max-width:768px){.mobile-topbar{display:flex;align-items:center;gap:.5rem;position:fixed;top:0;left:0;right:0;z-index:190;height:52px;padding:0 .75rem;padding-top:env(safe-area-inset-top,0px);background:#0d1117d9;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-bottom:1px solid var(--border)}}.mobile-topbar-left{flex-shrink:0}.mobile-topbar .mobile-topbar-logo{display:block;height:26px;width:auto;object-fit:contain}.mobile-topbar-company{flex:1;min-width:0;display:flex;align-items:center;gap:.35rem;padding:.3rem .6rem;background:var(--glass-subtle);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:.78rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent;overflow:hidden}.mobile-topbar-company span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.mobile-topbar-company:active{background:var(--glass-medium);border-color:var(--accent)}.mobile-topbar-company.static{border-color:transparent;background:none;pointer-events:none;padding-left:.25rem}.mobile-topbar-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--purple));border:none;color:#fff;font-size:.8rem;font-weight:700;font-family:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent;overflow:hidden;padding:0}.mobile-topbar-avatar:active{transform:scale(.92)}.mobile-topbar-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}[data-theme=light] .mobile-topbar{background:#ffffffeb;border-bottom-color:#e2e8f0}[data-theme=light] .mobile-topbar .mobile-topbar-logo{content:url(/static/img/logo-light.png)}.mobile-profile-header{display:flex;align-items:center;gap:.85rem;padding:.5rem .25rem 1rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.mobile-profile-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--purple));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;font-weight:700;flex-shrink:0;overflow:hidden}.mobile-profile-avatar img{width:100%;height:100%;object-fit:cover}.mobile-profile-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.mobile-profile-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.mobile-profile-email{font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-profile-row{display:flex;align-items:center;gap:.75rem;padding:.85rem .5rem;border:none;background:none;width:100%;color:var(--text-secondary);font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s ease;-webkit-tap-highlight-color:transparent;text-align:left}.mobile-profile-row:active{background:var(--hover-bg)}.mobile-profile-row-content{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}.mobile-profile-row-label{color:var(--text-primary)}.mobile-profile-row-value{font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-profile-row-danger{color:var(--danger);margin-top:.25rem;border-top:1px solid var(--border);padding-top:1rem}.mobile-profile-row-danger .mobile-profile-row-label{color:var(--danger)}.mobile-theme-pills{display:flex;gap:.3rem}.mobile-theme-pill{padding:.3rem .65rem;border-radius:6px;border:1px solid var(--border);background:var(--glass-subtle);color:var(--text-muted);font-size:.72rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.mobile-theme-pill.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}[data-theme=light] .mobile-profile-header{border-bottom-color:#e2e8f0}.mobile-company-sheet{max-height:80vh}.mobile-company-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.mobile-company-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.mobile-company-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.3rem;border-radius:6px;line-height:0;transition:color .15s,background .15s}.mobile-company-close:active{background:var(--hover-bg);color:var(--text-primary)}.mobile-company-search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;margin-bottom:.75rem;color:var(--text-muted)}.mobile-company-search input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:.88rem;font-family:inherit;min-height:32px}.mobile-company-search input::placeholder{color:var(--text-placeholder)}.mobile-company-list{overflow-y:auto;max-height:55vh;display:flex;flex-direction:column;gap:.25rem}.mobile-company-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .65rem;border-radius:var(--radius-sm);border:none;background:none;width:100%;color:var(--text-secondary);font-size:.88rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent;text-align:left}.mobile-company-item:active{background:var(--hover-bg);transform:scale(.98)}.mobile-company-item.active{background:var(--accent-glow);color:var(--accent)}.mobile-company-item-icon{width:36px;height:36px;border-radius:10px;background:var(--glass-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.mobile-company-item.active .mobile-company-item-icon{background:var(--accent-glow);color:var(--accent)}.mobile-company-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-company-check{color:var(--accent);flex-shrink:0}.mobile-more-search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;margin-bottom:.5rem;color:var(--text-muted);position:relative}.mobile-more-search input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:.88rem;font-family:inherit;min-height:32px}.mobile-more-search input::placeholder{color:var(--text-placeholder)}.mobile-more-search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.2rem;line-height:0;border-radius:4px}.mobile-more-search-clear:active{color:var(--text-primary)}.mobile-more-list{overflow-y:auto;max-height:55vh}.mobile-more-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;color:var(--text-muted);font-size:.85rem}.bottom-nav{display:none}@media(max-width:768px){.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg-secondary);border-top:1px solid var(--border);padding:.25rem 0;padding-bottom:env(safe-area-inset-bottom,0px);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.4rem 0;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.6rem;font-weight:600;font-family:inherit;letter-spacing:.02em;transition:color .15s ease;-webkit-tap-highlight-color:transparent;position:relative}.bottom-nav-item svg{width:22px;height:22px;transition:transform .15s ease}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item.active svg{transform:scale(1.1)}.bottom-nav-item:active svg{transform:scale(.9)}.bottom-nav-item.active:before{content:"";position:absolute;top:2px;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.main-content{padding-top:calc(52px + env(safe-area-inset-top,0px) + .75rem)!important;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))!important}.main-content--fullmap{padding-top:0!important;padding-bottom:0!important}}@media(max-width:768px){.page-toolbar,.toolbar{flex-direction:column;align-items:stretch;gap:.5rem}.toolbar-left,.toolbar-right{width:100%}.toolbar-search,.search-input{min-width:0!important;width:100%;position:sticky;top:0;z-index:5}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:.5rem}.page-header h1,.page-header h2{font-size:1.2rem}.page-header-actions{width:100%;justify-content:flex-start}}.mobile-sheet-overlay{position:fixed;inset:0;z-index:300;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-tap-highlight-color:transparent}.mobile-sheet{position:fixed;bottom:0;left:0;right:0;z-index:301;background:var(--bg-secondary);border-top:1px solid var(--border);border-radius:20px 20px 0 0;padding:.75rem 1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));max-height:70vh;overflow-y:auto}.mobile-sheet-handle{width:36px;height:4px;background:var(--glass-strong);border-radius:2px;margin:0 auto .75rem}.mobile-sheet-item{display:flex;align-items:center;gap:.75rem;padding:.85rem .5rem;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}.mobile-sheet-item:active{background:var(--hover-bg);color:var(--text-primary)}.mobile-sheet-item.active{color:var(--accent);background:var(--accent-glow)}.mobile-sheet-group{padding:.6rem .5rem .2rem;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.6}.mobile-sheet-group:not(:first-child){border-top:1px solid var(--border);margin-top:.25rem;padding-top:.85rem}@keyframes spinPull{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pull-refresh-spinner{display:flex;justify-content:center;padding:1rem}.pull-refresh-spinner svg{animation:spinPull .8s linear infinite;color:var(--accent)}[data-theme=light] .bottom-nav{background:#fffffff2;border-top-color:#e2e8f0}[data-theme=light] .mobile-sheet{background:#fff;border-top-color:#e2e8f0}[data-theme=light] .mobile-list-item{background:#fff;border-color:#e2e8f0}[data-theme=light] .mobile-list-item:active{background:#f8fafc}[data-theme=light] .mobile-company-item.active{background:#2563eb0f}[data-theme=light] .mobile-theme-pill.active{background:#2563eb14;border-color:#2563eb;color:#2563eb}
