.app-shell[data-v-b07248f9]{min-height:100dvh;background:#f5f7fa;position:relative}.main-area[data-v-b07248f9]{width:100%}.main-content[data-v-b07248f9]{overflow-y:auto}.sidebar[data-v-b07248f9]{position:fixed;top:0;left:0;bottom:0;width:240px;z-index:40;background:#ffffffb8;display:flex;flex-direction:column;padding:0;overflow-y:auto;backdrop-filter:blur(22px) saturate(1.28);-webkit-backdrop-filter:blur(22px) saturate(1.28);border-right:1px solid rgba(255,255,255,.72);box-shadow:10px 0 34px #0f172a14;animation:desktopSidenavIn-b07248f9 .36s cubic-bezier(.2,.9,.2,1) both}.sidebar-logo[data-v-b07248f9]{display:flex;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(226,232,240,.76);background:#ffffff42}.sidebar-logo-img[data-v-b07248f9]{height:36px;width:auto;display:block;filter:drop-shadow(0 1px 2px rgba(255,255,255,.35))}.sidebar-nav[data-v-b07248f9]{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:3px}.sidebar-link[data-v-b07248f9]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:#334155d1;text-decoration:none;font-size:.85rem;font-weight:650;transition:all .15s ease;position:relative}.sidebar-link[data-v-b07248f9]:hover{background:#ffffffa8;color:#1e293b;box-shadow:0 6px 18px #0f172a0f}.sidebar-link.active[data-v-b07248f9]{background:#0ec8b81f;color:#0b8f86;box-shadow:inset 0 0 0 1px #0ec8b829,0 8px 24px #0ec8b81a}.sidebar-link.active .sidebar-icon[data-v-b07248f9]{color:#0ec8b8}.sidebar-icon[data-v-b07248f9]{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:currentColor}.sidebar-label[data-v-b07248f9]{flex:1}.sidebar-badge[data-v-b07248f9]{background:#e03131;color:#fff;font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.sidebar-footer[data-v-b07248f9]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-top:1px solid rgba(226,232,240,.76);background:#ffffff57}.sidebar-user[data-v-b07248f9]{display:flex;align-items:center;gap:10px;min-width:0}.user-avatar[data-v-b07248f9]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#0ec8b8,#3444a9);color:#fff;font-weight:800;font-size:.8rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0ec8b83d}.user-info strong[data-v-b07248f9]{display:block;font-size:.78rem;color:#1e293b}.user-info span[data-v-b07248f9]{display:block;font-size:.65rem;color:#475569c7}.sidebar-profile[data-v-b07248f9],.sidebar-logout[data-v-b07248f9]{width:32px;height:32px;border-radius:10px;background:#ffffff8f;border:1px solid rgba(226,232,240,.72);color:#334155b8;display:flex;align-items:center;justify-content:center;cursor:pointer}.sidebar-profile[data-v-b07248f9]{margin-left:auto;margin-right:6px}.sidebar-profile[data-v-b07248f9]:hover{background:#0ec8b81f;color:#0b8f86}.sidebar-logout[data-v-b07248f9]:hover{background:#e0313121;color:var(--red)}.mobile-header[data-v-b07248f9]{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:8px 14px;background:#fffffff5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:1100;box-shadow:0 2px 12px #0f172a0a}.mobile-header .btn[data-v-b07248f9]{width:44px;height:44px;color:var(--gray-700)}.mobile-logo[data-v-b07248f9]{display:flex;align-items:center}.mobile-logo-img[data-v-b07248f9]{height:34px;width:auto;display:block;filter:drop-shadow(0 1px 1px rgba(15,23,42,.08))}.bottom-nav[data-v-b07248f9]{display:flex;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;right:0;z-index:1100;background:#fffffffa;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--gray-200);min-height:66px;padding:7px 4px max(8px,env(safe-area-inset-bottom));box-shadow:0 -8px 28px #0f172a14}.nav-item[data-v-b07248f9]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--gray-500);position:relative;padding:5px 6px;min-width:58px;min-height:52px;border-radius:14px;transition:.16s ease}.nav-item.active[data-v-b07248f9]{color:var(--brand-teal);background:#0ec8b81a;font-weight:800}.nav-icon[data-v-b07248f9]{line-height:1;display:flex;align-items:center;justify-content:center}.nav-label[data-v-b07248f9]{font-size:.68rem;font-weight:700;white-space:nowrap}.nav-badge[data-v-b07248f9]{position:absolute;top:2px;right:9px;min-width:17px;height:17px;background:var(--red);color:#fff;font-size:.58rem;font-weight:800;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 2px 8px #e0313147}.drawer-backdrop[data-v-b07248f9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#00000059}.mobile-drawer[data-v-b07248f9]{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:2001;background:#ffffffc2;backdrop-filter:blur(22px) saturate(1.28);-webkit-backdrop-filter:blur(22px) saturate(1.28);display:flex;flex-direction:column;padding:16px;box-shadow:4px 0 30px #0f172a1f;border-right:1px solid rgba(255,255,255,.72)}.drawer-header[data-v-b07248f9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(226,232,240,.62)}.drawer-logo-img[data-v-b07248f9]{height:38px;width:auto;display:block;filter:drop-shadow(0 1px 2px rgba(15,23,42,.08))}.drawer-close[data-v-b07248f9]{width:40px;height:40px;border-radius:12px;color:#334155b8;font-size:1.45rem;line-height:1}.drawer-user-card[data-v-b07248f9]{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:16px;background:#ffffffad;border:1px solid rgba(226,232,240,.72);box-shadow:0 8px 24px #0f172a0f}.drawer-user-avatar[data-v-b07248f9]{width:40px;height:40px;font-size:.95rem;flex-shrink:0}.drawer-user-info[data-v-b07248f9]{min-width:0;flex:1}.drawer-user-info strong[data-v-b07248f9]{display:block;font-size:.9rem;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:128px}.drawer-user-info span[data-v-b07248f9]{display:block;margin-top:2px;font-size:.72rem;font-weight:700;color:#0b8f86}.drawer-profile-btn[data-v-b07248f9],.drawer-logout-btn[data-v-b07248f9]{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .16s ease}.drawer-profile-btn[data-v-b07248f9]{border:1px solid rgba(14,200,184,.18);background:#0ec8b81a;color:#0b8f86}.drawer-profile-btn[data-v-b07248f9]:hover{background:#0ec8b82e;transform:translateY(-1px)}.drawer-logout-btn[data-v-b07248f9]{border:1px solid rgba(224,49,49,.16);background:#e0313114;color:var(--red)}.drawer-logout-btn[data-v-b07248f9]:hover{background:#e0313124;transform:translateY(-1px)}.drawer-nav[data-v-b07248f9]{flex:1;display:flex;flex-direction:column;gap:4px}.drawer-link[data-v-b07248f9]{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;color:#334155d1;text-decoration:none;font-size:.88rem;font-weight:650}.drawer-link.router-link-active[data-v-b07248f9]{background:#0ec8b81f;color:#0b8f86}.drawer-footer[data-v-b07248f9]{padding-top:14px;border-top:1px solid rgba(226,232,240,.76)}.drawer-backdrop-fade-enter-active[data-v-b07248f9],.drawer-backdrop-fade-leave-active[data-v-b07248f9]{transition:opacity .22s ease}.drawer-backdrop-fade-enter-from[data-v-b07248f9],.drawer-backdrop-fade-leave-to[data-v-b07248f9]{opacity:0}.sidenav-slide-enter-active[data-v-b07248f9],.sidenav-slide-leave-active[data-v-b07248f9]{transition:transform .34s cubic-bezier(.2,.9,.2,1),opacity .24s ease}.sidenav-slide-enter-from[data-v-b07248f9],.sidenav-slide-leave-to[data-v-b07248f9]{transform:translate(-104%) scale(.98);opacity:0}.sidenav-slide-enter-to[data-v-b07248f9],.sidenav-slide-leave-from[data-v-b07248f9]{transform:translate(0) scale(1);opacity:1}@keyframes desktopSidenavIn-b07248f9{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.sidebar[data-v-b07248f9]{animation:none}.drawer-backdrop-fade-enter-active[data-v-b07248f9],.drawer-backdrop-fade-leave-active[data-v-b07248f9],.sidenav-slide-enter-active[data-v-b07248f9],.sidenav-slide-leave-active[data-v-b07248f9]{transition:none}}.profile-overlay[data-v-b07248f9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;padding:24px;display:grid;place-items:center;background:#0c1e3375;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.profile-modal[data-v-b07248f9]{width:min(560px,100%);max-height:min(760px,calc(100dvh - 48px));display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 24px 64px #0f172a38}.profile-modal header[data-v-b07248f9]{display:flex;justify-content:space-between;gap:18px;padding:24px 26px 18px;border-bottom:1px solid var(--gray-100)}.profile-modal h2[data-v-b07248f9]{margin:2px 0 5px;font-size:1.3rem;color:var(--gray-800)}.profile-modal header p[data-v-b07248f9]:not(.eyebrow){margin:0;color:var(--gray-500);font-size:.86rem;line-height:1.45}.profile-close[data-v-b07248f9]{width:36px;height:36px;border:0;border-radius:10px;background:var(--gray-100);color:var(--gray-600);font-size:1.5rem;cursor:pointer}.profile-body[data-v-b07248f9]{overflow-y:auto;padding:20px 26px;display:grid;gap:16px}.profile-body label[data-v-b07248f9]{display:grid;gap:7px;color:var(--gray-700);font-size:.82rem;font-weight:700}.profile-body input[data-v-b07248f9]{min-height:44px;width:100%;box-sizing:border-box;padding:0 12px;border:1px solid var(--gray-200);border-radius:10px;color:var(--gray-800);outline:none}.profile-body input[data-v-b07248f9]:focus{border-color:var(--brand-teal);box-shadow:0 0 0 3px #0ec8b81f}.password-section[data-v-b07248f9]{display:grid;gap:14px;padding:16px;border-radius:14px;background:var(--gray-50);border:1px solid var(--gray-100)}.password-section strong[data-v-b07248f9],.password-section small[data-v-b07248f9]{display:block}.password-section strong[data-v-b07248f9]{color:var(--gray-800);font-size:.87rem}.password-section small[data-v-b07248f9]{color:var(--gray-500);margin-top:3px;font-size:.74rem;font-weight:500}.profile-password-input[data-v-b07248f9]{display:flex}.profile-password-input input[data-v-b07248f9]{border-radius:10px 0 0 10px}.profile-password-input button[data-v-b07248f9]{padding:0 12px;border:1px solid var(--gray-200);border-left:0;border-radius:0 10px 10px 0;background:#fff;color:#0b8f86;font-weight:700;cursor:pointer}.profile-error[data-v-b07248f9]{margin:0;padding:10px 12px;border-radius:10px;color:var(--red);background:var(--red-bg);font-size:.82rem}.profile-modal footer[data-v-b07248f9]{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px;border-top:1px solid var(--gray-100);background:#fff}@media(max-width:1023px){.sidebar[data-v-b07248f9]{display:none}}@media(min-width:1024px){.mobile-header[data-v-b07248f9],.bottom-nav[data-v-b07248f9],.drawer-backdrop[data-v-b07248f9],.mobile-drawer[data-v-b07248f9]{display:none}.main-area[data-v-b07248f9]{margin-left:240px;width:calc(100% - 240px)}}@media(max-width:1023px){.main-content[data-v-b07248f9]{padding-bottom:86px;width:100%;max-width:100%;overflow-x:hidden}.main-area[data-v-b07248f9]{width:100%;max-width:100%}}@media(max-width:600px){.profile-overlay[data-v-b07248f9]{padding:0;align-items:end}.profile-modal[data-v-b07248f9]{width:100%;max-height:92dvh;border-radius:20px 20px 0 0}.profile-modal header[data-v-b07248f9]{padding:20px 18px 15px}.profile-body[data-v-b07248f9]{padding:18px}.profile-modal footer[data-v-b07248f9]{padding:14px 18px max(14px,env(safe-area-inset-bottom))}.profile-modal footer .btn[data-v-b07248f9]{flex:1;min-height:44px;font-size:.78rem}}.page-desktop[data-v-8e8a2cb6]{max-width:1200px;padding:24px}.dash-header[data-v-8e8a2cb6]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.dash-header h1[data-v-8e8a2cb6]{font-size:1.5rem;font-weight:700}.dash-header-right[data-v-8e8a2cb6]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.date-input[data-v-8e8a2cb6]{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:5px 8px}.date-input span[data-v-8e8a2cb6]{font-size:.72rem;color:var(--gray-500);font-weight:600}.date-input input[data-v-8e8a2cb6]{border:none;outline:none;color:var(--gray-700);font-size:.82rem;background:transparent}.greeting[data-v-8e8a2cb6]{font-size:.95rem;color:var(--gray-600);margin-bottom:20px}.status-grid[data-v-8e8a2cb6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:20px}.status-card[data-v-8e8a2cb6]{background:#fff;border-radius:var(--radius-md);padding:16px;border:1px solid var(--gray-100);text-align:center}.status-icon[data-v-8e8a2cb6]{width:42px;height:42px;margin:0 auto 10px;display:grid;place-items:center;border-radius:12px}.status-icon svg[data-v-8e8a2cb6]{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.status-icon.blue[data-v-8e8a2cb6]{color:var(--brand-blue);background:var(--blue-bg)}.status-icon.green[data-v-8e8a2cb6]{color:var(--green);background:var(--green-bg)}.status-icon.orange[data-v-8e8a2cb6]{color:var(--orange);background:var(--orange-bg)}.status-icon.red[data-v-8e8a2cb6]{color:var(--red);background:var(--red-bg)}.status-label[data-v-8e8a2cb6]{font-size:.68rem;font-weight:600;color:var(--gray-500);letter-spacing:.05em;margin-bottom:8px}.status-value[data-v-8e8a2cb6]{font-size:1.6rem;font-weight:700;color:var(--gray-800)}.status-value.green[data-v-8e8a2cb6],.status-pct.green[data-v-8e8a2cb6]{color:var(--green)}.status-value.orange[data-v-8e8a2cb6],.status-pct.orange[data-v-8e8a2cb6]{color:#f59f00}.status-value.red[data-v-8e8a2cb6],.status-pct.red[data-v-8e8a2cb6]{color:var(--red)}.status-pct[data-v-8e8a2cb6]{font-size:.8rem;font-weight:500;margin-top:2px}.kpi-grid[data-v-8e8a2cb6]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.kpi-card[data-v-8e8a2cb6]{padding:14px;display:flex;flex-direction:column;gap:8px}.kpi-icon[data-v-8e8a2cb6]{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.kpi-content[data-v-8e8a2cb6]{display:flex;flex-direction:column;gap:2px}.kpi-label[data-v-8e8a2cb6]{font-size:.75rem;color:var(--gray-500)}.kpi-value[data-v-8e8a2cb6]{font-size:1.1rem;font-weight:700}.charts-row[data-v-8e8a2cb6]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:20px}.chart-card[data-v-8e8a2cb6]{padding:20px}.chart-card h3[data-v-8e8a2cb6]{font-size:.88rem;font-weight:600;margin-bottom:12px;color:var(--gray-700)}.chart-value[data-v-8e8a2cb6]{font-size:1.3rem;font-weight:700}.trend.up[data-v-8e8a2cb6]{font-size:.8rem;color:var(--green);font-weight:500;margin-left:6px}.chart-axis[data-v-8e8a2cb6]{display:flex;justify-content:space-between;font-size:.68rem;color:var(--gray-400);margin-top:4px}.donut-large[data-v-8e8a2cb6]{display:flex;justify-content:center;position:relative;margin-bottom:12px}.donut-center-lg[data-v-8e8a2cb6]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-center-lg strong[data-v-8e8a2cb6]{display:block;font-size:1.3rem;color:var(--gray-800)}.donut-center-lg span[data-v-8e8a2cb6]{font-size:.75rem;color:var(--gray-500)}.donut-legend[data-v-8e8a2cb6]{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--gray-600)}.dot-lg[data-v-8e8a2cb6]{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.bottom-grid[data-v-8e8a2cb6]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.widget-card[data-v-8e8a2cb6]{padding:18px}.widget-card h3[data-v-8e8a2cb6]{font-size:.88rem;font-weight:600;margin-bottom:14px;color:var(--gray-700)}.alert-row[data-v-8e8a2cb6]{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--gray-100)}.alert-row[data-v-8e8a2cb6]:last-child{border-bottom:none}.alert-dot[data-v-8e8a2cb6]{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.alert-dot.red[data-v-8e8a2cb6]{background:var(--red)}.alert-dot.orange[data-v-8e8a2cb6]{background:#f59f00}.alert-dot.gray[data-v-8e8a2cb6]{background:var(--gray-400)}.alert-row-content[data-v-8e8a2cb6]{flex:1}.alert-row-content strong[data-v-8e8a2cb6]{display:block;font-size:.82rem}.alert-row-content span[data-v-8e8a2cb6]{display:block;font-size:.72rem;color:var(--gray-500)}.alert-row-time[data-v-8e8a2cb6]{font-size:.7rem;color:var(--gray-400);white-space:nowrap}.widget-link[data-v-8e8a2cb6]{display:block;margin-top:10px;font-size:.8rem;color:var(--brand-teal);cursor:pointer}.mini-table[data-v-8e8a2cb6]{width:100%;border-collapse:collapse;font-size:.8rem}.mini-table th[data-v-8e8a2cb6]{text-align:left;color:var(--gray-500);font-weight:600;padding:8px}.mini-table td[data-v-8e8a2cb6]{padding:8px;border-top:1px solid var(--gray-100)}.widget-link[data-v-8e8a2cb6]{display:block;margin-top:auto;color:var(--brand-teal);font-size:.85rem;font-weight:600;text-decoration:none}.widget-link.compact[data-v-8e8a2cb6]{margin:0;font-size:.78rem;white-space:nowrap}.widget-title-row[data-v-8e8a2cb6]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.vehicle-list-mini[data-v-8e8a2cb6]{display:flex;flex-direction:column;gap:10px}.vehicle-mini-row[data-v-8e8a2cb6]{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--gray-100);border-radius:14px;text-decoration:none;color:inherit;background:#fbfcfd;transition:.18s ease}.vehicle-mini-row[data-v-8e8a2cb6]:hover{background:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.vehicle-mini-icon[data-v-8e8a2cb6]{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vehicle-mini-icon.badge-green[data-v-8e8a2cb6]{background:var(--green-bg);color:var(--green)}.vehicle-mini-icon.badge-orange[data-v-8e8a2cb6]{background:var(--orange-bg);color:var(--orange)}.vehicle-mini-icon.badge-gray[data-v-8e8a2cb6]{background:var(--gray-100);color:var(--gray-500)}.vehicle-mini-main[data-v-8e8a2cb6]{min-width:0;flex:1}.vehicle-mini-top[data-v-8e8a2cb6]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.vehicle-mini-top strong[data-v-8e8a2cb6]{color:var(--gray-800);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vehicle-mini-meta[data-v-8e8a2cb6]{color:var(--gray-500);font-size:.78rem;display:flex;align-items:center;gap:6px;min-width:0}.vehicle-mini-meta span[data-v-8e8a2cb6]:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot-sep[data-v-8e8a2cb6]{color:var(--gray-300)}.vehicle-mini-empty[data-v-8e8a2cb6]{padding:18px;text-align:center;color:var(--gray-400);background:var(--gray-50);border-radius:12px;font-size:.84rem}.maintenance-gauge[data-v-8e8a2cb6]{display:flex;justify-content:center;position:relative;margin-bottom:12px}.gauge-center[data-v-8e8a2cb6]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.gauge-center strong[data-v-8e8a2cb6]{display:block;font-size:1.2rem;color:var(--gray-800)}.gauge-center span[data-v-8e8a2cb6]{font-size:.7rem;color:var(--gray-500)}.maintenance-labels[data-v-8e8a2cb6]{display:flex;gap:16px;justify-content:center;font-size:.78rem;color:var(--gray-600)}.dot-sm[data-v-8e8a2cb6]{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}@media(max-width:1023px){.charts-row[data-v-8e8a2cb6],.bottom-grid[data-v-8e8a2cb6],.dash-header-right[data-v-8e8a2cb6],.greeting[data-v-8e8a2cb6]{display:none}}@media(min-width:1024px){.kpi-grid[data-v-8e8a2cb6]{display:none}}@media(max-width:1023px){.main-content[data-v-8e8a2cb6]{padding-bottom:86px}}.dashboard-skeleton[data-v-8e8a2cb6]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.sk-card[data-v-8e8a2cb6],.sk-panel[data-v-8e8a2cb6]{background:#fff;border:1px solid var(--gray-100);border-radius:18px;padding:16px;overflow:hidden}.sk-panel[data-v-8e8a2cb6]{grid-column:span 2;min-height:150px}.sk-card span[data-v-8e8a2cb6],.sk-card strong[data-v-8e8a2cb6],.sk-card em[data-v-8e8a2cb6],.sk-panel span[data-v-8e8a2cb6],.sk-panel strong[data-v-8e8a2cb6],.sk-panel em[data-v-8e8a2cb6]{display:block;border-radius:999px;background:linear-gradient(90deg,#edf2f7,#f8fafc,#edf2f7);background-size:220% 100%;animation:dashSkeleton-8e8a2cb6 1.15s ease-in-out infinite}.sk-card span[data-v-8e8a2cb6]{width:70%;height:12px}.sk-card strong[data-v-8e8a2cb6]{width:42%;height:28px;margin-top:14px}.sk-card em[data-v-8e8a2cb6]{width:52%;height:10px;margin-top:10px}.sk-panel span[data-v-8e8a2cb6]{width:45%;height:14px}.sk-panel strong[data-v-8e8a2cb6]{width:100%;height:76px;margin-top:20px;border-radius:16px}.sk-panel em[data-v-8e8a2cb6]{width:66%;height:12px;margin-top:14px}@keyframes dashSkeleton-8e8a2cb6{to{background-position:-220% 0}}.fleet-page[data-v-ba275be3]{padding:24px;max-width:1200px;margin:0 auto}.fleet-hero[data-v-ba275be3]{display:flex;justify-content:space-between;gap:20px;align-items:stretch;background:linear-gradient(135deg,#1a73e814,#0ec8b80a);border:1px solid rgba(26,115,232,.12);border-radius:18px;padding:24px;margin-bottom:18px}.eyebrow[data-v-ba275be3]{color:var(--brand-teal);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;margin:0 0 8px;font-weight:700}h1[data-v-ba275be3]{margin:0;font-size:1.5rem;color:var(--gray-800)}.subtitle[data-v-ba275be3]{margin:8px 0 0;color:var(--gray-400);max-width:620px;font-size:.88rem}.hero-metrics[data-v-ba275be3]{display:grid;grid-template-columns:repeat(3,100px);gap:10px}.hero-metrics div[data-v-ba275be3]{background:#fff;border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid var(--gray-100);padding:10px 6px}.hero-metric-icon[data-v-ba275be3]{display:grid;place-items:center;margin-bottom:5px}.hero-metric-icon svg[data-v-ba275be3]{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.hero-metric-icon.blue[data-v-ba275be3]{color:var(--brand-blue);background:var(--blue-bg)}.hero-metric-icon.green[data-v-ba275be3]{color:var(--green);background:var(--green-bg)}.hero-metric-icon.teal[data-v-ba275be3]{color:var(--brand-teal);background:#0ec8b81c}.hero-metrics strong[data-v-ba275be3]{font-size:1.4rem;color:var(--brand-blue)}.hero-metrics span[data-v-ba275be3]{color:var(--gray-500);font-size:.72rem;margin-top:2px}.notice[data-v-ba275be3]{margin-bottom:14px;background:var(--green-bg);color:var(--green);border-radius:12px;padding:10px 14px;font-size:.88rem}.toolbar[data-v-ba275be3]{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.search-box[data-v-ba275be3]{flex:1;min-width:250px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:0 14px}.search-box input[data-v-ba275be3]{flex:1;background:transparent;border:none;color:var(--gray-800);padding:12px 0;outline:none;font-size:.9rem}.search-box input[data-v-ba275be3]::placeholder{color:var(--gray-400)}.filter-select[data-v-ba275be3]{background:#fff;color:var(--gray-700);border:1px solid var(--gray-200);border-radius:10px;padding:10px 14px;font-size:.88rem;min-width:150px}.fleet-grid[data-v-ba275be3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.vehicle-card[data-v-ba275be3]{background:#fff;border:1px solid var(--gray-100);border-radius:16px;padding:16px;box-shadow:var(--shadow-sm)}.vehicle-card header[data-v-ba275be3]{display:flex;align-items:center;gap:12px;margin-bottom:14px}.vehicle-icon[data-v-ba275be3]{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--blue-bg);color:var(--brand-blue)}.title-block[data-v-ba275be3]{flex:1;min-width:0}.title-block strong[data-v-ba275be3],.title-block span[data-v-ba275be3]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-block strong[data-v-ba275be3]{color:var(--gray-800);font-size:.95rem}.title-block span[data-v-ba275be3]{color:var(--gray-400);font-size:.78rem;margin-top:3px}.info-grid[data-v-ba275be3]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.info-grid div[data-v-ba275be3]{background:var(--gray-50);border-radius:10px;padding:10px;min-width:0}.info-grid small[data-v-ba275be3]{display:block;color:var(--gray-500);margin-bottom:4px;font-size:.72rem}.info-grid strong[data-v-ba275be3]{color:var(--gray-700);font-size:.85rem;word-break:break-word}.coords[data-v-ba275be3]{margin-top:12px;color:var(--gray-400);font-size:.82rem;display:flex;align-items:center;gap:6px}.inline-icon[data-v-ba275be3],.vehicle-icon svg[data-v-ba275be3]{width:1.15em;height:1.15em;flex-shrink:0}.actions[data-v-ba275be3]{display:flex;gap:10px;margin-top:14px}.actions a[data-v-ba275be3],.actions button[data-v-ba275be3]{flex:1;text-align:center;text-decoration:none;color:var(--brand-teal);border:1px solid rgba(14,200,184,.25);border-radius:9px;padding:8px;background:transparent;cursor:pointer;font:inherit;font-size:.82rem;font-weight:500;transition:all .15s ease}.actions a[data-v-ba275be3]:hover,.actions button[data-v-ba275be3]:hover{background:#0ec8b814}.modal-overlay[data-v-ba275be3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c1e3375;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:2100;padding:24px}.vehicle-modal[data-v-ba275be3]{width:min(820px,100%);max-height:min(88dvh,820px);overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:22px;box-shadow:0 28px 90px #0c1e333d}.modal-head[data-v-ba275be3]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid var(--gray-100);background:linear-gradient(135deg,#1a73e811,#0ec8b80a)}.modal-title-wrap[data-v-ba275be3]{display:flex;gap:13px;min-width:0}.modal-vehicle-icon[data-v-ba275be3]{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;color:var(--brand-blue);background:var(--blue-bg);border-radius:14px}.modal-vehicle-icon svg[data-v-ba275be3],.section-icon svg[data-v-ba275be3],.modal-actions svg[data-v-ba275be3],.close-btn svg[data-v-ba275be3]{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.modal-head .eyebrow[data-v-ba275be3]{margin:0 0 4px;font-size:.68rem}.modal-head h2[data-v-ba275be3]{margin:0;color:var(--gray-800);font-size:1.18rem}.modal-head p[data-v-ba275be3]:last-child{margin:4px 0 0;color:var(--gray-500);font-size:.82rem}.close-btn[data-v-ba275be3]{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;color:var(--gray-500);background:#fff;border:1px solid var(--gray-200)}.close-btn[data-v-ba275be3]:hover{color:var(--red);background:var(--red-bg)}.modal-body[data-v-ba275be3]{overflow-y:auto;padding:4px 24px 20px}.form-section[data-v-ba275be3]{padding:19px 0;border-bottom:1px solid var(--gray-100)}.form-section[data-v-ba275be3]:last-child{border-bottom:0}.section-heading[data-v-ba275be3]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-heading h3[data-v-ba275be3]{margin:0;color:var(--gray-800);font-size:.94rem}.section-heading p[data-v-ba275be3]{margin:2px 0 0;color:var(--gray-500);font-size:.76rem}.section-icon[data-v-ba275be3]{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:11px}.section-icon svg[data-v-ba275be3]{width:20px;height:20px}.section-icon.blue[data-v-ba275be3]{color:var(--brand-blue);background:var(--blue-bg)}.section-icon.teal[data-v-ba275be3]{color:var(--brand-teal);background:#0ec8b81c}.section-icon.purple[data-v-ba275be3]{color:#7c3aed;background:#7c3aed1a}.section-icon.gray[data-v-ba275be3]{color:var(--gray-600);background:var(--gray-100)}.form-grid[data-v-ba275be3]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}label[data-v-ba275be3],.full-label[data-v-ba275be3]{display:flex;flex-direction:column;gap:6px;color:var(--gray-600);font-size:.78rem;font-weight:700}input[data-v-ba275be3],select[data-v-ba275be3],textarea[data-v-ba275be3]{width:100%;box-sizing:border-box;min-height:43px;background:#fff;color:var(--gray-800);border:1px solid var(--gray-200);border-radius:10px;padding:10px 12px;outline:none;font-size:.9rem;font-weight:400}input[data-v-ba275be3]:focus,select[data-v-ba275be3]:focus,textarea[data-v-ba275be3]:focus{border-color:var(--brand-teal);box-shadow:0 0 0 3px #0ec8b81f}textarea[data-v-ba275be3]{resize:vertical;min-height:82px}.input-suffix[data-v-ba275be3]{display:flex;align-items:center;border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;background:#fff}.input-suffix[data-v-ba275be3]:focus-within{border-color:var(--brand-teal);box-shadow:0 0 0 3px #0ec8b81f}.input-suffix input[data-v-ba275be3]{border:0;min-width:0}.input-suffix em[data-v-ba275be3]{align-self:stretch;display:flex;align-items:center;padding:0 10px;font-style:normal;font-size:.7rem;white-space:nowrap;color:var(--gray-500);background:var(--gray-50);border-left:1px solid var(--gray-200)}.full-label[data-v-ba275be3]{margin-top:0}.form-error[data-v-ba275be3]{margin-top:12px;background:var(--red-bg);border:1px solid rgba(224,49,49,.18);border-radius:12px;padding:11px 13px;color:var(--red);font-size:.83rem}.modal-actions[data-v-ba275be3]{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:15px 24px;border-top:1px solid var(--gray-100);background:#fff}.modal-actions .btn[data-v-ba275be3]{min-height:42px}.modal-actions .btn-primary svg[data-v-ba275be3]{width:17px;height:17px}@media(max-width:720px){.fleet-page[data-v-ba275be3]{padding:14px 12px 18px}.fleet-hero[data-v-ba275be3]{flex-direction:column;padding:18px}h1[data-v-ba275be3]{font-size:1.35rem}.hero-metrics[data-v-ba275be3]{grid-template-columns:repeat(3,1fr);gap:7px}.hero-metrics div[data-v-ba275be3]{min-height:72px}.toolbar[data-v-ba275be3]{display:grid;grid-template-columns:1fr 1fr}.search-box[data-v-ba275be3]{grid-column:1 / -1}.fleet-grid[data-v-ba275be3]{grid-template-columns:1fr}.info-grid[data-v-ba275be3]{grid-template-columns:repeat(2,1fr)}.modal-overlay[data-v-ba275be3]{align-items:end;padding:0}.vehicle-modal[data-v-ba275be3]{width:100%;max-height:92dvh;border-radius:22px 22px 0 0}.modal-head[data-v-ba275be3]{padding:18px 16px 15px}.modal-body[data-v-ba275be3]{padding:2px 16px 14px}.modal-actions[data-v-ba275be3]{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.form-grid[data-v-ba275be3]{grid-template-columns:1fr;gap:11px}.section-heading[data-v-ba275be3]{margin-bottom:12px}}@media(max-width:420px){.modal-title-wrap[data-v-ba275be3]{gap:10px}.modal-vehicle-icon[data-v-ba275be3]{width:40px;height:40px;flex-basis:40px}.modal-head h2[data-v-ba275be3]{font-size:1.05rem}.modal-head p[data-v-ba275be3]:last-child{font-size:.75rem}.modal-actions[data-v-ba275be3]{gap:8px}.modal-actions .btn[data-v-ba275be3]{padding-inline:12px;font-size:.8rem}.modal-actions .btn-primary[data-v-ba275be3]{flex:1;justify-content:center}}.vehicle-skeleton .sk-avatar[data-v-ba275be3],.vehicle-skeleton .sk-line[data-v-ba275be3],.vehicle-skeleton .sk-badge[data-v-ba275be3],.vehicle-skeleton .sk-box[data-v-ba275be3]{display:block;border-radius:999px;background:linear-gradient(90deg,#edf2f7,#f8fafc,#edf2f7);background-size:220% 100%;animation:fleetSkeleton-ba275be3 1.15s ease-in-out infinite}.vehicle-skeleton .sk-avatar[data-v-ba275be3]{width:42px;height:42px;border-radius:14px}.vehicle-skeleton .sk-line[data-v-ba275be3]{height:12px;margin:5px 0}.vehicle-skeleton .w70[data-v-ba275be3]{width:70%}.vehicle-skeleton .w45[data-v-ba275be3]{width:45%}.vehicle-skeleton .w90[data-v-ba275be3]{width:90%}.vehicle-skeleton .sk-badge[data-v-ba275be3]{width:72px;height:24px}.vehicle-skeleton .sk-box[data-v-ba275be3]{height:48px;border-radius:14px}@keyframes fleetSkeleton-ba275be3{to{background-position:-220% 0}}.profile-card[data-v-dcd26c50]{display:flex;gap:14px;padding:16px;margin-bottom:16px;align-items:center}.profile-left[data-v-dcd26c50]{flex-shrink:0}.vehicle-photo[data-v-dcd26c50]{width:68px;height:68px;border-radius:var(--radius-md);background:#ffffff1f;display:flex;align-items:center;justify-content:center}.profile-right[data-v-dcd26c50]{display:flex;flex-direction:column;gap:4px}.profile-right h2[data-v-dcd26c50]{font-size:1.15rem;font-weight:700}.plate-label[data-v-dcd26c50]{font-size:.72rem;opacity:.6;margin-top:4px}.plate-value[data-v-dcd26c50]{font-size:1rem;font-weight:600;letter-spacing:1px}.tab-bar[data-v-dcd26c50]{display:flex;gap:4px;background:var(--gray-100);border-radius:var(--radius-md);padding:3px;margin-bottom:16px}.tab[data-v-dcd26c50]{flex:1;padding:8px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:500;color:var(--gray-500);text-align:center;background:transparent}.tab.active[data-v-dcd26c50]{background:#fff;color:var(--gray-800);box-shadow:var(--shadow-sm);font-weight:600}.stats-row[data-v-dcd26c50]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stat-box[data-v-dcd26c50]{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:6px}.stat-label[data-v-dcd26c50]{font-size:.75rem;color:var(--gray-500)}.stat-value[data-v-dcd26c50]{font-size:1.1rem;font-weight:700;color:var(--gray-800)}.detail-list[data-v-dcd26c50]{display:flex;flex-direction:column;gap:1px;background:var(--gray-100);border-radius:var(--radius-md);overflow:hidden;margin-bottom:20px}.detail-row[data-v-dcd26c50]{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;cursor:pointer}.detail-row[data-v-dcd26c50]:hover{background:var(--gray-50)}.detail-icon[data-v-dcd26c50]{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--gray-100);display:flex;align-items:center;justify-content:center;color:var(--gray-600);flex-shrink:0}.detail-content[data-v-dcd26c50]{flex:1;min-width:0}.detail-content strong[data-v-dcd26c50]{display:block;font-size:.85rem;color:var(--gray-700)}.detail-content span[data-v-dcd26c50]{display:block;font-size:.82rem;color:var(--gray-600)}.detail-content small[data-v-dcd26c50]{display:block;font-size:.72rem;color:var(--gray-400);margin-top:1px}.action-buttons[data-v-dcd26c50]{display:flex;gap:10px}.history[data-v-9c5a5e4f]{position:relative;display:flex;flex-direction:column;min-height:100dvh;background:#f5f7fa;padding:22px;gap:16px}.history-hero[data-v-9c5a5e4f]{display:flex;justify-content:space-between;gap:18px;align-items:center;background:transparent;border:0;border-radius:0;padding:0}.hero-copy h1[data-v-9c5a5e4f],.history-hero h1[data-v-9c5a5e4f]{margin:0;color:var(--gray-800);font-size:1.8rem;letter-spacing:-.03em}.subtitle[data-v-9c5a5e4f]{margin:7px 0 0;color:var(--gray-500);font-size:.92rem}.history-summary[data-v-9c5a5e4f]{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:12px;min-width:min(460px,48vw)}.stat-card[data-v-9c5a5e4f]{background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:18px;padding:14px 16px;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;box-shadow:0 10px 26px #0f172a0d}.stat-icon[data-v-9c5a5e4f]{grid-row:1 / 3;width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:var(--brand-blue);background:#1a73e814}.history-summary strong[data-v-9c5a5e4f]{color:var(--gray-800);font-size:1.12rem;line-height:1}.history-summary span[data-v-9c5a5e4f]{color:var(--gray-500);font-size:.72rem;margin-top:3px;font-weight:700}.filters[data-v-9c5a5e4f]{padding:14px;background:#fff;display:flex;flex-direction:column;gap:14px;border:1px solid rgba(226,232,240,.86);border-radius:20px;box-shadow:0 10px 28px #0f172a0d;flex-shrink:0}.quick-filters[data-v-9c5a5e4f]{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.quick-filters[data-v-9c5a5e4f]::-webkit-scrollbar{display:none}.quick-filter[data-v-9c5a5e4f]{border:1px solid var(--gray-200);background:#fff;color:var(--gray-600);border-radius:999px;padding:9px 14px;font-size:.82rem;font-weight:800;cursor:pointer;white-space:nowrap}.quick-filter.active[data-v-9c5a5e4f]{color:#0b8f86;border-color:#0ec8b847;background:#0ec8b81f}.filter-row[data-v-9c5a5e4f]{display:flex;gap:10px;align-items:flex-end;flex-wrap:nowrap}.filter-group[data-v-9c5a5e4f]{display:flex;flex-direction:column;gap:5px;flex:1;min-width:170px}.vehicle-select-group[data-v-9c5a5e4f]{flex:0 0 150px}.select-input[data-v-9c5a5e4f]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.vehicle-chips[data-v-9c5a5e4f]{display:flex;flex-wrap:wrap;gap:8px;flex:1}.filter-row.secondary[data-v-9c5a5e4f]{display:flex;align-items:center;gap:10px}.action-btn[data-v-9c5a5e4f]{gap:7px;padding-inline:16px;min-height:44px;white-space:nowrap}.history-layout[data-v-9c5a5e4f]{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;flex:1;min-height:600px}.map-column[data-v-9c5a5e4f]{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid rgba(226,232,240,.86);border-radius:24px;box-shadow:0 14px 34px #0f172a12;overflow:hidden}.map-container[data-v-9c5a5e4f]{flex:1;position:relative;min-height:520px}.map[data-v-9c5a5e4f]{width:100%;height:100%;min-height:520px}.history-map-controls[data-v-9c5a5e4f]{position:absolute;top:14px;right:14px;z-index:1100;display:flex;flex-direction:column;gap:6px}.history-map-controls .map-btn[data-v-9c5a5e4f]{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:12px;background:#fffffff5;box-shadow:var(--shadow-md);color:var(--gray-600);font-size:1.2rem;font-weight:600;cursor:pointer}.history-map-controls .map-btn[data-v-9c5a5e4f]:hover{color:var(--brand-blue);background:#fff}.map-replay-bar[data-v-9c5a5e4f]{display:grid;grid-template-columns:44px auto minmax(120px,1fr) auto 38px;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid rgba(226,232,240,.9);background:#fffffff5}.replay-main-btn[data-v-9c5a5e4f]{width:44px;height:44px;border-radius:50%;border:0;background:var(--brand-blue);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 22px #1a73e840}.replay-time-range[data-v-9c5a5e4f]{font-weight:800;color:var(--gray-700);font-size:.82rem;white-space:nowrap}.replay-slider[data-v-9c5a5e4f]{height:7px;border-radius:999px;background:var(--gray-100);overflow:hidden}.replay-slider-fill[data-v-9c5a5e4f]{height:100%;border-radius:inherit;background:var(--brand-blue)}.replay-speed.compact[data-v-9c5a5e4f]{display:flex;gap:5px;margin-left:0}.fullscreen-btn[data-v-9c5a5e4f]{width:38px;height:38px;border:1px solid var(--gray-200);border-radius:12px;background:#fff;color:var(--gray-600);display:grid;place-items:center;cursor:pointer}.skeleton[data-v-9c5a5e4f]{display:block;position:relative;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,#edf2f7,#f8fafc 45%,#edf2f7);background-size:220% 100%;animation:skeleton-shimmer-9c5a5e4f 1.15s ease-in-out infinite}.map-skeleton[data-v-9c5a5e4f]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:440;pointer-events:none;background:linear-gradient(135deg,#f8fafcd1,#eff6ffb8)}.skeleton-route[data-v-9c5a5e4f]{position:absolute;height:8px;border-radius:999px;background:linear-gradient(90deg,#1a73e829,#0ec8b847,#1a73e829)}.route-a[data-v-9c5a5e4f]{width:46%;left:24%;top:44%;transform:rotate(-8deg)}.route-b[data-v-9c5a5e4f]{width:28%;left:44%;top:55%;transform:rotate(16deg)}.skeleton-pin[data-v-9c5a5e4f]{position:absolute;width:24px;height:24px;border-radius:50%;box-shadow:0 0 0 7px #ffffffb8}.pin-a[data-v-9c5a5e4f]{left:23%;top:42%;background:#fecaca}.pin-b[data-v-9c5a5e4f]{left:70%;top:52%;background:#bbf7d0}.skeleton-title[data-v-9c5a5e4f]{width:106px;height:20px}.skeleton-icon[data-v-9c5a5e4f]{width:34px;height:34px;border-radius:10px}.skeleton-line[data-v-9c5a5e4f]{width:100%;height:13px;margin:9px 0}.skeleton-line.wide[data-v-9c5a5e4f]{width:72%;height:16px}.skeleton-subtitle[data-v-9c5a5e4f]{width:138px;height:15px;margin-bottom:12px}.skeleton-metric[data-v-9c5a5e4f]{height:48px;border-radius:14px}.skeleton-card[data-v-9c5a5e4f]{background:#fff;border-color:var(--gray-100)}@keyframes skeleton-shimmer-9c5a5e4f{to{background-position:-220% 0}}.side-panel[data-v-9c5a5e4f]{width:100%;background:#fff;border:1px solid rgba(226,232,240,.86);border-radius:24px;box-shadow:0 14px 34px #0f172a12;display:flex;flex-direction:column;overflow-y:auto;padding:16px}.panel-head[data-v-9c5a5e4f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-head h3[data-v-9c5a5e4f]{margin:0;color:var(--gray-800);font-size:1.05rem}.panel-head button[data-v-9c5a5e4f]{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--gray-200);border-radius:10px;background:#fff;color:var(--gray-500)}.trip-status-card[data-v-9c5a5e4f]{padding:14px;border-radius:18px;background:linear-gradient(135deg,#12b8861f,#0ec8b80f);border:1px solid rgba(18,184,134,.18)}.status-row[data-v-9c5a5e4f]{display:flex;align-items:center;justify-content:space-between;color:#0b8f86;font-weight:850;font-size:.9rem}.status-row span[data-v-9c5a5e4f]{display:inline-flex;align-items:center;gap:7px}.trip-summary-grid[data-v-9c5a5e4f]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.trip-summary-grid div[data-v-9c5a5e4f]{text-align:center}.trip-summary-grid strong[data-v-9c5a5e4f]{display:block;color:var(--gray-800);font-size:.98rem}.trip-summary-grid span[data-v-9c5a5e4f]{display:block;margin-top:3px;color:var(--gray-500);font-size:.64rem;font-weight:800}.panel-section[data-v-9c5a5e4f]{margin-top:18px}.panel-section h4[data-v-9c5a5e4f]{margin:0 0 12px;color:var(--gray-800);font-size:.9rem}.speed-breakdown[data-v-9c5a5e4f]{display:flex;flex-direction:column;gap:10px}.speed-row[data-v-9c5a5e4f]{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;color:var(--gray-600);font-size:.78rem}.speed-row strong[data-v-9c5a5e4f]{color:var(--gray-700);font-size:.74rem}.speed-dot[data-v-9c5a5e4f]{width:9px;height:9px;border-radius:50%}.speed-bar[data-v-9c5a5e4f]{grid-column:2 / 4;height:5px;border-radius:999px;background:var(--gray-100);overflow:hidden}.speed-bar span[data-v-9c5a5e4f]{display:block;height:100%;border-radius:inherit}.trip-details-card[data-v-9c5a5e4f]{padding-top:2px}.detail-line[data-v-9c5a5e4f]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--gray-100);color:var(--gray-500);font-size:.82rem}.detail-line[data-v-9c5a5e4f]:last-child{border-bottom:0}.detail-line strong[data-v-9c5a5e4f]{color:var(--gray-800);font-size:.78rem;text-align:right}.detail-line span[data-v-9c5a5e4f]{display:inline-flex;align-items:center;gap:7px}.dot[data-v-9c5a5e4f]{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.red[data-v-9c5a5e4f]{background:#f87171}.dot.green[data-v-9c5a5e4f]{background:#4ade80}.speed-legend[data-v-9c5a5e4f]{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;padding:10px 16px 6px;border-top:1px solid var(--gray-100)}.legend-item[data-v-9c5a5e4f]{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--gray-500)}.legend-swatch[data-v-9c5a5e4f]{width:14px;height:14px;border-radius:4px;flex-shrink:0}.panel-title[data-v-9c5a5e4f]{padding:var(--space-3) var(--space-4) var(--space-2);font-size:.72rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.trip-list[data-v-9c5a5e4f]{display:flex;flex-direction:column;gap:6px;padding:0 var(--space-3) var(--space-3)}.trip-card[data-v-9c5a5e4f]{background:#fbfcfd;border-radius:16px;padding:14px;cursor:pointer;border:1px solid var(--gray-100);transition:border-color .15s var(--ease),background .15s var(--ease)}.trip-card[data-v-9c5a5e4f]:hover{border-color:var(--brand-teal)}.trip-card.active[data-v-9c5a5e4f]{border-color:var(--brand-teal);background:#0ec8b80f}.trip-header[data-v-9c5a5e4f]{display:flex;gap:10px;align-items:center}.trip-num[data-v-9c5a5e4f]{font-weight:700;color:var(--brand-teal);font-size:.85rem}.trip-dist[data-v-9c5a5e4f]{font-weight:700;color:var(--color-text);font-size:.9rem}.trip-fuel[data-v-9c5a5e4f]{color:var(--color-warning);font-size:.75rem;font-weight:600}.trip-avg[data-v-9c5a5e4f]{color:var(--gray-500);font-size:.75rem}.trip-dur[data-v-9c5a5e4f]{margin-left:auto;color:var(--gray-500);font-size:.8rem}.trip-detail[data-v-9c5a5e4f]{display:flex;gap:10px;margin-top:5px;font-size:.7rem;color:var(--color-text-muted);flex-wrap:wrap}.trip-detail-item[data-v-9c5a5e4f]{display:inline-flex;align-items:center;gap:4px}.trip-max[data-v-9c5a5e4f]{color:var(--color-danger);font-size:.7rem;font-weight:700}.trip-detail-panel[data-v-9c5a5e4f]{padding:var(--space-3);border-top:1px solid var(--color-border)}.trip-detail-panel h4[data-v-9c5a5e4f]{font-size:.85rem;color:var(--color-text);margin-bottom:var(--space-2);font-weight:700}.detail-row[data-v-9c5a5e4f]{display:flex;gap:8px;align-items:center;font-size:.8rem;padding:4px 0;color:var(--gray-500)}.detail-icon[data-v-9c5a5e4f]{width:20px;text-align:center}.detail-label[data-v-9c5a5e4f]{font-weight:600;min-width:70px}.detail-time[data-v-9c5a5e4f]{color:var(--color-text-muted);font-family:SF Mono,ui-monospace,monospace;font-size:.75rem}.detail-val[data-v-9c5a5e4f]{color:var(--color-text-secondary);font-size:.75rem;margin-left:auto}.replay-section[data-v-9c5a5e4f]{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.replay-controls[data-v-9c5a5e4f]{display:flex;align-items:center;gap:6px}.replay-btn[data-v-9c5a5e4f]{background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text);transition:all .15s var(--ease)}.replay-btn[data-v-9c5a5e4f]:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.replay-speed[data-v-9c5a5e4f]{display:flex;gap:3px;margin-left:auto}.speed-btn[data-v-9c5a5e4f]{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;padding:4px 8px;cursor:pointer;color:var(--color-text-muted);font-size:.7rem;font-weight:700;transition:all .15s var(--ease)}.speed-btn[data-v-9c5a5e4f]:hover{border-color:var(--color-accent);color:var(--color-text)}.speed-btn.active[data-v-9c5a5e4f]{border-color:var(--color-accent);color:var(--brand-teal);background:var(--color-accent-soft)}.replay-progress-text[data-v-9c5a5e4f]{color:var(--color-text-muted);font-size:.7rem;font-family:SF Mono,ui-monospace,monospace;min-width:40px;text-align:right}.replay-progress-bar[data-v-9c5a5e4f]{margin-top:8px;height:4px;background:var(--color-surface-3);border-radius:4px;overflow:hidden}.replay-progress-fill[data-v-9c5a5e4f]{height:100%;background:var(--color-accent);border-radius:4px;transition:width .2s}.replay-info[data-v-9c5a5e4f]{display:flex;justify-content:center;gap:16px;margin-top:6px;font-size:.75rem;color:var(--gray-500)}.history-empty-state[data-v-9c5a5e4f]{min-height:300px;margin:22px 0;padding:34px 42px;display:flex;align-items:center;justify-content:center;gap:28px;text-align:left;background:linear-gradient(135deg,#fffffff5,#f0f9ffd1);border:1px solid rgba(14,200,184,.16);border-radius:22px;box-shadow:0 12px 30px #0f172a0d}.empty-visual[data-v-9c5a5e4f]{width:156px;height:156px;flex:0 0 156px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(14,200,184,.09),rgba(26,115,232,.025) 66%,transparent 67%)}.empty-copy[data-v-9c5a5e4f]{max-width:430px}.empty-copy .eyebrow[data-v-9c5a5e4f]{margin:0 0 7px}.empty-copy h2[data-v-9c5a5e4f]{margin:0;color:var(--brand-navy);font-size:1.35rem;letter-spacing:-.02em}.empty-copy p[data-v-9c5a5e4f]:not(.eyebrow){margin:8px 0 0;color:var(--gray-600);font-size:.94rem;line-height:1.55}.empty-hint[data-v-9c5a5e4f]{display:block;margin-top:9px;color:var(--gray-500);font-size:.8rem}.empty-action[data-v-9c5a5e4f]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;white-space:nowrap}.empty-action svg[data-v-9c5a5e4f]{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.history-error-state[data-v-9c5a5e4f]{border-color:#e031312e}.empty-icon[data-v-9c5a5e4f]{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border-radius:20px}.empty-icon svg[data-v-9c5a5e4f]{width:35px;height:35px}.error-icon[data-v-9c5a5e4f]{color:var(--red);background:var(--red-bg)}@media(max-width:820px){.history[data-v-9c5a5e4f]{min-height:100%;padding:12px}.history-hero[data-v-9c5a5e4f]{flex-direction:column;align-items:stretch}.history-summary[data-v-9c5a5e4f]{min-width:0;grid-template-columns:repeat(3,1fr)}.history-empty-state[data-v-9c5a5e4f]{min-height:0;margin:16px 0;padding:26px 20px;flex-direction:column;gap:16px;text-align:center}.empty-visual[data-v-9c5a5e4f]{width:128px;height:128px;flex-basis:128px}.empty-visual[data-v-9c5a5e4f] svg{max-width:128px;max-height:128px}.empty-copy[data-v-9c5a5e4f]{max-width:330px}.empty-copy h2[data-v-9c5a5e4f]{font-size:1.2rem}.empty-action[data-v-9c5a5e4f]{width:100%;min-height:46px}.history-error-state .empty-icon[data-v-9c5a5e4f]{margin-bottom:2px}.filters[data-v-9c5a5e4f]{padding:12px;gap:10px}.history-layout[data-v-9c5a5e4f]{grid-template-columns:1fr;min-height:auto}.map-replay-bar[data-v-9c5a5e4f]{grid-template-columns:44px auto 1fr 38px;grid-template-areas:"play time time full" "slider slider speed speed"}.replay-main-btn[data-v-9c5a5e4f]{grid-area:play}.replay-time-range[data-v-9c5a5e4f]{grid-area:time}.replay-slider[data-v-9c5a5e4f]{grid-area:slider}.replay-speed.compact[data-v-9c5a5e4f]{grid-area:speed;justify-content:flex-end}.fullscreen-btn[data-v-9c5a5e4f]{grid-area:full}.map-container[data-v-9c5a5e4f],.map[data-v-9c5a5e4f]{min-height:50dvh}.side-panel[data-v-9c5a5e4f]{width:100%;max-height:38dvh}.trip-list[data-v-9c5a5e4f]{padding:0 10px 10px}.trip-card[data-v-9c5a5e4f]{padding:10px}.replay-section[data-v-9c5a5e4f]{position:sticky;bottom:0;z-index:2;background:var(--color-surface);padding:10px;margin:8px -10px -10px;border-top:1px solid var(--color-border)}.replay-controls[data-v-9c5a5e4f]{flex-wrap:wrap}.replay-btn[data-v-9c5a5e4f]{width:42px;height:42px}.speed-btn[data-v-9c5a5e4f]{min-height:34px;padding:6px 10px}}@media(max-width:480px){.history[data-v-9c5a5e4f]{padding:10px 10px 14px;gap:10px}.history-hero[data-v-9c5a5e4f]{gap:12px}.eyebrow[data-v-9c5a5e4f]{margin-bottom:5px;font-size:.68rem}.history-hero h1[data-v-9c5a5e4f]{font-size:1.22rem;line-height:1.18}.subtitle[data-v-9c5a5e4f]{margin-top:6px;font-size:.8rem;line-height:1.35}.history-summary[data-v-9c5a5e4f]{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.history-summary div[data-v-9c5a5e4f]{min-width:0;padding:9px 6px;border-radius:13px}.history-summary strong[data-v-9c5a5e4f]{font-size:.95rem;line-height:1.1}.history-summary span[data-v-9c5a5e4f]{font-size:.62rem;white-space:nowrap}.filters[data-v-9c5a5e4f]{padding:12px;gap:12px;border-radius:18px}.filter-row[data-v-9c5a5e4f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}.filter-group[data-v-9c5a5e4f]{min-width:0;grid-column:1 / -1}.vehicle-select-group[data-v-9c5a5e4f]{flex-basis:auto}.input[data-v-9c5a5e4f]{width:100%;font-size:16px;min-height:46px;padding-inline:10px}.action-btn[data-v-9c5a5e4f]{min-height:46px;justify-content:center;padding-inline:12px;border-radius:13px}.action-btn.btn-primary[data-v-9c5a5e4f]{grid-column:1 / 2}.action-btn.btn-ghost[data-v-9c5a5e4f]{grid-column:2 / 3;border:1px solid var(--gray-200);background:#fff;color:var(--gray-600)}.filter-row.secondary[data-v-9c5a5e4f]{display:block}.vehicle-chips[data-v-9c5a5e4f]{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:3px;scrollbar-width:none}.vehicle-chips[data-v-9c5a5e4f]::-webkit-scrollbar{display:none}.vehicle-chip-label[data-v-9c5a5e4f]{display:inline-flex;align-items:center;flex-shrink:0;color:var(--gray-500);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.chip[data-v-9c5a5e4f]{white-space:nowrap;flex-shrink:0;min-height:36px;display:inline-flex;align-items:center;border-radius:999px}.history-layout[data-v-9c5a5e4f]{border-radius:20px;gap:12px}.map-replay-bar[data-v-9c5a5e4f]{grid-template-columns:42px 1fr 36px;grid-template-areas:"play time full" "slider slider slider" "speed speed speed";gap:10px}.replay-speed.compact[data-v-9c5a5e4f]{justify-content:stretch;display:grid;grid-template-columns:repeat(3,1fr)}.map-container[data-v-9c5a5e4f],.map[data-v-9c5a5e4f]{min-height:54dvh}.side-panel[data-v-9c5a5e4f]{max-height:36dvh}.trip-header[data-v-9c5a5e4f]{flex-wrap:wrap}.trip-dur[data-v-9c5a5e4f]{margin-left:0}.replay-speed[data-v-9c5a5e4f]{width:100%;margin-left:0;display:grid;grid-template-columns:repeat(4,1fr)}.replay-progress-text[data-v-9c5a5e4f]{margin-left:auto}}.hist-tip{font-family:system-ui,sans-serif;line-height:1.4}.tip-row{display:flex;gap:5px;font-size:.75rem;align-items:center;padding:1px 0}.tip-row span:first-child{width:18px;text-align:center;flex-shrink:0}.tip-row span:last-child{color:#eef2f9;font-weight:500}.leaflet-tooltip{padding:6px 8px!important;border-radius:8px!important;box-shadow:0 8px 24px #0006!important;background:#131b2e!important;border:1px solid rgba(148,163,184,.15)!important;color:#eef2f9!important}.leaflet-tooltip-top:before{border-top-color:#131b2e!important}.marker-arrow-wrap{width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:transform .5s ease;filter:drop-shadow(0 0 4px rgba(0,0,0,.4))}.map-page[data-v-2f5828db]{padding:18px 24px 0;max-width:1400px;margin:0 auto;position:relative;min-height:calc(100dvh - 64px);background:#f5f7fa}.map-hero[data-v-2f5828db]{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.map-hero h1[data-v-2f5828db]{margin:0;font-size:1.6rem;color:var(--gray-800);letter-spacing:-.025em}.map-hero .eyebrow[data-v-2f5828db]{margin:0 0 7px;text-transform:uppercase;font-size:.72rem}.map-hero .subtitle[data-v-2f5828db]{margin:0;color:var(--gray-500);font-size:.87rem}.map-hero-metrics[data-v-2f5828db]{display:grid;grid-template-columns:repeat(3,100px);gap:10px}.map-hero-metrics>div[data-v-2f5828db]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;padding:8px 5px;background:#fff;border:1px solid var(--gray-100);border-radius:14px}.hero-metric-icon[data-v-2f5828db]{display:grid;place-items:center;margin-bottom:4px}.hero-metric-icon svg[data-v-2f5828db]{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.hero-metric-icon.blue[data-v-2f5828db]{color:var(--brand-blue);background:var(--blue-bg)}.hero-metric-icon.green[data-v-2f5828db]{color:var(--green);background:var(--green-bg)}.hero-metric-icon.teal[data-v-2f5828db]{color:var(--brand-teal);background:#0ec8b81c}.map-hero-metrics strong[data-v-2f5828db]{color:var(--gray-800);font-size:1.12rem;line-height:1.1}.map-hero-metrics>div>span[data-v-2f5828db]:last-child{color:var(--gray-500);font-size:.68rem;margin-top:2px}.search-bar[data-v-2f5828db]{display:flex;align-items:center;gap:8px;margin:12px 16px 10px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:10px 14px;position:relative;z-index:8}.search-bar input[data-v-2f5828db]{flex:1;border:none;background:transparent;font-size:.88rem;padding:0;outline:none;min-width:0}.search-bar input[data-v-2f5828db]::placeholder{color:var(--gray-400)}.clear-search[data-v-2f5828db]{border:none;background:var(--gray-100);color:var(--gray-500);width:22px;height:22px;border-radius:50%}.filter-chips[data-v-2f5828db]{display:flex;gap:8px;padding:0 16px 12px;overflow-x:auto;position:relative;z-index:8;max-width:100%;box-sizing:border-box;scrollbar-width:none}.filter-chips[data-v-2f5828db]::-webkit-scrollbar{display:none}.chip[data-v-2f5828db]{display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:20px;background:#fff;border:1px solid var(--gray-200);font-size:.78rem;font-weight:600;color:var(--gray-600);white-space:nowrap}.chip.active[data-v-2f5828db]{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.dot[data-v-2f5828db]{width:7px;height:7px;border-radius:50%}.map-shell[data-v-2f5828db]{position:relative}.map-area[data-v-2f5828db]{height:calc(100dvh - 195px);min-height:420px;margin:0;position:relative;z-index:1}.map-controls[data-v-2f5828db]{position:absolute;right:14px;top:14px;z-index:1100;display:flex;flex-direction:column;gap:6px}.map-btn[data-v-2f5828db]{width:40px;height:40px;border-radius:12px;background:#fffffff5;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;color:var(--gray-600);border:none;cursor:pointer}.map-btn[data-v-2f5828db]:disabled{opacity:.55;cursor:wait}.bottom-sheet[data-v-2f5828db]{position:fixed;left:0;right:0;bottom:56px;z-index:20;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #00000014;max-height:92px;transition:max-height .28s ease;overflow:hidden}.bottom-sheet.expanded[data-v-2f5828db]{max-height:62vh}.sheet-handle[data-v-2f5828db]{display:flex;justify-content:center;padding:8px 0 4px;cursor:pointer}.handle-bar[data-v-2f5828db]{width:32px;height:4px;border-radius:4px;background:var(--gray-300)}.sheet-header[data-v-2f5828db]{padding:4px 16px 12px;display:flex;justify-content:space-between;align-items:center;font-size:.82rem;cursor:pointer}.sheet-header strong[data-v-2f5828db]{font-size:.95rem;display:block;color:var(--gray-800)}.sheet-header span[data-v-2f5828db]{color:var(--gray-400)}.sheet-toggle[data-v-2f5828db]{border:1px solid var(--gray-200);background:#fff;color:var(--brand-teal);border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:700}.sheet-list[data-v-2f5828db]{overflow-y:auto;max-height:calc(62vh - 70px);padding:0 16px 16px}.sheet-row[data-v-2f5828db]{display:flex;align-items:center;gap:10px;padding:11px 8px;border-bottom:1px solid var(--gray-100);cursor:pointer;border-radius:12px}.sheet-row[data-v-2f5828db]:hover,.sheet-row.selected[data-v-2f5828db]{background:var(--gray-50)}.sheet-row[data-v-2f5828db]:last-child{border-bottom:none}.vehicle-status-dot[data-v-2f5828db]{width:9px;height:9px;border-radius:50%;flex-shrink:0}.vehicle-status-dot.online[data-v-2f5828db]{background:var(--green)}.vehicle-status-dot.moving[data-v-2f5828db]{background:var(--brand-blue)}.vehicle-status-dot.offline[data-v-2f5828db]{background:var(--gray-400)}.sheet-row-info[data-v-2f5828db]{flex:1;min-width:0}.sheet-row-info strong[data-v-2f5828db]{display:block;font-size:.88rem;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-row-info span[data-v-2f5828db]{display:block;font-size:.72rem;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-row-right[data-v-2f5828db]{text-align:right;display:flex;flex-direction:column;gap:2px;align-items:flex-end}.sheet-row-speed[data-v-2f5828db]{font-size:.82rem;font-weight:700;color:var(--gray-700);white-space:nowrap}.sheet-row-right small[data-v-2f5828db]{font-size:.68rem;color:var(--gray-400);white-space:nowrap}.empty-row[data-v-2f5828db]{color:var(--gray-400);text-align:center;padding:22px 8px;font-size:.86rem}@keyframes spin-2f5828db{to{transform:rotate(360deg)}}@media(min-width:1024px){.map-page[data-v-2f5828db]{min-height:100dvh}.map-area[data-v-2f5828db]{height:calc(100dvh - 305px);min-height:460px}.bottom-sheet[data-v-2f5828db]{left:240px;bottom:0;max-height:86px}.bottom-sheet.expanded[data-v-2f5828db]{max-height:360px}}@media(max-width:720px){.map-page[data-v-2f5828db]{padding:14px 12px 0}.map-hero[data-v-2f5828db]{flex-direction:column;align-items:stretch;gap:13px;padding:18px!important}.map-hero h1[data-v-2f5828db]{font-size:1.32rem}.map-hero-metrics[data-v-2f5828db]{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.map-hero-metrics>div[data-v-2f5828db]{min-height:78px}.map-hero-metrics strong[data-v-2f5828db]{font-size:1rem}.search-bar[data-v-2f5828db]{margin:0 0 10px}.filter-chips[data-v-2f5828db]{padding:0 0 12px}.map-area[data-v-2f5828db]{height:calc(100dvh - 345px);min-height:360px}}@media(max-width:560px){.map-area[data-v-2f5828db]{height:calc(100dvh - 340px);min-height:350px}.map-controls[data-v-2f5828db]{top:12px;right:12px}}.vehicle-marker{background:none!important;border:none!important}.marker-pin{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000040;border:2px solid white}.marker-heading{display:block;transform-origin:50% 50%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.marker-pin.offline{opacity:.85;filter:grayscale(.1)}.alerts-page[data-v-4ca884c7]{max-width:760px}.alerts-hero[data-v-4ca884c7]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.alerts-hero h1[data-v-4ca884c7]{margin:0;font-size:1.5rem;color:var(--gray-800)}.alerts-hero .eyebrow[data-v-4ca884c7]{margin:0 0 7px;font-size:.72rem;text-transform:uppercase}.alerts-hero .subtitle[data-v-4ca884c7]{margin:0;color:var(--gray-500);font-size:.84rem}.tab-bar[data-v-4ca884c7]{display:flex;gap:4px;background:var(--gray-100);border-radius:var(--radius-md);padding:3px;margin-bottom:16px}.tab[data-v-4ca884c7]{flex:1;padding:8px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:500;color:var(--gray-500);text-align:center;background:transparent;display:flex;align-items:center;justify-content:center;gap:4px}.tab.active[data-v-4ca884c7]{background:#fff;color:var(--gray-800);box-shadow:var(--shadow-sm);font-weight:600}.tab-count[data-v-4ca884c7]{font-size:.7rem;background:var(--gray-100);padding:1px 6px;border-radius:10px}.tab.active .tab-count[data-v-4ca884c7]{background:var(--brand-blue);color:#fff}.alert-list[data-v-4ca884c7]{display:flex;flex-direction:column;gap:10px}.alert-card[data-v-4ca884c7]{display:flex;gap:12px;padding:14px}.alert-icon[data-v-4ca884c7]{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-icon.haute[data-v-4ca884c7]{background:var(--red-bg);color:var(--red)}.alert-icon.moyenne[data-v-4ca884c7]{background:var(--orange-bg);color:var(--orange)}.alert-icon.basse[data-v-4ca884c7]{background:var(--blue-bg);color:var(--brand-blue)}.alert-content[data-v-4ca884c7]{flex:1;min-width:0}.alert-content strong[data-v-4ca884c7]{display:block;font-size:.9rem;color:var(--gray-800)}.alert-content span[data-v-4ca884c7]{display:block;font-size:.78rem;color:var(--gray-500);margin-top:1px}.alert-location[data-v-4ca884c7]{font-size:.75rem;color:var(--gray-400)}.alert-time[data-v-4ca884c7]{font-size:.7rem;color:var(--gray-400);margin-top:4px}.alert-right[data-v-4ca884c7]{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.alert-badge[data-v-4ca884c7]{padding:2px 8px;border-radius:10px;font-size:.68rem;font-weight:600}.alert-badge.haute[data-v-4ca884c7]{background:var(--red-bg);color:var(--red)}.alert-badge.moyenne[data-v-4ca884c7]{background:var(--orange-bg);color:var(--orange)}.alert-badge.basse[data-v-4ca884c7]{background:var(--blue-bg);color:var(--brand-blue)}.alert-dot[data-v-4ca884c7]{width:7px;height:7px;border-radius:50%}.alert-dot.haute[data-v-4ca884c7]{background:var(--red)}.alert-dot.moyenne[data-v-4ca884c7]{background:var(--orange)}.alert-dot.basse[data-v-4ca884c7]{background:var(--brand-blue)}.raw-page[data-v-37e82823]{max-width:1200px;margin:0 auto;padding:24px;color:var(--gray-800)}.raw-hero[data-v-37e82823]{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:linear-gradient(135deg,#1a73e814,#0ec8b80a);border:1px solid rgba(26,115,232,.12);border-radius:18px;padding:24px;margin-bottom:16px}.eyebrow[data-v-37e82823]{color:var(--brand-teal);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;margin:0 0 8px;font-weight:700}h1[data-v-37e82823]{margin:0;font-size:1.55rem;color:var(--gray-800)}.subtitle[data-v-37e82823]{margin:8px 0 0;color:var(--gray-500);max-width:680px;font-size:.88rem}.hero-actions[data-v-37e82823]{display:flex;gap:10px;flex-wrap:wrap}.filters-card[data-v-37e82823]{padding:16px;margin-bottom:16px}.filter-row[data-v-37e82823]{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filter-group[data-v-37e82823]{display:flex;flex-direction:column;gap:6px;min-width:170px;flex:1}.filter-group.small[data-v-37e82823]{flex:0 0 120px;min-width:120px}.filter-group span[data-v-37e82823]{color:var(--gray-500);font-size:.76rem;font-weight:600}.filter-group input[data-v-37e82823],.filter-group select[data-v-37e82823]{width:100%;background:#fff;color:var(--gray-800);border:1px solid var(--gray-200);border-radius:10px;padding:10px 12px}.search-btn[data-v-37e82823]{height:42px}.vehicle-chips[data-v-37e82823]{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip[data-v-37e82823]{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-600);font-size:.78rem;font-weight:600}.chip.active[data-v-37e82823]{background:#0ec8b81f;color:var(--brand-teal);border-color:#0ec8b859}.raw-stats[data-v-37e82823]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.stat-card[data-v-37e82823]{background:#fff;border:1px solid var(--gray-100);border-radius:14px;padding:14px;box-shadow:var(--shadow-sm)}.stat-card strong[data-v-37e82823]{display:block;font-size:1.4rem;color:var(--gray-800)}.stat-card span[data-v-37e82823]{display:block;color:var(--gray-500);font-size:.75rem;margin-top:2px}.stat-card.success strong[data-v-37e82823]{color:var(--green)}.stat-card.danger strong[data-v-37e82823]{color:var(--red)}.stat-card.blue strong[data-v-37e82823]{color:var(--brand-blue)}.stat-card.warning strong[data-v-37e82823]{color:var(--orange)}.data-card[data-v-37e82823]{overflow:hidden}.table-head[data-v-37e82823]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--gray-100)}.table-head h2[data-v-37e82823]{margin:0;font-size:1rem;color:var(--gray-800)}.table-head p[data-v-37e82823]{margin:3px 0 0;color:var(--gray-500);font-size:.78rem}.table-wrap[data-v-37e82823]{overflow:auto;max-height:62vh}.raw-table[data-v-37e82823]{width:100%;border-collapse:collapse;font-size:.78rem}.raw-table th[data-v-37e82823]{position:sticky;top:0;background:#fbfcfd;padding:11px 10px;text-align:left;color:var(--gray-500);font-weight:700;white-space:nowrap;border-bottom:1px solid var(--gray-100);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;z-index:1}.raw-table td[data-v-37e82823]{padding:10px;border-bottom:1px solid var(--gray-50);color:var(--gray-700)}.raw-table tr:hover td[data-v-37e82823]{background:#1a73e809}.raw-table tr.invalid td[data-v-37e82823]{opacity:.55}.raw-table tr.moving td[data-v-37e82823]{background:#12b8860b}.sortable[data-v-37e82823]{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable[data-v-37e82823]:hover,.sortable.active[data-v-37e82823]{color:var(--brand-teal)}.sort-arrow[data-v-37e82823]{margin-left:4px;font-size:.6rem}.num[data-v-37e82823]{color:var(--gray-400);font-family:SF Mono,ui-monospace,monospace;text-align:right}.mono[data-v-37e82823]{font-family:SF Mono,ui-monospace,monospace;font-size:.72rem}.speed-pill[data-v-37e82823],.sat-pill[data-v-37e82823]{display:inline-flex;padding:3px 8px;border-radius:999px;font-weight:700;font-size:.72rem}.speed-danger[data-v-37e82823]{background:var(--red-bg);color:var(--red)}.speed-warning[data-v-37e82823]{background:var(--orange-bg);color:var(--orange)}.speed-green[data-v-37e82823]{background:var(--green-bg);color:var(--green)}.speed-muted[data-v-37e82823]{background:var(--gray-100);color:var(--gray-500)}.sat-danger[data-v-37e82823]{background:var(--red-bg);color:var(--red)}.sat-ok[data-v-37e82823]{background:var(--blue-bg);color:var(--brand-blue)}.badge-red[data-v-37e82823]{background:var(--red-bg);color:var(--red)}.raw-empty[data-v-37e82823]{min-height:320px;color:var(--gray-400)}.raw-empty strong[data-v-37e82823]{color:var(--gray-700)}.raw-empty span[data-v-37e82823]{color:var(--gray-500);font-size:.85rem}@media(max-width:900px){.raw-page[data-v-37e82823]{padding:14px 12px 24px}.raw-hero[data-v-37e82823]{flex-direction:column;padding:18px}.hero-actions[data-v-37e82823]{width:100%}.hero-actions .btn[data-v-37e82823]{flex:1;justify-content:center}.filter-row[data-v-37e82823]{display:grid;grid-template-columns:1fr 1fr}.filter-group[data-v-37e82823],.filter-group.small[data-v-37e82823]{min-width:0;flex:none}.search-btn[data-v-37e82823]{grid-column:1 / -1;justify-content:center}.raw-stats[data-v-37e82823]{grid-template-columns:repeat(2,1fr)}.raw-table[data-v-37e82823]{font-size:.68rem}.raw-table th[data-v-37e82823],.raw-table td[data-v-37e82823]{padding:7px 6px}.table-head[data-v-37e82823]{flex-direction:column;align-items:flex-start}}.login-page[data-v-8ea0f3f2]{min-height:100dvh;display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(460px,.9fr);overflow:hidden;background:#f5f7fa;position:relative;color:var(--gray-800)}.login-showcase[data-v-8ea0f3f2]{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100dvh;padding:44px clamp(42px,7vw,110px);overflow:hidden;color:#fff;background:linear-gradient(332deg,#0a2b44,#105f72 52%,#f7f7f70a)}.login-showcase[data-v-8ea0f3f2]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 72% 22%,rgba(14,200,184,.38),transparent 30%),radial-gradient(circle at 8% 85%,rgba(26,115,232,.28),transparent 31%);pointer-events:none}.showcase-brand[data-v-8ea0f3f2],.showcase-copy[data-v-8ea0f3f2],.showcase-route[data-v-8ea0f3f2],.showcase-stat[data-v-8ea0f3f2]{position:relative;z-index:1}.showcase-brand[data-v-8ea0f3f2]{display:flex;align-items:center}.showcase-brand img[data-v-8ea0f3f2]{height:58px;width:auto;display:block}.showcase-copy[data-v-8ea0f3f2]{max-width:510px;margin:auto 0}.eyebrow[data-v-8ea0f3f2]{margin:0 0 10px;color:#0b8f86;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.login-showcase .eyebrow[data-v-8ea0f3f2]{color:#8df5e9}.showcase-copy h1[data-v-8ea0f3f2]{margin:0;font-size:clamp(2.5rem,4.4vw,4.4rem);line-height:1.04;letter-spacing:-.05em}.showcase-copy h1 em[data-v-8ea0f3f2]{color:#8df5e9;font-style:normal}.showcase-copy>p[data-v-8ea0f3f2]:last-child{max-width:430px;margin:21px 0 0;color:#ffffffc2;font-size:1rem;line-height:1.65}.showcase-route[data-v-8ea0f3f2]{margin:-40px -35px 0;opacity:.95}.showcase-route svg[data-v-8ea0f3f2]{width:100%;height:auto}.showcase-stat[data-v-8ea0f3f2]{display:inline-flex;align-items:center;gap:9px;width:max-content;padding:10px 14px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:#ffffff1c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.78rem;font-weight:650}.live-dot[data-v-8ea0f3f2]{width:8px;height:8px;border-radius:50%;background:#4cf1bd;box-shadow:0 0 0 4px #4cf1bd2e}.login-panel[data-v-8ea0f3f2]{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;background:radial-gradient(circle at 82% 12%,rgba(14,200,184,.11),transparent 26%),#f7f9fb;position:relative}.back-to-landing[data-v-8ea0f3f2]{position:absolute;top:30px;left:32px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:10px;color:var(--gray-600);text-decoration:none;font-size:.82rem;font-weight:750;transition:color .16s ease,background .16s ease,transform .16s ease}.back-to-landing[data-v-8ea0f3f2]:hover{color:#087e75;background:#0ec8b81a;transform:translate(-2px)}.back-to-landing[data-v-8ea0f3f2]:focus-visible{outline:3px solid rgba(14,200,184,.3);outline-offset:2px}.back-to-landing svg[data-v-8ea0f3f2]{width:18px;height:18px}.login-card[data-v-8ea0f3f2]{width:min(410px,100%);padding:8px}.login-heading[data-v-8ea0f3f2]{margin-bottom:28px}.login-heading h2[data-v-8ea0f3f2]{margin:0;color:var(--gray-800);font-size:1.7rem;letter-spacing:-.035em}.login-heading>p[data-v-8ea0f3f2]:last-child{margin:8px 0 0;color:var(--gray-500);font-size:.9rem}.field[data-v-8ea0f3f2]{display:grid;gap:8px;margin-bottom:17px}.field>span[data-v-8ea0f3f2]{font-size:.8rem;font-weight:750;color:var(--gray-700)}.input-wrap[data-v-8ea0f3f2]{position:relative;display:flex;align-items:center;border:1px solid var(--gray-200);border-radius:12px;background:#fff;transition:.18s ease}.input-wrap[data-v-8ea0f3f2]:focus-within{border-color:var(--brand-teal);box-shadow:0 0 0 4px #0ec8b81f}.input-wrap>svg[data-v-8ea0f3f2]{width:19px;height:19px;margin-left:13px;flex-shrink:0;color:var(--gray-400)}.input-wrap input[data-v-8ea0f3f2]{width:100%;min-width:0;height:48px;border:0;outline:0;padding:0 12px;background:transparent;color:var(--gray-800);font-size:.9rem}.input-wrap input[data-v-8ea0f3f2]::placeholder{color:var(--gray-400)}.password-toggle[data-v-8ea0f3f2]{width:42px;height:42px;display:grid;place-items:center;border:0;background:transparent;color:var(--gray-400);cursor:pointer}.password-toggle[data-v-8ea0f3f2]:hover{color:#0b8f86}.password-toggle svg[data-v-8ea0f3f2]{width:18px;height:18px}.login-submit[data-v-8ea0f3f2]{width:100%;min-height:50px;margin-top:7px;border:0;border-radius:12px;display:flex;justify-content:center;align-items:center;gap:9px;background:linear-gradient(135deg,#0ec8b8,#0b9e92);color:#fff;box-shadow:0 12px 24px #0ec8b838;font-weight:800;font-size:.9rem;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.login-submit[data-v-8ea0f3f2]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 28px #0ec8b84a}.login-submit[data-v-8ea0f3f2]:disabled{opacity:.66;cursor:wait}.login-submit svg[data-v-8ea0f3f2]{width:19px;height:19px}.error[data-v-8ea0f3f2]{display:flex;align-items:center;gap:7px;margin:0 0 14px;padding:10px 12px;border-radius:10px;color:#c92a2a;background:#e0313114;font-size:.8rem;line-height:1.35}.error svg[data-v-8ea0f3f2]{width:17px;flex-shrink:0}.security-note[data-v-8ea0f3f2]{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:22px;color:var(--gray-400);font-size:.72rem}.security-note svg[data-v-8ea0f3f2]{width:16px;color:#0b8f86}.login-footer[data-v-8ea0f3f2]{position:absolute;bottom:24px;margin:0;color:var(--gray-400);font-size:.7rem}.mobile-brand[data-v-8ea0f3f2]{display:none}@media(max-width:850px){.login-page[data-v-8ea0f3f2]{display:block;overflow:auto}.login-showcase[data-v-8ea0f3f2]{display:none}.login-panel[data-v-8ea0f3f2]{min-height:100dvh;padding:30px 22px max(30px,env(safe-area-inset-bottom));justify-content:center}.back-to-landing[data-v-8ea0f3f2]{top:max(14px,env(safe-area-inset-top));left:12px}.mobile-brand[data-v-8ea0f3f2]{display:flex;justify-content:center;margin-bottom:38px}.mobile-brand img[data-v-8ea0f3f2]{height:46px;width:auto}.login-card[data-v-8ea0f3f2]{padding:0}.login-footer[data-v-8ea0f3f2]{position:static;margin-top:38px;text-align:center}.login-heading[data-v-8ea0f3f2]{margin-bottom:25px}}@media(max-width:420px){.login-panel[data-v-8ea0f3f2]{padding-left:20px;padding-right:20px}.mobile-brand[data-v-8ea0f3f2]{margin-bottom:31px}.login-heading h2[data-v-8ea0f3f2]{font-size:1.52rem}.input-wrap input[data-v-8ea0f3f2]{font-size:16px}.login-submit[data-v-8ea0f3f2]{min-height:52px}}.landing[data-v-00cdbe77]{--navy:#082b46;--navy-deep:#061f35;--teal:#0ebcae;--teal-dark:#06978d;--blue:#2474bc;--ink:#14334a;--muted:#657b8c;--line:#dce8ee;--pale:#f2f9fb;color:var(--ink);background:#fff;overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.container[data-v-00cdbe77]{width:min(calc(100% - 48px),1200px);margin-inline:auto}.site-header[data-v-00cdbe77]{height:80px;background:#fff;position:relative;z-index:5}.nav[data-v-00cdbe77]{height:100%;display:flex;align-items:center;gap:42px}.brand img[data-v-00cdbe77]{display:block;height:43px;width:auto}.nav-links[data-v-00cdbe77]{display:flex;align-items:center;gap:31px;margin:auto}.nav-links a[data-v-00cdbe77],.login-link[data-v-00cdbe77]{color:#496070;text-decoration:none;font-size:.87rem;font-weight:650}.nav-actions[data-v-00cdbe77]{display:flex;align-items:center;gap:23px}.nav-demo[data-v-00cdbe77],.button[data-v-00cdbe77]{min-height:46px;box-sizing:border-box;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:.86rem;font-weight:800;transition:transform .2s ease,box-shadow .2s ease}.nav-demo[data-v-00cdbe77]{padding:0 17px;background:var(--navy);color:#fff}.nav-demo[data-v-00cdbe77]:hover,.button-primary[data-v-00cdbe77]:hover{transform:translateY(-2px);box-shadow:0 12px 24px #082b462b}.hero[data-v-00cdbe77]{position:relative;isolation:isolate;min-height:625px;padding:55px 0 72px;background:linear-gradient(155deg,#fff 12%,#f0fafb);overflow:hidden}.hero-grid[data-v-00cdbe77]{display:grid;grid-template-columns:.89fr 1.11fr;align-items:center;gap:48px}.hero-copy[data-v-00cdbe77]{position:relative;z-index:2}.eyebrow[data-v-00cdbe77]{margin:0 0 16px;color:var(--teal-dark);font-size:.7rem;font-weight:850;letter-spacing:.11em}.eyebrow span[data-v-00cdbe77]{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--teal)}h1[data-v-00cdbe77]{margin:0;max-width:610px;color:var(--navy);font-size:clamp(3.05rem,5.25vw,4.8rem);line-height:1.04;letter-spacing:-.065em}h1 em[data-v-00cdbe77],h2 em[data-v-00cdbe77]{font-style:normal;color:var(--teal)}.hero-text[data-v-00cdbe77]{max-width:535px;margin:23px 0 0;color:var(--muted);font-size:1.02rem;line-height:1.74}.hero-actions[data-v-00cdbe77]{display:flex;flex-wrap:wrap;gap:13px;margin-top:29px}.button[data-v-00cdbe77]{padding:0 20px}.button svg[data-v-00cdbe77]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.button-primary[data-v-00cdbe77]{background:linear-gradient(135deg,#16c9b9,#0da99e);color:#fff;box-shadow:0 10px 20px #0ebcae38}.button-secondary[data-v-00cdbe77]{color:var(--navy);border:1px solid #b9cad4;background:#fff}.hero-checks[data-v-00cdbe77]{display:flex;flex-wrap:wrap;gap:17px;margin:30px 0 0;padding:0;list-style:none;color:#587080;font-size:.78rem;font-weight:700}.hero-checks li[data-v-00cdbe77]{display:flex;align-items:center;gap:7px}.hero-checks li[data-v-00cdbe77]:before{content:"✓";display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#def8f4;color:#079a8e;font-size:.68rem}.hero-product[data-v-00cdbe77]{position:relative;min-height:450px;z-index:1}.product-glow[data-v-00cdbe77]{position:absolute;right:-7%;bottom:0;width:80%;height:83%;border-radius:50% 50% 0 0;background:linear-gradient(145deg,#07385c,#0baea5);transform:rotate(-9deg);opacity:.98}.route-dots[data-v-00cdbe77]{position:absolute;top:32px;right:20px;bottom:0;left:20px;background-image:radial-gradient(rgba(255,255,255,.68) 1.2px,transparent 1.3px);background-size:18px 18px;-webkit-mask-image:linear-gradient(145deg,transparent 5%,#000 32%,#000 76%,transparent 100%);mask-image:linear-gradient(145deg,transparent 5%,#000 32%,#000 76%,transparent 100%);opacity:.65}.laptop[data-v-00cdbe77]{position:absolute;z-index:2;top:25px;right:-2%;width:86%;padding:8px 8px 12px;border-radius:15px 15px 7px 7px;background:#10283c;box-shadow:0 27px 55px #0320354d;transform:rotate(-1.5deg)}.laptop[data-v-00cdbe77]:after{content:"";position:absolute;left:7%;right:7%;bottom:-11px;height:10px;border-radius:0 0 25px 25px;background:#b8c6cf}.laptop-top[data-v-00cdbe77]{height:13px;display:flex;justify-content:center;gap:3px}.laptop-top span[data-v-00cdbe77]{width:4px;height:4px;border-radius:50%;background:#708392}.laptop img[data-v-00cdbe77]{display:block;width:100%;height:300px;object-fit:cover;object-position:top;border-radius:4px}.phone[data-v-00cdbe77]{position:absolute;z-index:3;bottom:1px;left:1%;width:152px;padding:15px 6px 9px;border:5px solid #10283c;border-radius:24px;background:#10283c;box-shadow:0 20px 34px #03203552;transform:rotate(7deg)}.phone-notch[data-v-00cdbe77]{position:absolute;z-index:2;top:3px;left:50%;width:62px;height:13px;border-radius:0 0 10px 10px;background:#10283c;transform:translate(-50%)}.phone img[data-v-00cdbe77]{display:block;width:100%;height:228px;object-fit:cover;object-position:top;border-radius:13px}.floating-card[data-v-00cdbe77]{position:absolute;z-index:4;right:-2%;bottom:35px;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.76);border-radius:13px;background:#fffffff0;box-shadow:0 13px 25px #01263d2e;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.floating-card b[data-v-00cdbe77],.floating-card small[data-v-00cdbe77]{display:block}.floating-card b[data-v-00cdbe77]{font-size:.72rem}.floating-card small[data-v-00cdbe77]{margin-top:3px;color:#6b8190;font-size:.62rem}.floating-card strong[data-v-00cdbe77]{margin-left:8px;color:#11b78e;font-size:.85rem}.pulse[data-v-00cdbe77]{width:9px;height:9px;border-radius:50%;background:#12ba91;box-shadow:0 0 0 5px #12ba9121}.orb-one[data-v-00cdbe77],.orb-two[data-v-00cdbe77]{position:absolute;z-index:-1;border-radius:50%;filter:blur(1px)}.orb-one[data-v-00cdbe77]{top:40px;left:-180px;width:390px;height:390px;background:#0ebcae14}.orb-two[data-v-00cdbe77]{right:-250px;top:-120px;width:560px;height:560px;background:#2474bc12}.section[data-v-00cdbe77]{padding:75px 0}.section-heading[data-v-00cdbe77]{text-align:center;max-width:720px;margin:0 auto 42px}.centered[data-v-00cdbe77]{margin-bottom:12px}.section-heading h2[data-v-00cdbe77]{margin:0;color:var(--navy);font-size:clamp(2rem,3.4vw,3rem);line-height:1.13;letter-spacing:-.053em}.section-heading>span[data-v-00cdbe77]{display:block;margin-top:17px;color:var(--muted);font-size:.93rem;line-height:1.65}.features-grid[data-v-00cdbe77]{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.feature-card[data-v-00cdbe77]{min-height:210px;padding:23px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 12px 26px #072b4609;transition:transform .22s,box-shadow .22s}.feature-card[data-v-00cdbe77]:hover{transform:translateY(-5px);box-shadow:0 20px 35px #072b461a}.icon-box[data-v-00cdbe77],.benefit-icon[data-v-00cdbe77]{display:grid;place-items:center;color:var(--teal-dark);background:#e8f9f7}.icon-box[data-v-00cdbe77]{width:43px;height:43px;border-radius:12px}.icon-box[data-v-00cdbe77] svg,.benefit-icon[data-v-00cdbe77] svg{width:24px;height:24px}.feature-card h3[data-v-00cdbe77]{margin:19px 0 9px;color:var(--navy);font-size:.88rem;line-height:1.3}.feature-card p[data-v-00cdbe77]{margin:0;color:var(--muted);font-size:.76rem;line-height:1.6}.benefits-section[data-v-00cdbe77]{padding:28px 0 78px;background:linear-gradient(#fff,#f4fbfd 35%,#fff)}.benefits-shell[data-v-00cdbe77]{padding:60px 49px;border:1px solid #dcedf1;border-radius:25px;background:#edf9fc}.benefits-shell .section-heading[data-v-00cdbe77]{margin-bottom:38px}.benefits-grid[data-v-00cdbe77]{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.benefits-grid article[data-v-00cdbe77]{display:flex;gap:14px}.benefit-icon[data-v-00cdbe77]{flex:0 0 45px;height:45px;border-radius:50%;color:#1675a7;background:#fff}.benefits-grid h3[data-v-00cdbe77]{margin:2px 0 8px;color:var(--navy);font-size:.9rem}.benefits-grid p[data-v-00cdbe77]{margin:0;color:var(--muted);font-size:.77rem;line-height:1.55}.screens-section[data-v-00cdbe77]{padding:68px 0 90px}.screens-grid[data-v-00cdbe77]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.screens-grid article[data-v-00cdbe77]{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 35px #072b4612}.screen-label[data-v-00cdbe77]{display:flex;align-items:flex-start;gap:12px;padding:20px}.screen-label>span[data-v-00cdbe77]{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#e4f9f6;color:#07978d;font-size:.7rem;font-weight:850}.screen-label h3[data-v-00cdbe77]{margin:0;color:var(--navy);font-size:.93rem}.screen-label p[data-v-00cdbe77]{margin:5px 0 0;color:var(--muted);font-size:.74rem;line-height:1.5}.screens-grid img[data-v-00cdbe77]{display:block;width:calc(100% - 24px);height:188px;margin:0 12px 12px;border:4px solid #122d42;border-radius:9px;object-fit:cover;object-position:top}.steps-section[data-v-00cdbe77]{padding-top:70px}.steps[data-v-00cdbe77]{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:54px}.steps[data-v-00cdbe77]:before{content:"";position:absolute;top:58px;left:18%;right:18%;border-top:2px dashed #b7d9d8}.steps article[data-v-00cdbe77]{position:relative;z-index:1;text-align:center}.step-visual[data-v-00cdbe77]{display:grid;place-items:center;width:116px;height:116px;margin:0 auto 17px;border:1px solid #dbecef;border-radius:50%;background:#f1fafb;color:var(--teal-dark)}.step-visual svg[data-v-00cdbe77]{width:45px;height:45px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.step-num[data-v-00cdbe77]{position:absolute;top:1px;left:calc(50% + 24px);display:grid;place-items:center;width:28px;height:28px;border:3px solid #fff;border-radius:50%;background:var(--teal);color:#fff;font-size:.73rem;font-weight:850;box-shadow:0 3px 8px #05918738}.steps h3[data-v-00cdbe77]{margin:0;color:var(--navy);font-size:1.02rem}.steps p[data-v-00cdbe77]{max-width:260px;margin:10px auto 0;color:var(--muted);font-size:.82rem;line-height:1.6}.final-cta[data-v-00cdbe77]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;margin-top:80px;margin-bottom:80px;padding:35px 42px;border-radius:23px;background:linear-gradient(29deg,#0a2b44,#105f72 52%,#192f98b0);color:#fff;box-shadow:0 22px 42px #041f3533}.cta-mark[data-v-00cdbe77]{display:grid;place-items:center;width:64px;height:64px;border-radius:17px;background:#ffffff1f}.cta-mark img[data-v-00cdbe77]{width:42px;height:auto}.final-cta p[data-v-00cdbe77]{margin:0 0 6px;color:#6de3d8;font-size:.67rem;font-weight:800;letter-spacing:.09em}.final-cta h2[data-v-00cdbe77]{margin:0;font-size:clamp(1.45rem,2.4vw,2.2rem);line-height:1.12;letter-spacing:-.045em}.final-cta>div:nth-child(2)>span[data-v-00cdbe77]{display:block;margin-top:8px;color:#b5cbd4;font-size:.82rem}.cta-actions[data-v-00cdbe77]{display:flex;gap:10px;flex-wrap:wrap}.button-dark-outline[data-v-00cdbe77]{border:1px solid rgba(255,255,255,.48);color:#fff}.site-footer[data-v-00cdbe77]{padding:55px 0 22px;background:linear-gradient(326deg,#0a2b44,#105f72 52%,#040c32b0);color:#b6c9d3}.footer-grid[data-v-00cdbe77]{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:37px;padding-bottom:43px}.footer-brand img[data-v-00cdbe77]{height:38px;width:auto}.footer-brand p[data-v-00cdbe77]{max-width:205px;margin:18px 0;color:#aac0cc;font-size:.78rem;line-height:1.65}.socials[data-v-00cdbe77]{display:flex;gap:8px}.socials a[data-v-00cdbe77]{display:grid!important;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.22)!important;border-radius:50%;color:#fff!important;font-size:.72rem!important;font-weight:800}.footer-grid h3[data-v-00cdbe77]{margin:5px 0 17px;color:#fff;font-size:.67rem;letter-spacing:.08em}.footer-grid a[data-v-00cdbe77],.footer-grid span[data-v-00cdbe77]{display:block;margin:0 0 11px;color:#a9bec9;text-decoration:none;font-size:.75rem}.footer-grid a[data-v-00cdbe77]:hover{color:#65dfd4}.footer-bottom[data-v-00cdbe77]{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid rgba(255,255,255,.11);color:#809ba9;font-size:.69rem}.footer-bottom div[data-v-00cdbe77]{display:flex;gap:20px}.footer-bottom a[data-v-00cdbe77]{color:#9db3bd;text-decoration:none}.reveal[data-v-00cdbe77]{opacity:1;transform:none;transition:transform .25s ease}.reveal.visible[data-v-00cdbe77]{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.landing[data-v-00cdbe77] *{animation:none!important;transition:none!important}.reveal[data-v-00cdbe77]{opacity:1;transform:none}}@media(max-width:1100px){.nav[data-v-00cdbe77]{gap:24px}.nav-links[data-v-00cdbe77]{gap:18px}.features-grid[data-v-00cdbe77]{grid-template-columns:repeat(3,1fr)}.benefits-grid[data-v-00cdbe77]{grid-template-columns:repeat(2,1fr)}.footer-grid[data-v-00cdbe77]{grid-template-columns:1.5fr repeat(2,1fr)}.hero-product[data-v-00cdbe77]{min-height:415px}.laptop img[data-v-00cdbe77]{height:265px}}@media(max-width:820px){.container[data-v-00cdbe77]{width:min(calc(100% - 40px),1200px)}.site-header[data-v-00cdbe77]{height:70px}.nav[data-v-00cdbe77]{justify-content:space-between}.brand img[data-v-00cdbe77]{height:37px}.nav-links[data-v-00cdbe77]{display:none}.nav-actions[data-v-00cdbe77]{gap:0}.login-link[data-v-00cdbe77]{display:none}.nav-demo[data-v-00cdbe77]{min-height:42px;padding:0 13px;font-size:.75rem}.hero[data-v-00cdbe77]{padding:48px 0 58px}.hero-grid[data-v-00cdbe77]{grid-template-columns:1fr;gap:35px}.hero-copy[data-v-00cdbe77]{text-align:center}.hero-text[data-v-00cdbe77]{margin-inline:auto;font-size:.93rem}.hero-actions[data-v-00cdbe77],.hero-checks[data-v-00cdbe77]{justify-content:center}.hero-product[data-v-00cdbe77]{width:min(100%,590px);min-height:385px;margin:auto}.laptop[data-v-00cdbe77]{right:1%;width:87%}.laptop img[data-v-00cdbe77]{height:238px}.phone[data-v-00cdbe77]{left:0;width:125px}.phone img[data-v-00cdbe77]{height:188px}.floating-card[data-v-00cdbe77]{right:0;bottom:16px}.section[data-v-00cdbe77],.screens-section[data-v-00cdbe77]{padding:60px 0}.screens-grid[data-v-00cdbe77]{grid-template-columns:1fr;gap:14px}.screens-grid img[data-v-00cdbe77]{height:230px}.benefits-shell[data-v-00cdbe77]{padding:42px 25px}.steps[data-v-00cdbe77]{gap:35px}.final-cta[data-v-00cdbe77]{grid-template-columns:auto 1fr;padding:31px}.cta-actions[data-v-00cdbe77]{grid-column:1/-1;justify-content:center}.footer-grid[data-v-00cdbe77]{grid-template-columns:repeat(3,1fr);gap:28px}.footer-brand[data-v-00cdbe77]{grid-column:1/-1}.footer-brand p[data-v-00cdbe77]{max-width:310px}}@media(max-width:560px){.container[data-v-00cdbe77]{width:min(calc(100% - 32px),1200px)}.nav-demo[data-v-00cdbe77]{font-size:.71rem}.hero[data-v-00cdbe77]{padding-top:35px}.eyebrow[data-v-00cdbe77]{font-size:.62rem}.hero-copy h1[data-v-00cdbe77]{font-size:clamp(2.65rem,13vw,3.55rem)}.hero-text[data-v-00cdbe77]{font-size:.89rem;line-height:1.65}.hero-actions[data-v-00cdbe77]{display:grid;grid-template-columns:1fr;width:100%}.button[data-v-00cdbe77]{width:100%;min-height:48px}.hero-checks[data-v-00cdbe77]{gap:10px 15px;font-size:.7rem}.hero-product[data-v-00cdbe77]{min-height:300px}.laptop[data-v-00cdbe77]{top:9px;right:0;width:90%;padding:5px 5px 8px;border-radius:10px}.laptop-top[data-v-00cdbe77]{height:8px}.laptop img[data-v-00cdbe77]{height:178px}.phone[data-v-00cdbe77]{bottom:0;left:0;width:91px;padding:10px 4px 6px;border-width:3px;border-radius:17px}.phone-notch[data-v-00cdbe77]{top:2px;width:42px;height:8px}.phone img[data-v-00cdbe77]{height:143px;border-radius:9px}.floating-card[data-v-00cdbe77]{right:-5px;bottom:8px;padding:8px 9px;gap:7px}.floating-card b[data-v-00cdbe77]{font-size:.61rem}.floating-card small[data-v-00cdbe77]{font-size:.54rem}.floating-card strong[data-v-00cdbe77]{margin-left:1px}.section-heading[data-v-00cdbe77]{margin-bottom:30px}.section-heading h2[data-v-00cdbe77]{font-size:2rem}.section-heading>span[data-v-00cdbe77]{font-size:.84rem}.features-grid[data-v-00cdbe77]{grid-template-columns:1fr;gap:11px}.feature-card[data-v-00cdbe77]{min-height:0;padding:20px}.feature-card h3[data-v-00cdbe77]{margin:13px 0 7px}.benefits-section[data-v-00cdbe77]{padding:15px 0 53px}.benefits-shell[data-v-00cdbe77]{padding:34px 20px;border-radius:18px}.benefits-grid[data-v-00cdbe77]{grid-template-columns:1fr;gap:22px}.screens-grid img[data-v-00cdbe77]{height:188px}.steps[data-v-00cdbe77]{grid-template-columns:1fr;gap:30px}.steps[data-v-00cdbe77]:before{top:10%;bottom:10%;left:50%;right:auto;border-top:0;border-left:2px dashed #b7d9d8}.steps article[data-v-00cdbe77]{padding:0 15px}.final-cta[data-v-00cdbe77]{display:block;margin-top:58px;margin-bottom:58px;padding:28px 22px;text-align:center}.cta-mark[data-v-00cdbe77]{margin:0 auto 16px}.final-cta h2 br[data-v-00cdbe77]{display:none}.cta-actions[data-v-00cdbe77]{display:grid;margin-top:22px}.footer-grid[data-v-00cdbe77]{grid-template-columns:repeat(2,1fr);gap:25px}.footer-brand[data-v-00cdbe77]{grid-column:1/-1}.footer-bottom[data-v-00cdbe77]{display:block;text-align:center;line-height:1.6}.footer-bottom div[data-v-00cdbe77]{justify-content:center;flex-wrap:wrap;margin-top:10px;gap:8px 17px}}.app-icon[data-v-b7644ec1]{width:1.15em;height:1.15em;flex-shrink:0}.client-users[data-v-838d0c03]{padding:24px;max-width:1150px;margin:0 auto}.users-hero[data-v-838d0c03]{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#1a73e814,#0ec8b80d);border:1px solid rgba(26,115,232,.12);border-radius:18px;padding:24px;margin-bottom:16px}.eyebrow[data-v-838d0c03]{color:var(--brand-teal);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;margin:0 0 8px;font-weight:700}h1[data-v-838d0c03]{display:flex;align-items:center;gap:10px;margin:0;font-size:1.5rem;color:var(--gray-800)}.subtitle[data-v-838d0c03]{margin:8px 0 0;color:var(--gray-500);font-size:.9rem}.notice[data-v-838d0c03]{margin-bottom:14px;border-radius:12px;padding:10px 14px;font-size:.88rem}.notice.success[data-v-838d0c03]{background:var(--green-bg);color:var(--green)}.notice.error[data-v-838d0c03]{background:var(--red-bg);color:var(--red)}.users-card[data-v-838d0c03]{padding:0;overflow:hidden}.table-head[data-v-838d0c03]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--gray-100)}.table-head h2[data-v-838d0c03]{margin:0;font-size:1.05rem;color:var(--gray-800)}.table-head span[data-v-838d0c03]{color:var(--gray-400);font-size:.8rem}.table-wrap[data-v-838d0c03]{overflow-x:auto}.users-table[data-v-838d0c03]{width:100%;border-collapse:collapse}.users-table th[data-v-838d0c03]{text-align:left;padding:12px 20px;color:var(--gray-500);background:var(--gray-50);font-size:.78rem;font-weight:700}.users-table td[data-v-838d0c03]{padding:14px 20px;border-top:1px solid var(--gray-100);color:var(--gray-600)}.users-table td strong[data-v-838d0c03]{color:var(--gray-800)}.actions-col[data-v-838d0c03]{width:150px;text-align:right!important}.actions-cell[data-v-838d0c03]{text-align:right}.delete-user-btn[data-v-838d0c03]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;border-radius:10px;border:1px solid rgba(224,49,49,.18);background:#e0313112;color:var(--red);font-size:.76rem;font-weight:800;cursor:pointer}.delete-user-btn[data-v-838d0c03]:disabled{opacity:.45;cursor:not-allowed}.btn-danger[data-v-838d0c03]{background:var(--red);color:#fff;border-color:var(--red)}.confirm-modal[data-v-838d0c03]{background:#fff;border-radius:20px;padding:0;width:min(500px,100%);box-shadow:0 24px 70px #0b1a303d;overflow:hidden}.danger-head[data-v-838d0c03]{background:linear-gradient(135deg,#e031311a,#f59f000f)}.danger-head .eyebrow[data-v-838d0c03]{color:var(--red)}.confirm-body[data-v-838d0c03]{display:flex;flex-direction:column;gap:6px;padding:20px 24px 0;color:var(--gray-500)}.confirm-body strong[data-v-838d0c03]{color:var(--gray-800)}.role-badge[data-v-838d0c03]{padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700}.role-badge.admin[data-v-838d0c03]{background:var(--blue-bg);color:var(--brand-blue)}.role-badge.viewer[data-v-838d0c03]{background:var(--green-bg);color:var(--green)}.empty-state[data-v-838d0c03]{padding:34px;text-align:center;color:var(--gray-400)}.modal-overlay[data-v-838d0c03]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1a308c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:1000;padding:16px}.user-modal[data-v-838d0c03]{background:#fff;border-radius:20px;padding:0;width:min(620px,100%);box-shadow:0 24px 70px #0b1a303d;overflow:hidden}.modal-head[data-v-838d0c03]{display:flex;justify-content:space-between;gap:16px;padding:24px;background:linear-gradient(135deg,#1a73e814,#0ec8b80d);border-bottom:1px solid var(--gray-100)}.modal-head h2[data-v-838d0c03]{margin:0;color:var(--gray-800);font-size:1.25rem}.modal-head span[data-v-838d0c03]{display:block;margin-top:5px;color:var(--gray-500);font-size:.86rem}.close-btn[data-v-838d0c03]{width:34px;height:34px;border-radius:50%;border:none;background:#fff;color:var(--gray-500);font-size:1.4rem;cursor:pointer}.form-grid[data-v-838d0c03]{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 24px 0}label[data-v-838d0c03]{display:flex;flex-direction:column;gap:6px;color:var(--gray-600);font-size:.78rem;font-weight:700}input[data-v-838d0c03]{width:100%;border:1px solid var(--gray-200);border-radius:12px;padding:11px 12px;color:var(--gray-800);outline:none;box-sizing:border-box;font-size:.9rem}input[data-v-838d0c03]:focus{border-color:var(--brand-teal);box-shadow:0 0 0 3px #0ec8b81f}.password-row[data-v-838d0c03]{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;padding:14px 24px 0}.password-input[data-v-838d0c03]{display:flex;border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}.password-input[data-v-838d0c03]:focus-within{border-color:var(--brand-teal);box-shadow:0 0 0 3px #0ec8b81f}.password-input input[data-v-838d0c03]{border:none;box-shadow:none;border-radius:0}.password-input button[data-v-838d0c03]{border:none;background:var(--gray-50);color:var(--brand-teal);font-weight:700;padding:0 12px}.role-section[data-v-838d0c03]{padding:18px 24px 0}.field-title[data-v-838d0c03]{display:block;color:var(--gray-600);font-size:.78rem;font-weight:700;margin-bottom:8px}.role-grid[data-v-838d0c03]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-option[data-v-838d0c03]{text-align:left;border:1px solid var(--gray-200);background:#fff;border-radius:14px;padding:14px;cursor:pointer;transition:.18s ease}.role-option strong[data-v-838d0c03]{display:block;color:var(--gray-800);margin-bottom:5px}.role-option small[data-v-838d0c03]{color:var(--gray-500);line-height:1.35}.role-option.active[data-v-838d0c03]{border-color:var(--brand-teal);background:#0ec8b80f;box-shadow:0 0 0 3px #0ec8b81a}.modal-help[data-v-838d0c03]{display:flex;align-items:center;gap:8px;margin:16px 24px 0;padding:10px 12px;border-radius:12px;background:var(--blue-bg);color:var(--brand-blue);font-size:.82rem}.form-error[data-v-838d0c03]{margin:14px 24px 0;color:var(--red);background:var(--red-bg);padding:10px 12px;border-radius:12px;font-size:.84rem}.modal-actions[data-v-838d0c03]{display:flex;justify-content:flex-end;gap:10px;padding:20px 24px 24px}@media(max-width:720px){.client-users[data-v-838d0c03]{padding:16px}.users-hero[data-v-838d0c03]{flex-direction:column;align-items:stretch}.table-wrap[data-v-838d0c03]{overflow-x:visible}.users-table[data-v-838d0c03],.users-table thead[data-v-838d0c03],.users-table tbody[data-v-838d0c03],.users-table tr[data-v-838d0c03],.users-table td[data-v-838d0c03]{display:block;width:100%}.users-table thead[data-v-838d0c03]{display:none}.users-table tr[data-v-838d0c03]{padding:12px 16px;border-top:1px solid var(--gray-100)}.users-table td[data-v-838d0c03]{border:0;padding:3px 0}.users-table td[data-v-838d0c03]:nth-child(2){font-size:.82rem;word-break:break-word}.actions-cell[data-v-838d0c03]{text-align:left;padding-top:10px}.delete-user-btn[data-v-838d0c03]{width:100%}.form-grid[data-v-838d0c03],.role-grid[data-v-838d0c03],.password-row[data-v-838d0c03]{grid-template-columns:1fr}.modal-actions[data-v-838d0c03]{flex-direction:column-reverse}.modal-actions .btn[data-v-838d0c03]{justify-content:center}}.users-skeleton[data-v-838d0c03]{display:flex;flex-direction:column;gap:10px;padding:10px 0}.user-skeleton-row[data-v-838d0c03]{display:grid;grid-template-columns:1fr 1.4fr 120px;gap:14px;padding:12px 0;border-bottom:1px solid var(--gray-50)}.user-skeleton-row span[data-v-838d0c03],.user-skeleton-row strong[data-v-838d0c03],.user-skeleton-row em[data-v-838d0c03]{display:block;height:14px;border-radius:999px;background:linear-gradient(90deg,#edf2f7,#f8fafc,#edf2f7);background-size:220% 100%;animation:userSkeleton-838d0c03 1.15s ease-in-out infinite}@keyframes userSkeleton-838d0c03{to{background-position:-220% 0}}.reports-page[data-v-95bfe863]{padding:26px;max-width:1360px;margin:auto;color:var(--gray-800)}.reports-hero[data-v-95bfe863],.panel[data-v-95bfe863],.metric-card[data-v-95bfe863]{background:#fff;border:1px solid #edf0f3;box-shadow:0 5px 18px #0f172a0b;border-radius:16px}.reports-hero[data-v-95bfe863]{padding:25px;display:flex;justify-content:space-between;gap:28px;align-items:center}.eyebrow[data-v-95bfe863]{margin:0 0 8px;color:#0aa89b;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.7rem}.hero-copy h1[data-v-95bfe863]{margin:0;font-size:1.75rem}.subtitle[data-v-95bfe863]{margin:8px 0 0;color:var(--gray-500);font-size:.9rem;max-width:590px}.report-actions[data-v-95bfe863]{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.report-actions label[data-v-95bfe863]{display:flex;flex-direction:column;gap:4px;border:1px solid var(--gray-200);border-radius:10px;padding:7px 10px;background:#fff}.report-actions label span[data-v-95bfe863]{font-size:.7rem;color:var(--gray-500);font-weight:700}.report-actions input[data-v-95bfe863]{border:0;outline:0;font:inherit;color:var(--gray-700);min-width:125px}.export-btn[data-v-95bfe863]{height:48px;border:0;border-radius:10px;background:#1a73e8;color:#fff;padding:0 17px;font-weight:750;cursor:pointer;box-shadow:0 5px 12px #1a73e833}.export-btn span[data-v-95bfe863]{font-size:1.25rem;margin-right:5px}.notice[data-v-95bfe863]{margin:14px 0;padding:12px;border-radius:10px}.error[data-v-95bfe863]{color:var(--red);background:var(--red-bg)}.tab-bar[data-v-95bfe863]{display:flex;gap:4px;margin:16px 0;padding:4px 8px;background:#fff;border:1px solid #edf0f3;border-radius:13px;overflow-x:auto}.tab[data-v-95bfe863]{position:relative;background:transparent;border:0;color:var(--gray-500);font-weight:700;padding:12px 18px;white-space:nowrap;cursor:pointer}.tab.active[data-v-95bfe863]{color:#0aa89b}.tab.active[data-v-95bfe863]:after{content:"";position:absolute;left:15px;right:15px;bottom:3px;height:3px;border-radius:3px;background:#0ec8b8}.kpi-grid[data-v-95bfe863]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.metric-card[data-v-95bfe863]{padding:17px;min-height:170px;position:relative;overflow:hidden}.metric-head[data-v-95bfe863]{display:flex;gap:9px;align-items:center;color:var(--gray-600);font-size:.82rem;font-weight:700}.metric-icon[data-v-95bfe863]{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;flex:0 0 42px}.metric-icon svg[data-v-95bfe863]{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.teal[data-v-95bfe863]{color:#0aa89b;background:#e6faf7}.blue[data-v-95bfe863]{color:#1a73e8;background:#eaf2ff}.purple[data-v-95bfe863]{color:#7654cf;background:#f0eaff}.orange[data-v-95bfe863]{color:#e99417;background:#fff3dd}.metric-card>strong[data-v-95bfe863]{font-size:1.7rem;display:inline-block;margin:17px 0 8px}.metric-card>strong small[data-v-95bfe863]{font-size:.9rem}.real-pill[data-v-95bfe863],.event-state[data-v-95bfe863]{font-size:.7rem;font-weight:800;border-radius:99px;padding:4px 8px;color:#099b8e;background:#e6faf7;margin-left:7px}.mini-line[data-v-95bfe863]{display:block;margin-top:8px;height:50px}.mini-axis[data-v-95bfe863]{display:flex;justify-content:space-between;color:var(--gray-400);font-size:.67rem}.bar-chart[data-v-95bfe863]{height:63px;display:flex;gap:4px;align-items:end;margin-top:9px}.bar-chart span[data-v-95bfe863]{flex:1;background:#1a73e8;border-radius:4px 4px 0 0;min-width:2px}.metric-note[data-v-95bfe863]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--gray-500)}.metric-note b[data-v-95bfe863]{color:#0aa89b;background:#e6faf7;border-radius:99px;padding:3px 7px}.progress[data-v-95bfe863]{height:6px;background:#edf0f3;border-radius:99px;margin-top:14px;overflow:hidden}.progress i[data-v-95bfe863]{display:block;height:100%;background:#0ec8b8;border-radius:inherit}.event-state[data-v-95bfe863]{display:block;width:max-content;margin:8px 0 0;color:#159569;background:#e9f9f0}.event-state.hasEvents[data-v-95bfe863]{color:#d97900;background:#fff3dd}.charts-grid[data-v-95bfe863]{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:14px;margin-bottom:14px}.panel[data-v-95bfe863]{padding:20px}.panel header[data-v-95bfe863]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2[data-v-95bfe863]{font-size:1rem;margin:0}.panel header span[data-v-95bfe863]{display:block;color:var(--gray-400);font-size:.75rem;margin-top:4px}.month-label[data-v-95bfe863],.secondary-btn[data-v-95bfe863]{border:1px solid var(--gray-200);background:#fff;border-radius:9px;padding:8px 10px;color:var(--gray-600);font-size:.76rem;font-weight:700}.daily-svg[data-v-95bfe863]{width:100%;height:245px}.daily-svg line[data-v-95bfe863]{stroke:#e8edf1;stroke-dasharray:3 4}.daily-svg text[data-v-95bfe863]{fill:#9ca0a8;font-size:11px}.chart-axis[data-v-95bfe863]{display:flex;justify-content:space-between;padding-left:48px;color:#9ca0a8;font-size:.68rem}.donut-layout[data-v-95bfe863]{display:flex;align-items:center;justify-content:center;gap:20px;min-height:210px}.donut[data-v-95bfe863]{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.donut>div[data-v-95bfe863]{width:104px;height:104px;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center}.donut strong[data-v-95bfe863]{font-size:1.5rem}.donut span[data-v-95bfe863]{font-size:.7rem;color:var(--gray-500)}.legend[data-v-95bfe863]{display:grid;gap:18px;min-width:150px}.legend>div[data-v-95bfe863]{display:flex;gap:9px;align-items:flex-start}.legend p[data-v-95bfe863]{margin:0;color:var(--gray-600);font-size:.8rem}.legend small[data-v-95bfe863]{display:block;color:var(--gray-400);margin-top:3px}.legend-dot[data-v-95bfe863]{width:9px;height:9px;border-radius:50%;margin-top:4px}.moving[data-v-95bfe863]{background:#1a73e8}.stopped[data-v-95bfe863]{background:#f59f00}.offline[data-v-95bfe863]{background:#9ca0a8}.total-row[data-v-95bfe863]{display:flex;gap:8px;align-items:center;background:#f7f9fa;padding:10px;border-radius:9px;color:var(--gray-500);font-size:.78rem}.total-row strong[data-v-95bfe863]{margin-left:auto;color:var(--gray-800)}.preview-panel header[data-v-95bfe863]{margin-bottom:18px}.table-wrap[data-v-95bfe863]{overflow-x:auto}table[data-v-95bfe863]{border-collapse:collapse;width:100%;min-width:650px;font-size:.82rem}th[data-v-95bfe863]{text-align:left;color:var(--gray-500);font-weight:750;background:#fafbfc;border-bottom:1px solid #edf0f3;padding:11px}td[data-v-95bfe863]{padding:13px 11px;border-bottom:1px solid #f0f2f4;color:var(--gray-700)}.vehicle-cell[data-v-95bfe863]{display:flex;align-items:center;gap:9px}.vehicle-cell>b[data-v-95bfe863]{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eaf2ff;color:#1a73e8;font-size:.7rem}.vehicle-cell span[data-v-95bfe863]{display:grid;gap:2px}.vehicle-cell small[data-v-95bfe863]{color:var(--gray-400)}td em[data-v-95bfe863]{display:block;font-size:.65rem;font-style:normal;color:#0aa89b;margin-top:3px}.status-cell[data-v-95bfe863]{display:flex;align-items:center;gap:7px}.status-cell i[data-v-95bfe863]{width:8px;height:8px;border-radius:50%}.status-cell i.moving[data-v-95bfe863]{background:#1a73e8}.status-cell i.stopped[data-v-95bfe863]{background:#f59f00}.status-cell i.offline[data-v-95bfe863]{background:#9ca0a8}.empty-state[data-v-95bfe863]{text-align:center;padding:35px;color:var(--gray-400)}.table-card[data-v-95bfe863]{margin-top:14px}.reports-skeleton[data-v-95bfe863]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.report-skeleton-card[data-v-95bfe863],.report-skeleton-chart[data-v-95bfe863]{border-radius:15px;background:linear-gradient(90deg,#edf2f7,#f8fafc,#edf2f7);background-size:220% 100%;animation:shimmer-95bfe863 1.15s infinite}.report-skeleton-card[data-v-95bfe863]{height:170px;padding:17px}.report-skeleton-card span[data-v-95bfe863],.report-skeleton-card strong[data-v-95bfe863],.report-skeleton-card em[data-v-95bfe863]{display:block;height:14px;width:50%;background:#fff8;border-radius:99px;margin-bottom:16px}.report-skeleton-card strong[data-v-95bfe863]{height:27px;width:70%}.report-skeleton-card em[data-v-95bfe863]{height:50px;width:100%;margin-top:25px}.report-skeleton-chart[data-v-95bfe863]{height:280px;grid-column:span 2}@keyframes shimmer-95bfe863{to{background-position:-220% 0}}@media(max-width:1050px){.kpi-grid[data-v-95bfe863]{grid-template-columns:repeat(2,1fr)}.charts-grid[data-v-95bfe863]{grid-template-columns:1fr}.reports-hero[data-v-95bfe863]{align-items:flex-start;flex-direction:column}.report-actions[data-v-95bfe863]{width:100%}.reports-skeleton[data-v-95bfe863]{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.reports-page[data-v-95bfe863]{padding:14px}.reports-hero[data-v-95bfe863]{padding:18px}.report-actions[data-v-95bfe863]{display:grid;grid-template-columns:1fr 1fr}.report-actions label[data-v-95bfe863]{min-width:0}.report-actions input[data-v-95bfe863]{min-width:0;width:100%}.export-btn[data-v-95bfe863]{grid-column:1/-1}.kpi-grid[data-v-95bfe863],.charts-grid[data-v-95bfe863]{grid-template-columns:1fr}.donut-layout[data-v-95bfe863]{flex-direction:column;align-items:center}.legend[data-v-95bfe863]{grid-template-columns:repeat(3,1fr);min-width:0;width:100%;gap:8px}.legend p[data-v-95bfe863]{font-size:.7rem}.panel[data-v-95bfe863]{padding:16px}.report-skeleton-chart[data-v-95bfe863]{grid-column:auto}.reports-skeleton[data-v-95bfe863]{grid-template-columns:1fr}.daily-svg[data-v-95bfe863]{height:210px}.chart-axis[data-v-95bfe863]{padding-left:38px}.secondary-btn[data-v-95bfe863]{font-size:.68rem}.subtitle[data-v-95bfe863]{font-size:.82rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f7fa;color:#1a2332;line-height:1.5}#app{min-height:100dvh;display:flex;flex-direction:column}:root{--brand-navy: #0c1e33;--brand-blue: #1a73e8;--brand-teal: #0ec8b8;--green: #12b886;--green-bg: rgba(18,184,134,.1);--red: #e03131;--red-bg: rgba(224,49,49,.08);--orange: #f59f00;--orange-bg: rgba(245,159,0,.1);--blue-bg: rgba(26,115,232,.08);--gray-50: #f8f9fa;--gray-100: #f0f2f5;--gray-200: #e6e8ec;--gray-300: #cdd0d6;--gray-400: #9ca0a8;--gray-500: #6c727f;--gray-600: #4a5260;--gray-700: #2e3646;--gray-800: #1a2332;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.07);--shadow-lg: 0 8px 30px rgba(0,0,0,.08)}button{font-family:inherit;font-size:inherit;border:none;outline:none;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit;outline:none;border:1px solid var(--gray-300);border-radius:var(--radius-sm);padding:10px 12px;background:#fff;color:var(--gray-800)}input:focus,select:focus,textarea:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1a73e81f}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--radius-sm);font-weight:500;font-size:.88rem;transition:all .18s ease}.btn-primary{background:var(--brand-blue);color:#fff}.btn-primary:hover{background:#1557b0}.btn-primary:active{transform:scale(.97)}.btn-outline{background:#fff;color:var(--brand-blue);border:1.5px solid var(--brand-blue)}.btn-outline:hover{background:var(--blue-bg)}.btn-ghost{background:transparent;color:var(--gray-600)}.btn-ghost:hover{background:var(--gray-100)}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-lg{padding:14px 24px;font-size:1rem}:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px;border-radius:4px}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.card-dark{background:var(--brand-navy);color:#fff;border-radius:var(--radius-lg)}.card-hover{transition:transform .2s ease,box-shadow .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:.72rem;font-weight:600}.badge-green{background:var(--green-bg);color:var(--green)}.badge-gray{background:var(--gray-100);color:var(--gray-500)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-orange{background:var(--orange-bg);color:var(--orange)}.badge-blue{background:var(--blue-bg);color:var(--brand-blue)}.page-enter-active,.page-leave-active{transition:opacity .2s ease,transform .2s ease}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.page{padding:16px 16px 80px;max-width:480px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-header h1{font-size:1.35rem;font-weight:700;color:var(--gray-800)}.page-header .subtitle{font-size:.85rem;color:var(--gray-400);margin-top:2px}.page-hero,.settings-hero,.raw-hero,.users-hero,.fleet-hero,.reports-hero,.history-hero,.map-hero{background:linear-gradient(135deg,#1a73e814,#0ec8b80b)!important;border:1px solid rgba(26,115,232,.13)!important;border-radius:18px!important;box-shadow:0 5px 18px #0f172a09!important;padding:24px!important}.page-hero .eyebrow,.settings-hero .eyebrow,.raw-hero .eyebrow,.users-hero .eyebrow,.fleet-hero .eyebrow,.reports-hero .eyebrow,.history-hero .eyebrow{color:var(--brand-teal);font-weight:800;letter-spacing:.1em}.page-hero h1,.settings-hero h1,.raw-hero h1,.users-hero h1,.fleet-hero h1,.reports-hero h1,.history-hero h1{letter-spacing:-.025em}.kpi-icon,.stat-icon,.metric-icon,.hero-metric-icon{width:42px!important;height:42px!important;min-width:42px;border-radius:12px!important}.kpi-icon svg,.stat-icon svg,.metric-icon svg,.hero-metric-icon svg{width:25px!important;height:25px!important;stroke-width:2!important}.stagger>*{opacity:0;animation:slideUp .35s ease both}.stagger>*:nth-child(1){animation-delay:.03s}.stagger>*:nth-child(2){animation-delay:.06s}.stagger>*:nth-child(3){animation-delay:.09s}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.15s}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
