@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@1,800;1,900&display=swap";:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#e2e8f0;--border-color:#6366f133;--border-hover:#6366f180;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--color-primary:#6366f1;--color-primary-light:#4f46e5;--color-primary-dark:#312e81;--color-secondary:#0ea5e9;--color-accent:#a855f7;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--gradient-primary:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-blue:linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%);--gradient-success:linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-danger:linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--gradient-hero:linear-gradient(160deg, #f8fafc 0%, #e0e7ff 60%, #c7d2fe 100%);--gradient-glow:radial-gradient(ellipse 80% 50% at 50% -10%, #6366f11a 0%, transparent 70%);--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", system-ui, -apple-system, sans-serif;--font-mono:"Courier New", monospace;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 8px 32px #00000014;--shadow-lg:0 20px 60px #0000001f;--shadow-glow:0 0 40px #6366f126;--glass-bg:#ffffffd9;--glass-blur:blur(18px);--transition:all .28s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";background:var(--gradient-glow);pointer-events:none;z-index:0;height:100vh;position:fixed;top:0;left:0;right:0}#app{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);font-weight:600}a{color:var(--color-primary-light);transition:var(--transition);text-decoration:none}a:hover{color:var(--color-secondary)}.navbar{-webkit-backdrop-filter:var(--glass-blur);z-index:100;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:68px;padding:0 44px;display:flex;position:sticky;top:0}.navbar:before{content:"";background:linear-gradient(90deg,#0000,#6366f180,#0ea5e980,#0000);height:1px;position:absolute;top:0;left:0;right:0}.nav-brand{font-family:var(--font-display);color:#fff;letter-spacing:-.04em;align-items:center;gap:12px;font-size:21px;font-weight:800;text-decoration:none;display:flex}.nav-brand-logo{flex-shrink:0}.nav-brand-abood{color:#38bdf8;letter-spacing:.02em;font-family:Playfair Display,Georgia,serif;font-size:24px;font-style:italic;font-weight:800}.nav-actions{align-items:center;gap:10px;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);transition:var(--transition);border:1px solid #0000;padding:8px 16px;font-size:13.5px;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--text-primary);border-color:var(--border-color);background:#6366f114}.nav-user{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:30px;align-items:center;gap:10px;padding:5px 14px 5px 6px;font-size:13px;display:flex}.nav-user-avatar{background:var(--gradient-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.nav-role-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary-light);background:#6366f126;border:1px solid #6366f140;border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700}.container{flex-grow:1;width:100%;max-width:1360px;margin:0 auto;padding:36px 30px}.btn{font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 16px #6366f159}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 28px #6366f180}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);border-color:var(--border-color);background:#f1f5f9b3}.btn-secondary:hover{border-color:var(--border-hover);background:#1e2a44e6}.btn-danger{color:#f87171;background:#ef44441f;border-color:#ef444440}.btn-danger:hover{background:var(--gradient-danger);color:#fff;border-color:#0000;box-shadow:0 4px 14px #ef444459}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:0 4px 16px #10b98159}.btn-success:hover{transform:translateY(-1px)}.btn-sm{border-radius:6px;padding:6px 13px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important;transform:none!important}.form-group{text-align:left;margin-bottom:20px}.form-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);margin-bottom:8px;font-size:11.5px;font-weight:700;display:block}.form-input,.form-select{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition);background:#f1f5f9b3;outline:none;padding:12px 16px;font-size:14px}.form-input::placeholder{color:var(--text-muted)}.form-input:focus,.form-select:focus{border-color:var(--color-primary);background:#f1f5f9f2;box-shadow:0 0 0 3px #6366f124,0 0 18px #6366f114}.form-select option{background:var(--bg-secondary);color:var(--text-primary)}.card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:var(--transition);padding:26px;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg,#0000 0%,#6366f159 50%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-title{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin-bottom:20px;padding-bottom:14px;font-size:16px;font-weight:700;display:flex}.stats-container{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);align-items:center;gap:18px;padding:22px;display:flex;position:relative;overflow:hidden}.stat-card:after{content:"";opacity:.07;border-radius:50%;width:90px;height:90px;position:absolute;top:-20px;right:-20px}.stat-card:first-child:after{background:var(--gradient-primary)}.stat-card:nth-child(2):after{background:var(--gradient-blue)}.stat-card:nth-child(3):after{background:var(--gradient-success)}.stat-card:nth-child(4):after{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.stat-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.stat-icon-primary{color:var(--color-primary-light);background:#6366f126}.stat-icon-secondary{color:#38bdf8;background:#0ea5e926}.stat-icon-success{color:#34d399;background:#10b98126}.stat-icon-warning{color:#fbbf24;background:#f59e0b26}.stat-val{font-family:var(--font-display);color:#fff;font-size:32px;font-weight:700;line-height:1}.stat-lbl{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:12px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:24px;display:grid}.table-responsive{border-radius:var(--radius-sm);width:100%;overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.table th,.table td{vertical-align:middle;border-bottom:1px solid #6366f10f;padding:14px 18px}.table thead tr{background:#f1f5f999}.table th{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.07em;color:#1e293b;white-space:nowrap;padding:13px 18px;font-size:13px;font-weight:900}.table tbody tr{transition:var(--transition-fast)}.table tbody tr:hover{background:#6366f10b}.table tbody tr:last-child td{border-bottom:none}.badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-success{color:#34d399;background:#10b9811f;border:1px solid #10b98140}.badge-warning{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b40}.badge-danger{color:#f87171;background:#ef44441f;border:1px solid #ef444440}.badge-info{color:#38bdf8;background:#0ea5e91f;border:1px solid #0ea5e940}.badge-default{color:var(--text-secondary);background:#64748b1f;border:1px solid #64748b33}.tabs{border:1px solid var(--border-color);background:#0d1526e6;border-radius:12px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;margin-bottom:26px;padding:4px;display:flex}.tab{cursor:pointer;color:var(--text-muted);transition:var(--transition);-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:9px;align-items:center;gap:7px;padding:9px 20px;font-size:13px;font-weight:600;display:flex}.tab:hover{color:var(--text-primary);background:#6366f112}.tab.active{color:#fff;background:var(--gradient-primary);box-shadow:0 4px 16px #6366f159}.modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:1000;background:#060b17e0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-hover);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-lg), var(--shadow-glow);padding:32px;animation:.32s cubic-bezier(.34,1.56,.64,1) modalIn;position:relative}.modal-content:before{content:"";background:linear-gradient(90deg,#0000,#6366f199,#0ea5e966,#0000);height:1px;position:absolute;top:0;left:0;right:0}@keyframes modalIn{0%{opacity:0;transform:scale(.92)translateY(24px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-close{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;width:32px;height:32px;transition:var(--transition);background:#6366f114;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:18px;right:18px}.modal-close:hover{color:#fff;border-color:var(--border-hover);background:#6366f133}.alert{border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:20px;padding:13px 18px;font-size:14px;font-weight:500;animation:.25s slideDown;display:flex}.alert-error{color:#f87171;background:#ef44441a;border:1px solid #ef444440}.alert-success{color:#34d399;background:#10b9811a;border:1px solid #10b98140}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hero-section{text-align:center;max-width:740px;margin:0 auto 50px;padding:24px 0}.hero-badge{color:var(--color-primary-light);letter-spacing:.06em;text-transform:uppercase;background:#6366f11a;border:1px solid #6366f147;border-radius:30px;align-items:center;gap:8px;margin-bottom:26px;padding:6px 18px;font-size:12px;font-weight:700;animation:.5s fadeUp;display:inline-flex}.hero-title{letter-spacing:-.04em;margin-bottom:18px;font-size:54px;font-weight:800;line-height:1.1;animation:.5s .1s both fadeUp}.hero-title-gradient{background:linear-gradient(135deg,#0f172a 20%,#4f46e5 55%,#0ea5e9 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);max-width:540px;margin:0 auto;font-size:17px;line-height:1.75;animation:.5s .2s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.page-header h2{letter-spacing:-.03em;background:linear-gradient(135deg,#0f172a 40%,#334155 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:700}.page-header p{color:var(--text-secondary);margin-top:5px;font-size:14px}.map-canvas{background:radial-gradient(ellipse at 50% 60%, #f1f5f9f2 0%, var(--bg-primary) 100%);border-radius:var(--radius-md);border:1px solid var(--border-color);height:260px;margin-top:16px;position:relative;overflow:hidden}.map-grid{background-image:linear-gradient(90deg,#6366f10a 1px,#0000 1px),linear-gradient(#6366f10a 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.map-bus-marker{color:var(--color-primary-light);flex-direction:column;align-items:center;animation:3s ease-in-out infinite busFloat;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-marker-label{background:var(--bg-secondary);white-space:nowrap;letter-spacing:.03em;border:1px solid #6366f180;border-radius:8px;margin-bottom:6px;padding:4px 10px;font-size:10px;font-weight:700;box-shadow:0 4px 14px #6366f14d}@keyframes busFloat{0%,to{filter:drop-shadow(0 0 6px #6366f166);transform:translate(-50%,-50%)}50%{filter:drop-shadow(0 0 14px #6366f1b3);transform:translate(-50%,calc(-50% - 7px))}}.timeline{text-align:left;margin-top:20px;padding-left:32px;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--color-primary) 0%, #6366f11a 100%);width:2px;position:absolute;top:5px;bottom:5px;left:11px}.timeline-item{margin-bottom:26px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-badge{background:var(--bg-tertiary);border:2px solid var(--text-muted);border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:-27px}.timeline-item.active .timeline-badge{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 14px #6366f1b3}.timeline-item.completed .timeline-badge{background:var(--color-success);border-color:var(--color-success)}.timeline-time{color:var(--text-muted);font-size:11px;font-weight:600}.timeline-title{color:var(--text-primary);margin-top:3px;font-size:14px;font-weight:600}.timeline-desc{color:var(--text-secondary);margin-top:4px;font-size:13px;line-height:1.5}.section-divider{border:none;border-top:1px dashed #6366f133;margin:22px 0}.info-grid{text-align:left;grid-template-columns:1fr 1fr;gap:18px;display:grid}.info-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:5px;font-size:11px;font-weight:700}.info-value{color:var(--text-primary);font-size:15px;font-weight:600}.info-value.mono{font-family:var(--font-mono);color:var(--color-primary-light);letter-spacing:.04em}.footer{color:#ffffffd9;background-color:#8a0010;border-top:1px solid #ffffff1a;margin-top:auto;font-size:14px}.footer-content{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;max-width:1360px;margin:0 auto;padding:60px 44px;display:grid}@media (width<=1024px){.footer-content{grid-template-columns:repeat(2,1fr);padding:40px 24px}}@media (width<=640px){.footer-content{grid-template-columns:1fr;gap:30px}}.footer-brand{flex-direction:column;gap:12px;display:flex}.footer-logo-container{flex-direction:column;align-items:flex-start;display:flex}.footer-logo-title{color:#00d2ff;letter-spacing:.5px;font-family:Playfair Display,Georgia,serif;font-size:34px;font-style:italic;font-weight:800;line-height:1.1}.footer-logo-subtitle{font-family:var(--font-sans);color:#fff;letter-spacing:.5px;margin-top:2px;font-size:13px;font-weight:700}.footer-col{flex-direction:column;gap:16px;display:flex}.footer-heading{color:#fff;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;padding-bottom:8px;font-size:13.5px;font-weight:800;position:relative}.footer-heading:after{content:"";background:linear-gradient(90deg,#fff 25%,#ffffff40 25%);width:100%;height:2px;position:absolute;bottom:0;left:0}.footer-text{color:#fffc;font-size:13.5px;line-height:1.6}.footer-links-list{flex-direction:column;gap:12px;display:flex}.footer-link{color:#fffc;transition:var(--transition-fast);align-items:center;gap:10px;font-size:13.5px;text-decoration:none;display:inline-flex}.footer-link:hover{color:#fff;transform:translate(4px)}.footer-icon-wrapper{color:#8a0010;background:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.app-badges{flex-direction:column;gap:10px;display:flex}.app-badge{color:#fff;width:fit-content;min-width:155px;transition:var(--transition-fast);background:#000;border:1px solid #ffffff26;border-radius:6px;align-items:center;gap:10px;padding:6px 12px;text-decoration:none;display:inline-flex}.app-badge:hover{border-color:#fff6;transform:translateY(-2px)}.badge-icon{flex-shrink:0;width:22px;height:22px}.badge-text{text-align:left;flex-direction:column;display:flex}.badge-sub{text-transform:uppercase;color:#fff9;font-size:8px;font-weight:500;line-height:1.1}.badge-main{color:#fff;font-size:12.5px;font-weight:700;line-height:1.2}.footer-bottom{background-color:#4b0002;border-top:1px solid #ffffff0d;padding:20px 44px}.footer-bottom-content{justify-content:center;align-items:center;max-width:1360px;margin:0 auto;display:flex}.copyright-text{font-family:var(--font-display);color:#ffffffe6;letter-spacing:.05em;text-transform:uppercase;text-align:center;font-size:12.5px;font-weight:600}@media (width<=768px){.navbar{height:60px;padding:0 20px}.container{padding:20px 16px}.hero-title{font-size:36px}.hero-subtitle{font-size:15px}.stats-container{grid-template-columns:1fr 1fr}.tabs{width:100%}.page-header{flex-direction:column;gap:16px}.info-grid{grid-template-columns:1fr}}@media (width<=480px){.stats-container{grid-template-columns:1fr}.hero-title{font-size:28px}.dashboard-grid{grid-template-columns:1fr}}.badge-sms{color:#c084fc;background:#a855f71f;border:1px solid #a855f740}.notification-container[data-v-c5a266fe]{margin-right:8px;display:inline-block;position:relative}.btn-notification[data-v-c5a266fe]{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;width:38px;height:38px;transition:var(--transition-fast);background:#f1f5f9b3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.btn-notification[data-v-c5a266fe]:hover{border-color:var(--border-hover);color:var(--color-primary-light);background:#6366f114}.btn-notification.has-unread[data-v-c5a266fe]{animation:2s infinite bellRing-c5a266fe}@keyframes bellRing-c5a266fe{0%,to{transform:rotate(0)}5%{transform:rotate(15deg)}10%{transform:rotate(-12deg)}15%{transform:rotate(10deg)}20%{transform:rotate(-8deg)}25%{transform:rotate(5deg)}30%{transform:rotate(-3deg)}35%{transform:rotate(0)}}.notification-badge[data-v-c5a266fe]{background:var(--color-danger);color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;min-width:17px;height:17px;font-size:10px;font-weight:800;display:flex;position:absolute;top:-2px;right:-2px;box-shadow:0 2px 6px #ef444466}.notification-dropdown[data-v-c5a266fe]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:360px;box-shadow:var(--shadow-lg), 0 10px 30px #6366f114;z-index:1000;text-align:left;background:#fffffff2;border:1px solid #6366f126;border-radius:16px;animation:.25s cubic-bezier(.16,1,.3,1) dropdownIn-c5a266fe;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden}@keyframes dropdownIn-c5a266fe{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.dropdown-header[data-v-c5a266fe]{border-bottom:1px solid #6366f114;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dropdown-header h3[data-v-c5a266fe]{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.btn-clear-all[data-v-c5a266fe]{color:var(--color-primary-light);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:600}.btn-clear-all[data-v-c5a266fe]:hover{background:#6366f114}.dropdown-body[data-v-c5a266fe]{max-height:400px;padding:8px 0;overflow-y:auto}.empty-notifications[data-v-c5a266fe]{text-align:center;color:var(--text-secondary);padding:32px 20px;font-size:13px}.empty-notifications p[data-v-c5a266fe]{margin:0}.notification-item[data-v-c5a266fe]{cursor:pointer;transition:var(--transition-fast);border-bottom:1px solid #6366f10a;padding:12px 20px;position:relative}.notification-item[data-v-c5a266fe]:last-child{border-bottom:none}.notification-item[data-v-c5a266fe]:hover{background:#6366f108}.notification-item.is-read[data-v-c5a266fe]{opacity:.65}.notification-item[data-v-c5a266fe]:before{content:"";border-radius:0 2px 2px 0;width:4px;position:absolute;top:0;bottom:0;left:0}.severity-danger[data-v-c5a266fe]:before{background:var(--color-danger)}.severity-warning[data-v-c5a266fe]:before{background:var(--color-warning)}.severity-info[data-v-c5a266fe]:before{background:var(--color-secondary)}.item-header[data-v-c5a266fe]{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.item-title[data-v-c5a266fe]{color:var(--text-primary);font-size:13px;font-weight:700}.item-time[data-v-c5a266fe]{color:var(--text-muted);font-size:10px;font-weight:500}.item-desc[data-v-c5a266fe]{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.4}.dropdown-fade-enter-active[data-v-c5a266fe],.dropdown-fade-leave-active[data-v-c5a266fe]{transition:opacity .2s,transform .2s}.dropdown-fade-enter-from[data-v-c5a266fe],.dropdown-fade-leave-to[data-v-c5a266fe]{opacity:0;transform:translateY(8px)scale(.98)}.toasts-container[data-v-c5a266fe]{z-index:9999;pointer-events:none;flex-direction:column;gap:12px;width:100%;max-width:380px;display:flex;position:fixed;bottom:24px;right:24px}.toast-card[data-v-c5a266fe]{pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:left;background:#fffffff2;border:1px solid #6366f126;border-radius:12px;animation:.3s cubic-bezier(.16,1,.3,1) toastIn-c5a266fe;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 25px #0f172a1f}@keyframes toastIn-c5a266fe{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-indicator[data-v-c5a266fe]{flex-shrink:0;width:5px}.toast-danger .toast-indicator[data-v-c5a266fe]{background:var(--color-danger)}.toast-warning .toast-indicator[data-v-c5a266fe]{background:var(--color-warning)}.toast-info .toast-indicator[data-v-c5a266fe]{background:var(--color-secondary)}.toast-content[data-v-c5a266fe]{flex:1;padding:14px 16px}.toast-header[data-v-c5a266fe]{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.toast-title[data-v-c5a266fe]{color:var(--text-primary);font-size:13.5px;font-weight:700}.toast-close[data-v-c5a266fe]{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;padding:0 4px;font-size:16px;font-weight:700}.toast-close[data-v-c5a266fe]:hover{color:var(--text-primary)}.toast-desc[data-v-c5a266fe]{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.4}.toast-slide-enter-active[data-v-c5a266fe],.toast-slide-leave-active[data-v-c5a266fe]{transition:all .3s}.toast-slide-enter-from[data-v-c5a266fe]{opacity:0;transform:translate(30px)}.toast-slide-leave-to[data-v-c5a266fe]{opacity:0;transform:translateY(-20px)}.breadcrumbs[data-v-f885fbed]{color:#64748b;letter-spacing:.08em;text-align:left;margin-top:10px;margin-bottom:12px;font-size:11px;font-weight:700}.details-header[data-v-f885fbed]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.details-header h2[data-v-f885fbed]{color:#1e293b;margin:0;font-size:20px;font-weight:800}.header-controls[data-v-f885fbed]{align-items:center;gap:10px;display:flex}.switch-container[data-v-f885fbed]{width:40px;height:20px;display:inline-block;position:relative}.switch-container input[data-v-f885fbed]{opacity:0;width:0;height:0}.switch-slider[data-v-f885fbed]{cursor:pointer;background-color:#cbd5e1;border-radius:20px;transition:all .2s;position:absolute;inset:0}.switch-slider[data-v-f885fbed]:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;bottom:3px;left:3px}input:checked+.switch-slider[data-v-f885fbed]{background-color:#3b82f6}input:checked+.switch-slider[data-v-f885fbed]:before{transform:translate(20px)}.auto-refresh-label[data-v-f885fbed]{color:#475569;margin-right:12px;font-size:13px;font-weight:600}.btn-refresh[data-v-f885fbed]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-refresh[data-v-f885fbed]:hover{background:#f8fafc;border-color:#94a3b8}.spinning[data-v-f885fbed]{animation:1s linear infinite spin-f885fbed}@keyframes spin-f885fbed{to{transform:rotate(360deg)}}.kpi-grid[data-v-f885fbed]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.kpi-card[data-v-f885fbed]{color:#fff;text-align:center;border-radius:12px;padding:20px 24px;box-shadow:0 4px 12px #00000008}.kpi-blue[data-v-f885fbed]{background:#1e62f0}.kpi-green[data-v-f885fbed]{background:#0a8f34}.kpi-orange[data-v-f885fbed]{background:#e67e22}.kpi-cyan[data-v-f885fbed]{background:#3498db}.kpi-value[data-v-f885fbed]{margin-bottom:4px;font-size:32px;font-weight:800;line-height:1.1}.kpi-label[data-v-f885fbed]{opacity:.95;text-transform:capitalize;font-size:13px;font-weight:700}.search-filter-bar[data-v-f885fbed]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-wrap[data-v-f885fbed]{align-items:stretch;width:320px;display:flex;position:relative}.table-search-input[data-v-f885fbed]{background:#fff;border:1px solid #cbd5e1;border-radius:6px 0 0 6px;outline:none;flex:1;padding:8px 14px;font-size:14px}.table-search-input[data-v-f885fbed]:focus{border-color:#3b82f6}.search-action-btn[data-v-f885fbed]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-left:none;border-radius:0 6px 6px 0;padding:0 12px}.search-action-btn[data-v-f885fbed]:hover{color:#3b82f6}.filter-actions[data-v-f885fbed]{gap:8px;display:flex}.btn-filter-funnel[data-v-f885fbed]{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-filter-funnel[data-v-f885fbed]:hover{color:#3b82f6;background:#f8fafc}.btn-visibility[data-v-f885fbed]{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative}.btn-visibility[data-v-f885fbed]:hover{background:#f8fafc}.btn-visibility[data-v-f885fbed]:before{content:"";border:2px solid #64748b;border-radius:1px;width:14px;height:10px;display:block}.table-card[data-v-f885fbed]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:40px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.dashboard-table[data-v-f885fbed]{border-collapse:collapse;text-align:left;width:100%}.dashboard-table th[data-v-f885fbed]{color:#1e293b;letter-spacing:.08em;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 20px;font-size:13px;font-weight:900}.dashboard-table td[data-v-f885fbed]{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 20px;font-size:13px}.dashboard-table tr[data-v-f885fbed]:hover{background:#f8fafc}.col-plate[data-v-f885fbed]{color:#1e293b;font-family:inherit;font-size:14px;font-weight:600}.location-pin-icon[data-v-f885fbed]{color:#ef4444;vertical-align:middle;margin-right:4px}.col-location[data-v-f885fbed]{font-weight:500}.col-speed[data-v-f885fbed]{color:#1e293b;font-family:inherit;font-size:13.5px}.col-updated[data-v-f885fbed]{color:#475569;font-weight:500}.location-text-muted[data-v-f885fbed]{color:#94a3b8;font-style:italic}.status-pill[data-v-f885fbed]{text-align:center;text-transform:capitalize;letter-spacing:.02em;box-sizing:border-box;border-radius:6px;width:96px;padding:5px 0;font-size:12px;font-weight:700;display:inline-block;color:#fff!important}.status-running[data-v-f885fbed],.dashboard-table tr td .status-running[data-v-f885fbed]{background:#0a8f34!important}.status-stopped[data-v-f885fbed]{background:#ff9800!important}.status-parked[data-v-f885fbed]{background:#dc2626!important}.status-idle[data-v-f885fbed]{color:#556070!important;background:#cbd5e1!important}.status-offline[data-v-f885fbed]{color:#4b5563!important;background:#d1d5db!important}.dashboard-table tbody tr.row-stopped[data-v-f885fbed]{background:#f8fafc!important}.kpi-card[data-v-f885fbed]{border:2px solid #0000;transition:transform .22s,box-shadow .22s,border-color .22s}.kpi-card[data-v-f885fbed]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.kpi-blue.kpi-active[data-v-f885fbed]{border-color:#fff!important;box-shadow:0 0 16px #1e62f073!important}.kpi-green.kpi-active[data-v-f885fbed]{border-color:#fff!important;box-shadow:0 0 16px #0a8f3473!important}.kpi-orange.kpi-active[data-v-f885fbed]{border-color:#fff!important;box-shadow:0 0 16px #e67e2273!important}.kpi-cyan.kpi-active[data-v-f885fbed]{border-color:#fff!important;box-shadow:0 0 16px #3498db73!important}.pagination-footer[data-v-f885fbed]{background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.pagination-info[data-v-f885fbed]{color:#475569;font-size:13px;font-weight:500}.pagination-controls[data-v-f885fbed]{align-items:center;gap:6px;display:flex}.pagination-btn[data-v-f885fbed]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .15s}.pagination-btn[data-v-f885fbed]:hover:not(:disabled){color:#1e293b;background:#f1f5f9;border-color:#94a3b8}.pagination-btn[data-v-f885fbed]:disabled{opacity:.4;cursor:not-allowed}.pagination-pages[data-v-f885fbed]{align-items:center;gap:4px;display:flex}.pagination-ellipsis[data-v-f885fbed]{color:#64748b;-webkit-user-select:none;user-select:none;align-self:center;padding:0 4px;font-size:14px;font-weight:700;display:inline-block}.pagination-page-btn[data-v-f885fbed]{text-align:center;min-width:32px;padding:6px 0}.pagination-page-active[data-v-f885fbed]{color:#fff!important;background:#3b82f6!important;border-color:#3b82f6!important}.col-actions[data-v-f885fbed]{justify-content:center;align-items:center;gap:4px;display:flex}.action-btn[data-v-f885fbed]{cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:inline-flex}.action-btn-details[data-v-f885fbed]{text-decoration:none;color:#1e293b!important;border:1px solid #1e293b!important}.action-btn-details[data-v-f885fbed]:hover{background:#1e293b0d!important}.action-btn-violations[data-v-f885fbed]{text-decoration:none;border:1px solid var(--color-danger)!important;color:var(--color-danger)!important}.action-btn-violations[data-v-f885fbed]:hover{box-shadow:0 2px 8px #ef444426;background:#ef444414!important}.btn-violations-portal[data-v-f885fbed]{background:var(--gradient-danger);border:1px solid var(--color-danger);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-violations-portal[data-v-f885fbed]:hover{background:#b91c1c;border-color:#b91c1c;box-shadow:0 4px 12px #ef444440}.btn-driving-report[data-v-f885fbed]{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);border:1px solid #4f46e5;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-driving-report[data-v-f885fbed]:hover{background:linear-gradient(135deg,#4338ca 0%,#4f46e5 100%);border-color:#4338ca;box-shadow:0 4px 12px #4f46e54d}.btn-trip-report[data-v-f885fbed]{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#0ea5e9 0%,#2563eb 100%);border:1px solid #0ea5e9;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-trip-report[data-v-f885fbed]:hover{background:linear-gradient(135deg,#0284c7 0%,#1d4ed8 100%);border-color:#0284c7;box-shadow:0 4px 12px #2563eb4d}.portal-modal-overlay[data-v-f885fbed]{-webkit-backdrop-filter:blur(12px);z-index:1000;background:#0f172aa6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.portal-modal-card[data-v-f885fbed]{text-align:left;background:#fff;border:1px solid #6366f126;border-radius:20px;width:100%;max-width:480px;animation:.32s cubic-bezier(.34,1.56,.64,1) modalScaleUp-f885fbed;overflow:hidden;box-shadow:0 24px 48px -12px #0f172a2e,0 0 0 1px #6366f10d}@keyframes modalScaleUp-f885fbed{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.portal-modal-header[data-v-f885fbed]{background:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.modal-icon-glow[data-v-f885fbed]{background:#6366f114;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 0 16px #6366f11f}.modal-title[data-v-f885fbed]{font-family:var(--font-display);color:#0f172a;letter-spacing:-.02em;margin:0;font-size:18px;font-weight:800;line-height:1.2}.modal-subtitle[data-v-f885fbed]{color:#64748b;margin:4px 0 0;font-size:12.5px;font-weight:500;line-height:1.4}.modal-close-x[data-v-f885fbed]{color:#64748b;cursor:pointer;background:#f1f5f9cc;border:1px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;line-height:1;transition:all .25s;display:flex}.modal-close-x[data-v-f885fbed]:hover{color:var(--color-danger);background:#ef444414;border-color:#ef444426;transform:rotate(90deg)}.portal-modal-body[data-v-f885fbed]{background:#fff;flex-direction:column;gap:24px;padding:28px;display:flex}.modal-form-group[data-v-f885fbed]{flex-direction:column;gap:10px;display:flex}.modal-field-label[data-v-f885fbed]{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.modal-select-wrapper[data-v-f885fbed]{width:100%;position:relative}.modal-select-wrapper[data-v-f885fbed]:after{content:"";pointer-events:none;border-bottom:2px solid #64748b;border-right:2px solid #64748b;width:8px;height:8px;transition:all .2s;position:absolute;top:50%;right:16px;transform:translateY(-70%)rotate(45deg)}.modal-select-wrapper[data-v-f885fbed]:hover:after{border-color:#4f46e5}.modal-select-input[data-v-f885fbed],.modal-date-input[data-v-f885fbed]{color:#0f172a;box-sizing:border-box;background:#f8fafc;border:1px solid #6366f126;border-radius:10px;outline:none;width:100%;padding:12px 16px;font-size:14px;font-weight:600;transition:all .28s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0f172a05}.modal-select-input[data-v-f885fbed]{appearance:none;padding-right:40px}.modal-select-input[data-v-f885fbed]:focus,.modal-date-input[data-v-f885fbed]:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51f,0 4px 12px #4f46e50d}.portal-modal-footer[data-v-f885fbed]{background:#f8fafc;border-top:1px solid #f1f5f9;justify-content:flex-end;gap:12px;padding:20px 28px;display:flex}.modal-btn[data-v-f885fbed]{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:12px 24px;font-size:14px;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.modal-btn-cancel[data-v-f885fbed]{color:#475569;background:0 0;border:1px solid #cbd5e1}.modal-btn-cancel[data-v-f885fbed]:hover{color:#1e293b;background:#f1f5f9;border-color:#94a3b8}.modal-btn-submit[data-v-f885fbed]{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);border:1px solid #4f46e5;box-shadow:0 4px 12px #4f46e540}.modal-btn-submit[data-v-f885fbed]:hover:not(:disabled){background:linear-gradient(135deg,#4338ca 0%,#4f46e5 100%);transform:translateY(-1px);box-shadow:0 6px 20px #4f46e559}.modal-btn-submit[data-v-f885fbed]:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 10px #4f46e540}.modal-btn-submit[data-v-f885fbed]:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;background:#cbd5e1;border-color:#cbd5e1}.modal-fade-enter-active[data-v-f885fbed],.modal-fade-leave-active[data-v-f885fbed]{transition:opacity .28s}.modal-fade-enter-from[data-v-f885fbed],.modal-fade-leave-to[data-v-f885fbed]{opacity:0}@media (width<=768px){.details-header[data-v-f885fbed]{flex-direction:column;align-items:flex-start}.search-filter-bar[data-v-f885fbed]{flex-direction:column;align-items:stretch}.search-wrap[data-v-f885fbed]{width:100%}.filter-actions[data-v-f885fbed]{justify-content:space-between}}.login-wrapper[data-v-08d767c5]{justify-content:center;align-items:center;min-height:80vh;display:flex;position:relative}.login-orb[data-v-08d767c5]{filter:blur(80px);pointer-events:none;z-index:-1;border-radius:50%;animation:8s ease-in-out infinite orbFloat-08d767c5;position:fixed}.login-orb-1[data-v-08d767c5]{background:#6366f11f;width:400px;height:400px;animation-delay:0s;top:5%;left:10%}.login-orb-2[data-v-08d767c5]{background:#0ea5e91a;width:300px;height:300px;animation-delay:2.5s;top:40%;right:8%}.login-orb-3[data-v-08d767c5]{background:#a855f714;width:250px;height:250px;animation-delay:5s;bottom:10%;left:30%}@keyframes orbFloat-08d767c5{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-30px)scale(1.05)}}.login-card[data-v-08d767c5]{text-align:center;width:100%;max-width:440px;padding:44px 40px;animation:.5s fadeUp}.login-logo[data-v-08d767c5]{justify-content:center;align-items:center;gap:12px;margin-bottom:28px;display:flex}.login-logo-icon[data-v-08d767c5]{background:var(--gradient-primary);border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;display:flex;box-shadow:0 6px 20px #6366f173}.login-logo-text[data-v-08d767c5]{font-family:var(--font-display);letter-spacing:-.04em;color:#fff;font-size:22px;font-weight:800}.login-logo-text span[data-v-08d767c5]{background:var(--gradient-blue);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.login-title[data-v-08d767c5]{letter-spacing:-.02em;margin-bottom:6px;font-size:26px;font-weight:700}.login-subtitle[data-v-08d767c5]{color:var(--text-secondary);margin-bottom:32px;font-size:14px}.input-icon-wrap[data-v-08d767c5]{position:relative}.input-icon[data-v-08d767c5]{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-with-icon[data-v-08d767c5]{padding-left:44px!important}.login-form[data-v-08d767c5]{text-align:left}.login-btn[data-v-08d767c5]{border-radius:10px;width:100%;padding:13px;font-size:15px}.demo-creds[data-v-08d767c5]{text-align:left;background:#f1f5f999;border:1px dashed #6366f133;border-radius:12px;margin-top:28px;padding:16px 18px}.demo-title[data-v-08d767c5]{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px;font-size:11px;font-weight:700}.demo-buttons[data-v-08d767c5]{gap:8px;margin-bottom:10px;display:flex}.demo-btn[data-v-08d767c5]{color:var(--color-primary-light);cursor:pointer;transition:var(--transition);background:#6366f114;border:1px solid #6366f133;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.demo-btn[data-v-08d767c5]:hover{background:#6366f129;border-color:#6366f166}.demo-hint[data-v-08d767c5]{color:var(--text-muted);font-size:12px}.demo-hint code[data-v-08d767c5]{font-family:var(--font-mono);color:var(--color-primary-light);background:#6366f11f;border-radius:4px;padding:1px 6px}.detail-back-header[data-v-aefaeaa6]{justify-content:space-between;align-items:center;margin-top:10px;margin-bottom:24px;display:flex}.btn-back[data-v-aefaeaa6]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-back[data-v-aefaeaa6]:hover{color:#1e293b;background:#f8fafc;border-color:#94a3b8}.btn-report[data-v-aefaeaa6]{background:var(--color-primary-light);border:1px solid var(--color-primary-light);color:#fff;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-report[data-v-aefaeaa6]:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-violations[data-v-aefaeaa6]{background:var(--gradient-danger);border:1px solid var(--color-danger);color:#fff;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-violations[data-v-aefaeaa6]:hover{background:#b91c1c;border-color:#b91c1c;box-shadow:0 4px 12px #ef444433}.header-plate-badge[data-v-aefaeaa6]{color:#1e293b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:6px 16px;font-size:18px;font-weight:800}.telemetry-loading-state[data-v-aefaeaa6]{color:var(--text-secondary);justify-content:center;align-items:center;gap:12px;padding:80px 0;font-size:15px;display:flex}.search-spinner[data-v-aefaeaa6]{border:2px solid #0000001a;border-top-color:#3b82f6;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin-aefaeaa6;display:inline-block}@keyframes spin-aefaeaa6{to{transform:rotate(360deg)}}.bus-detail-grid[data-v-aefaeaa6]{grid-template-columns:460px 1fr;align-items:stretch;gap:24px;margin-bottom:40px;display:grid}.detail-parameters-panel[data-v-aefaeaa6]{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.panel-header-rich[data-v-aefaeaa6]{border-bottom:1px solid var(--border-color);margin-bottom:20px;padding-bottom:20px}.plate-title[data-v-aefaeaa6]{color:var(--color-primary-light);letter-spacing:.04em;font-size:24px;font-weight:800}.status-pill[data-v-aefaeaa6]{text-align:center;text-transform:capitalize;letter-spacing:.02em;box-sizing:border-box;border-radius:6px;width:96px;padding:5px 0;font-size:12px;font-weight:700;display:inline-block;color:#fff!important}.status-running[data-v-aefaeaa6]{background:#0a8f34!important}.status-stopped[data-v-aefaeaa6]{background:#ff9800!important}.status-parked[data-v-aefaeaa6]{background:#dc2626!important}.status-idle[data-v-aefaeaa6]{color:#556070!important;background:#cbd5e1!important}.status-offline[data-v-aefaeaa6]{color:#4b5563!important;background:#d1d5db!important}.specs-title[data-v-aefaeaa6]{text-transform:uppercase;color:#64748b;letter-spacing:.06em;border-bottom:1px dashed var(--border-color);margin-top:20px;margin-bottom:14px;padding-bottom:8px;font-size:14px;font-weight:800}.spec-telemetry-grid[data-v-aefaeaa6]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.spec-telemetry-card[data-v-aefaeaa6]{background:#f8fafcb3;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.spec-icon[data-v-aefaeaa6]{width:32px;height:32px;color:var(--color-primary-light);background:#6366f10f;border-radius:6px;justify-content:center;align-items:center;display:flex}.spec-body[data-v-aefaeaa6]{flex-direction:column;gap:1px;display:flex}.spec-label[data-v-aefaeaa6]{text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-size:9px;font-weight:700}.spec-value[data-v-aefaeaa6]{color:#1e293b;font-size:13px;font-weight:600}.detail-map-panel[data-v-aefaeaa6]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:0;overflow:hidden;box-shadow:0 4px 12px #00000005}.no-map-signals-state[data-v-aefaeaa6]{height:100%;color:var(--text-secondary);background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;padding:80px 0;font-size:14px;display:flex}.live-dot[data-v-aefaeaa6]{background:var(--color-success);width:6px;height:6px;box-shadow:0 0 6px var(--color-success);vertical-align:middle;border-radius:50%;margin-right:4px;animation:1.5s ease-in-out infinite livePulse-aefaeaa6;display:inline-block}@keyframes livePulse-aefaeaa6{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.bus-custom-marker[data-v-aefaeaa6]{justify-content:center;align-items:center;width:50px;height:50px;display:flex;position:relative}.radar-ring[data-v-aefaeaa6]{pointer-events:none;background:#dc26262e;border:1.5px solid #ef444473;border-radius:50%;width:100%;height:100%;animation:2s cubic-bezier(.1,.8,.3,1) infinite radarPulse-aefaeaa6;position:absolute;box-shadow:0 0 8px #ef444440}.ring-2[data-v-aefaeaa6]{animation-delay:.6s}@keyframes radarPulse-aefaeaa6{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(2.2)}}.direction-arrow-wrapper[data-v-aefaeaa6]{z-index:2;box-sizing:border-box;background:#fff;border:2px solid #dc2626;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .8s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;box-shadow:0 4px 12px #0000001f,0 0 8px #ef44444d}.navigation-arrow-svg[data-v-aefaeaa6]{filter:drop-shadow(0 1px 2px #0000001f);animation:2.5s ease-in-out infinite arrowFloat-aefaeaa6;transform:translateY(-.5px)}@keyframes arrowFloat-aefaeaa6{0%,to{transform:translateY(-.5px)scale(1)}50%{transform:translateY(-1.5px)scale(1.04)}}@media (width<=1024px){.bus-detail-grid[data-v-aefaeaa6]{grid-template-columns:1fr}}.detail-back-header[data-v-ac8ca2f2]{justify-content:space-between;align-items:center;margin-top:10px;margin-bottom:24px;display:flex}.btn-back[data-v-ac8ca2f2]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-back[data-v-ac8ca2f2]:hover{color:#1e293b;background:#f8fafc;border-color:#94a3b8}.header-plate-badge[data-v-ac8ca2f2]{color:#1e293b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:6px 16px;font-size:18px;font-weight:800}.telemetry-loading-state[data-v-ac8ca2f2]{color:var(--text-secondary);justify-content:center;align-items:center;gap:12px;padding:80px 0;font-size:15px;display:flex}.search-spinner[data-v-ac8ca2f2]{border:2px solid #0000001a;border-top-color:#3b82f6;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin-ac8ca2f2;display:inline-block}@keyframes spin-ac8ca2f2{to{transform:rotate(360deg)}}.report-container[data-v-ac8ca2f2]{flex-direction:column;gap:24px;margin-bottom:40px;display:flex}.overview-header-card[data-v-ac8ca2f2]{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:24px;display:flex}.overview-title[data-v-ac8ca2f2]{color:var(--text-primary);margin-bottom:4px;font-size:22px;font-weight:800}.overview-subtitle[data-v-ac8ca2f2]{color:var(--text-secondary);margin:0;font-size:13.5px}.report-grid[data-v-ac8ca2f2]{grid-template-columns:1fr 480px;align-items:stretch;gap:24px;display:grid}.card-title[data-v-ac8ca2f2]{text-transform:uppercase;color:#64748b;letter-spacing:.06em;border-bottom:1px dashed var(--border-color);margin-bottom:18px;padding-bottom:12px;font-size:15px;font-weight:800}.report-col-left[data-v-ac8ca2f2],.report-col-right[data-v-ac8ca2f2]{flex-direction:column;gap:24px;display:flex}.safety-score-card[data-v-ac8ca2f2],.violations-checklist-card[data-v-ac8ca2f2],.infractions-log-card[data-v-ac8ca2f2],.journey-profile-card[data-v-ac8ca2f2],.trip-stats-card[data-v-ac8ca2f2],.mechanical-card[data-v-ac8ca2f2]{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.gauge-section[data-v-ac8ca2f2]{align-items:center;gap:32px;display:flex}.gauge-indicator[data-v-ac8ca2f2]{border:8px solid #e2e8f0;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:110px;height:110px;display:flex}.gauge-value[data-v-ac8ca2f2]{color:#1e293b;font-size:36px;font-weight:800;line-height:1}.gauge-max[data-v-ac8ca2f2]{color:#64748b;font-size:11px;font-weight:700}.rating-excellent[data-v-ac8ca2f2]{border-color:#0a8f34!important}.rating-good[data-v-ac8ca2f2]{border-color:#3b82f6!important}.rating-moderate[data-v-ac8ca2f2]{border-color:#ff9800!important}.rating-danger[data-v-ac8ca2f2]{border-color:#dc2626!important}.gauge-info-text[data-v-ac8ca2f2]{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.gauge-label[data-v-ac8ca2f2]{text-transform:uppercase;color:#64748b;letter-spacing:.05em;font-size:10px;font-weight:700}.gauge-rating[data-v-ac8ca2f2]{margin:2px 0 8px;font-size:18px;font-weight:800}.gauge-rating.rating-excellent[data-v-ac8ca2f2]{color:#0a8f34!important}.gauge-rating.rating-good[data-v-ac8ca2f2]{color:#3b82f6!important}.gauge-rating.rating-moderate[data-v-ac8ca2f2]{color:#ff9800!important}.gauge-rating.rating-danger[data-v-ac8ca2f2]{color:#dc2626!important}.gauge-desc[data-v-ac8ca2f2]{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.5}.checklist-items[data-v-ac8ca2f2]{flex-direction:column;gap:16px;display:flex}.check-item[data-v-ac8ca2f2]{background:#f8fafc99;border:1px solid #cbd5e1;border-radius:8px;align-items:flex-start;gap:16px;padding:14px 18px;transition:all .15s;display:flex}.check-status-icon[data-v-ac8ca2f2]{color:#10b981;background:#10b9811a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.check-body[data-v-ac8ca2f2]{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.check-title[data-v-ac8ca2f2]{color:#1e293b;font-size:14px;font-weight:700}.check-desc[data-v-ac8ca2f2]{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.4}.check-violating[data-v-ac8ca2f2]{background:#ef444408!important;border-color:#ef444440!important}.check-violating .check-status-icon[data-v-ac8ca2f2]{color:#ef4444!important;background:#ef44441a!important}.check-violating .check-title[data-v-ac8ca2f2]{color:#ef4444!important}.timeline[data-v-ac8ca2f2]{text-align:left;margin-top:14px;padding-left:24px;position:relative}.timeline[data-v-ac8ca2f2]:before{content:"";background:#cbd5e1;width:2px;position:absolute;top:4px;bottom:4px;left:5px}.timeline-item[data-v-ac8ca2f2]{margin-bottom:20px;position:relative}.timeline-item[data-v-ac8ca2f2]:last-child{margin-bottom:0}.timeline-badge[data-v-ac8ca2f2]{border-radius:50%;width:10px;height:10px;position:absolute;top:5px;left:-23px}.timeline-time[data-v-ac8ca2f2]{color:#64748b;text-transform:uppercase;font-size:10px;font-weight:700}.timeline-title[data-v-ac8ca2f2]{margin-top:2px;font-size:13.5px;font-weight:700}.timeline-desc[data-v-ac8ca2f2]{color:var(--text-secondary);margin-top:3px;font-size:12px;line-height:1.4}.no-infractions-message[data-v-ac8ca2f2]{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 0;font-size:13px;display:flex}.profile-details[data-v-ac8ca2f2]{flex-direction:column;gap:14px;display:flex}.profile-row[data-v-ac8ca2f2]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.profile-row[data-v-ac8ca2f2]:last-child{border-bottom:none;padding-bottom:0}.profile-label[data-v-ac8ca2f2]{color:#64748b;text-transform:uppercase;font-size:12.5px;font-weight:700}.profile-val[data-v-ac8ca2f2]{color:#1e293b;text-align:right;max-width:260px;font-size:14px;font-weight:600}.trip-grid[data-v-ac8ca2f2]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.trip-metric-card[data-v-ac8ca2f2]{background:#f8fafcb3;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.metric-icon[data-v-ac8ca2f2]{width:32px;height:32px;color:var(--color-primary-light);background:#6366f10f;border-radius:6px;justify-content:center;align-items:center;display:flex}.metric-body[data-v-ac8ca2f2]{flex-direction:column;align-items:flex-start;display:flex}.metric-label[data-v-ac8ca2f2]{text-transform:uppercase;color:#64748b;letter-spacing:.05em;font-size:9px;font-weight:700}.metric-val[data-v-ac8ca2f2]{color:#1e293b;font-size:13.5px;font-weight:700}.mechanical-signals[data-v-ac8ca2f2]{flex-direction:column;gap:16px;display:flex}.signal-row[data-v-ac8ca2f2]{justify-content:space-between;align-items:center;display:flex}.signal-meta[data-v-ac8ca2f2]{align-items:center;gap:12px;display:flex}.signal-icon-wrapper[data-v-ac8ca2f2]{width:28px;height:28px;color:var(--color-primary-light);background:#6366f10f;border-radius:6px;justify-content:center;align-items:center;display:flex}.signal-label-wrap[data-v-ac8ca2f2]{flex-direction:column;align-items:flex-start;display:flex}.signal-name[data-v-ac8ca2f2]{color:#1e293b;font-size:13px;font-weight:700}.signal-status[data-v-ac8ca2f2]{color:var(--text-secondary);font-size:10px}.signal-value[data-v-ac8ca2f2]{color:#1e293b;font-size:14px;font-weight:700}.audit-table[data-v-ac8ca2f2]{width:100%}.audit-table th[data-v-ac8ca2f2]{color:var(--text-secondary);font-weight:700}.audit-table td[data-v-ac8ca2f2]{vertical-align:middle;padding:14px 12px}.row-danger[data-v-ac8ca2f2]{background:#ef444405!important}.row-warning[data-v-ac8ca2f2]{background:#f59e0b05!important}.mono[data-v-ac8ca2f2]{font-family:var(--font-mono);background:#f1f5f9;border-radius:4px;padding:2px 6px}@media (width<=1024px){.report-grid[data-v-ac8ca2f2]{grid-template-columns:1fr}}.dr-section-heading[data-v-540f941c]{text-transform:uppercase;letter-spacing:.08em;color:#4f46e5;background:linear-gradient(135deg,#4f46e50a 0%,#6366f10f 100%);border:1px solid #4f46e526;border-radius:10px;align-items:center;gap:8px;padding:14px 20px;font-size:13px;font-weight:800;display:flex}.dr-header[data-v-540f941c]{margin-top:0}.dr-card-title[data-v-540f941c]{text-transform:uppercase;color:#64748b;letter-spacing:.06em;border-bottom:1px dashed var(--border-color);align-items:center;gap:8px;margin-bottom:18px;padding-bottom:12px;font-size:15px;font-weight:800;display:flex}.report-grid[data-v-540f941c]{grid-template-columns:1fr 480px;align-items:start;gap:24px;display:grid}.report-col-left[data-v-540f941c],.report-col-right[data-v-540f941c]{flex-direction:column;gap:24px;display:flex}.safety-score-card[data-v-540f941c],.violations-checklist-card[data-v-540f941c],.infractions-log-card[data-v-540f941c],.journey-profile-card[data-v-540f941c],.trip-stats-card[data-v-540f941c],.mechanical-card[data-v-540f941c]{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.gauge-section[data-v-540f941c]{align-items:center;gap:32px;display:flex}.gauge-indicator[data-v-540f941c]{border:8px solid #e2e8f0;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:110px;height:110px;display:flex}.gauge-value[data-v-540f941c]{color:#1e293b;font-size:36px;font-weight:800;line-height:1}.gauge-max[data-v-540f941c]{color:#64748b;font-size:11px;font-weight:700}.rating-excellent[data-v-540f941c]{border-color:#0a8f34!important}.rating-good[data-v-540f941c]{border-color:#3b82f6!important}.rating-moderate[data-v-540f941c]{border-color:#ff9800!important}.rating-danger[data-v-540f941c]{border-color:#dc2626!important}.gauge-info-text[data-v-540f941c]{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.gauge-label[data-v-540f941c]{text-transform:uppercase;color:#64748b;letter-spacing:.05em;font-size:10px;font-weight:700}.gauge-rating[data-v-540f941c]{margin:2px 0 8px;font-size:18px;font-weight:800}.gauge-rating.rating-excellent[data-v-540f941c]{color:#0a8f34!important}.gauge-rating.rating-good[data-v-540f941c]{color:#3b82f6!important}.gauge-rating.rating-moderate[data-v-540f941c]{color:#ff9800!important}.gauge-rating.rating-danger[data-v-540f941c]{color:#dc2626!important}.gauge-desc[data-v-540f941c]{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.5}.dr-audit-table[data-v-540f941c]{width:100%}.dr-audit-table th[data-v-540f941c]{color:var(--text-secondary);font-weight:700}.dr-audit-table td[data-v-540f941c]{vertical-align:middle;padding:14px 12px}.dr-row-danger[data-v-540f941c]{background:#ef444405!important}.dr-row-warning[data-v-540f941c]{background:#f59e0b05!important}.dr-mono[data-v-540f941c]{font-family:var(--font-mono);background:#f1f5f9;border-radius:4px;padding:2px 6px;font-weight:700}.dr-no-infractions[data-v-540f941c]{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 0;font-size:13px;display:flex}.profile-details[data-v-540f941c]{flex-direction:column;gap:14px;display:flex}.profile-row[data-v-540f941c]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.profile-row[data-v-540f941c]:last-child{border-bottom:none;padding-bottom:0}.profile-label[data-v-540f941c]{color:#64748b;text-transform:uppercase;font-size:12.5px;font-weight:700}.profile-val[data-v-540f941c]{color:#1e293b;text-align:right;max-width:260px;font-size:14px;font-weight:600}.trip-grid[data-v-540f941c]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.trip-metric-card[data-v-540f941c]{background:#f8fafcb3;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.metric-icon[data-v-540f941c]{width:32px;height:32px;color:var(--color-primary-light);background:#6366f10f;border-radius:6px;justify-content:center;align-items:center;display:flex}.metric-body[data-v-540f941c]{flex-direction:column;align-items:flex-start;display:flex}.metric-label[data-v-540f941c]{text-transform:uppercase;color:#64748b;letter-spacing:.05em;font-size:9px;font-weight:700}.metric-val[data-v-540f941c]{color:#1e293b;font-size:13.5px;font-weight:700}.mechanical-signals[data-v-540f941c]{flex-direction:column;gap:16px;display:flex}.signal-row[data-v-540f941c]{justify-content:space-between;align-items:center;display:flex}.signal-meta[data-v-540f941c]{align-items:center;gap:12px;display:flex}.signal-icon-wrapper[data-v-540f941c]{width:28px;height:28px;color:var(--color-primary-light);background:#6366f10f;border-radius:6px;justify-content:center;align-items:center;display:flex}.signal-label-wrap[data-v-540f941c]{flex-direction:column;align-items:flex-start;display:flex}.signal-name[data-v-540f941c]{color:#1e293b;font-size:13px;font-weight:700}.signal-status[data-v-540f941c]{color:var(--text-secondary);font-size:10px}.signal-value[data-v-540f941c]{color:#1e293b;font-size:14px;font-weight:700}@media (width<=1024px){.report-grid[data-v-540f941c]{grid-template-columns:1fr}}.violations-container[data-v-540f941c]{text-align:left;flex-direction:column;gap:24px;max-width:1100px;margin:0 auto 50px;display:flex}.overview-header-card[data-v-540f941c]{background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:24px 32px;display:flex}.overview-title[data-v-540f941c]{letter-spacing:-.03em;background:linear-gradient(135deg,#0f172a 30%,#4f46e5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:26px;font-weight:800}.overview-subtitle[data-v-540f941c]{color:var(--text-secondary);margin-top:4px;font-size:14px}.bus-identity-strip[data-v-540f941c]{background:#fff;grid-template-columns:repeat(3,1fr);gap:24px;padding:18px 24px;display:grid}.identity-item[data-v-540f941c]{align-items:center;gap:14px;display:flex}.identity-icon[data-v-540f941c]{width:40px;height:40px;color:var(--color-primary-light);background:#6366f114;border-radius:10px;justify-content:center;align-items:center;display:flex}.identity-body[data-v-540f941c]{text-align:left;flex-direction:column;display:flex}.identity-label[data-v-540f941c]{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px;font-weight:700}.identity-value[data-v-540f941c]{color:var(--text-primary);margin-top:2px;font-size:15px;font-weight:700}.violations-stats-grid[data-v-540f941c]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.stat-card[data-v-540f941c]{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;align-items:center;gap:16px;padding:20px;transition:transform .2s;display:flex}.stat-card[data-v-540f941c]:hover{transform:translateY(-2px)}.stat-icon[data-v-540f941c]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon-danger[data-v-540f941c]{color:var(--color-danger);background:#ef44441f}.stat-icon-warning[data-v-540f941c]{color:var(--color-warning);background:#f59e0b1f}.stat-info-body[data-v-540f941c]{text-align:left;flex-direction:column;display:flex}.stat-val[data-v-540f941c]{color:var(--text-primary);font-size:26px;font-weight:800;line-height:1.1}.stat-lbl[data-v-540f941c]{color:var(--text-secondary);margin-top:2px;font-size:12px;font-weight:600}.stop-duration-val[data-v-540f941c]{line-height:1.2;font-size:20px!important}.timeline-wrapper[data-v-540f941c]{background:#fff;padding:30px}.empty-violations-state[data-v-540f941c]{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.success-glow-icon[data-v-540f941c]{background:#10b98114;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:20px;animation:3s ease-in-out infinite floatCheck-540f941c;display:flex;box-shadow:0 0 30px #10b98133}@keyframes floatCheck-540f941c{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.empty-violations-state h4[data-v-540f941c]{color:var(--text-primary);margin-bottom:8px;font-size:18px;font-weight:700}.empty-violations-state p[data-v-540f941c]{color:var(--text-secondary);max-width:480px;font-size:14px;line-height:1.6}.audit-table[data-v-540f941c]{width:100%}.audit-table th[data-v-540f941c]{color:var(--text-secondary);font-weight:700}.audit-table td[data-v-540f941c]{vertical-align:top;padding:16px 14px}.mono-badge[data-v-540f941c]{font-family:var(--font-mono);color:var(--color-primary-light);background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-block}.type-badge-container[data-v-540f941c]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:8px;padding:4px 10px 4px 6px;display:inline-flex}.type-icon-wrap[data-v-540f941c]{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.type-icon-wrap.speeding[data-v-540f941c]{color:var(--color-danger);background:#ef44441a}.type-icon-wrap.idling[data-v-540f941c]{color:var(--color-warning);background:#f59e0b1a}.type-icon-wrap.tampering[data-v-540f941c]{color:var(--color-danger);background:#ef44441a}.type-icon-wrap.satellites[data-v-540f941c]{color:var(--color-warning);background:#f59e0b1a}.type-name[data-v-540f941c]{text-transform:capitalize;color:var(--text-primary);font-size:12px;font-weight:700}.details-main[data-v-540f941c]{text-align:left}.violation-title[data-v-540f941c]{color:var(--text-primary);font-size:14px;font-weight:700}.violation-description[data-v-540f941c]{color:var(--text-secondary);max-width:460px;margin-top:4px;font-size:12.5px;line-height:1.5}.location-audit-cell[data-v-540f941c]{flex-direction:column;align-items:flex-start;display:flex}.location-coords[data-v-540f941c]{color:var(--text-secondary);align-items:center;gap:5px;display:flex}.btn-reveal-table[data-v-540f941c]{color:var(--color-primary-light);cursor:pointer;background:#6366f10f;border:1px solid #6366f126;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.btn-reveal-table[data-v-540f941c]:hover{background:var(--color-primary-light);color:#fff;border-color:var(--color-primary-light)}.btn-reveal-table[data-v-540f941c]:disabled{opacity:.6;cursor:not-allowed}.resolved-place-name[data-v-540f941c]{color:var(--color-primary-light);text-align:left;word-wrap:break-word;white-space:normal;background:#6366f10d;border:1px dashed #6366f133;border-radius:4px;max-width:200px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.btn-spinner[data-v-540f941c]{border:1.5px solid #6366f133;border-top-color:var(--color-primary-light);border-radius:50%;width:10px;height:10px;animation:.6s linear infinite spin-540f941c;display:inline-block}.detail-back-header[data-v-540f941c]{justify-content:space-between;align-items:center;margin-top:10px;margin-bottom:24px;display:flex}.btn-back[data-v-540f941c]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-back[data-v-540f941c]:hover{color:#1e293b;background:#f8fafc;border-color:#94a3b8}.header-plate-badge[data-v-540f941c]{color:#1e293b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:6px 16px;font-size:18px;font-weight:800}.telemetry-loading-state[data-v-540f941c]{color:var(--text-secondary);justify-content:center;align-items:center;gap:12px;padding:80px 0;font-size:15px;display:flex}.search-spinner[data-v-540f941c]{border:2px solid #0000001a;border-top-color:#3b82f6;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin-540f941c;display:inline-block}@keyframes spin-540f941c{to{transform:rotate(360deg)}}@media (width<=768px){.overview-header-card[data-v-540f941c]{flex-direction:column;align-items:flex-start;padding:20px}.bus-identity-strip[data-v-540f941c]{grid-template-columns:1fr;gap:16px}.violations-stats-grid[data-v-540f941c]{grid-template-columns:1fr}.timeline-content-header[data-v-540f941c]{flex-direction:column;align-items:flex-start;gap:4px}.timeline-event-time[data-v-540f941c]{align-self:flex-end}}.btn-more-details[data-v-540f941c]{color:#3b82f6;cursor:pointer;z-index:10;background:#3b82f614;border:1px solid #3b82f633;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .2s;display:flex;position:absolute;top:10px;right:10px}.btn-more-details[data-v-540f941c]:hover{color:#fff;background:#3b82f6;border-color:#3b82f6;transform:scale(1.1);box-shadow:0 2px 6px #3b82f64d}.audit-table-card[data-v-540f941c]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.violations-dash-table[data-v-540f941c]{border-collapse:collapse;text-align:left;width:100%}.violations-dash-table th[data-v-540f941c]{color:#1e293b;letter-spacing:.08em;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 20px;font-size:12px;font-weight:900}.violations-dash-table td[data-v-540f941c]{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 20px;font-size:13px}.violations-dash-table tr:hover td[data-v-540f941c]{background:#f8fafc}.vt-col-time[data-v-540f941c]{white-space:nowrap;color:#475569;font-weight:500;font-size:12.5px!important}.vt-title[data-v-540f941c]{color:#1e293b;margin-bottom:2px;font-size:13px;font-weight:700}.vt-value[data-v-540f941c]{color:#64748b;font-size:12px;font-weight:600}.vt-col-location[data-v-540f941c]{min-width:160px}.vt-coords[data-v-540f941c]{color:#64748b;font-family:Courier New,monospace;font-size:11.5px;font-weight:600}.vt-place-resolved[data-v-540f941c]{color:#4f46e5;word-wrap:break-word;white-space:normal;background:#6366f10d;border:1px dashed #6366f133;border-radius:4px;max-width:200px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.vt-btn-reveal[data-v-540f941c]{color:#4f46e5;cursor:pointer;background:#6366f10f;border:1px solid #6366f126;border-radius:4px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.vt-btn-reveal[data-v-540f941c]:hover{color:#fff;background:#4f46e5;border-color:#4f46e5}.vt-btn-reveal[data-v-540f941c]:disabled{opacity:.6;cursor:not-allowed}.vt-spinner[data-v-540f941c]{border:1.5px solid #6366f133;border-top-color:#4f46e5;border-radius:50%;width:10px;height:10px;animation:.6s linear infinite spin-540f941c;display:inline-block}.vt-no-gps[data-v-540f941c]{color:#94a3b8;font-size:12px;font-style:italic}.vt-empty-row[data-v-540f941c]{text-align:center;background:#fff!important;border-bottom:none!important;padding:60px 24px!important}.vt-empty-row[data-v-540f941c]>*{pointer-events:none}.violations-container[data-v-f6fd39a1]{text-align:left;flex-direction:column;gap:24px;max-width:1200px;margin:0 auto 50px;display:flex}.overview-header-card[data-v-f6fd39a1]{background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:24px 32px;display:flex}.overview-title[data-v-f6fd39a1]{letter-spacing:-.03em;background:linear-gradient(135deg,#0f172a 30%,#4f46e5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:26px;font-weight:800}.overview-subtitle[data-v-f6fd39a1]{color:var(--text-secondary);margin-top:4px;font-size:14px}.filters-panel[data-v-f6fd39a1]{background:#fff;padding:20px 24px}.search-input-wrap[data-v-f6fd39a1]{align-items:center;width:100%;display:flex;position:relative}.search-input[data-v-f6fd39a1]{color:#1e293b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:12px 16px 12px 42px;font-size:14.5px;transition:all .2s;box-shadow:inset 0 1px 2px #00000005}.search-input[data-v-f6fd39a1]:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a,inset 0 1px 2px #00000005}.search-icon-inside[data-v-f6fd39a1]{color:#94a3b8;pointer-events:none;align-items:center;transition:color .2s;display:flex;position:absolute;left:14px}.search-input:focus+.search-icon-inside[data-v-f6fd39a1]{color:#4f46e5}.search-clear-btn[data-v-f6fd39a1]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;font-size:20px;line-height:1;transition:all .15s;display:flex;position:absolute;right:14px}.search-clear-btn[data-v-f6fd39a1]:hover{color:#ef4444;background:#ef44440d}.audit-table-card[data-v-f6fd39a1]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.audit-table-header[data-v-f6fd39a1]{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.violations-count-badge[data-v-f6fd39a1]{border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.count-danger[data-v-f6fd39a1]{color:#dc2626;background:#ef444414}.count-success[data-v-f6fd39a1]{color:#059669;background:#10b98114}.violations-dash-table[data-v-f6fd39a1]{border-collapse:collapse;text-align:left;width:100%}.violations-dash-table th[data-v-f6fd39a1]{color:#1e293b;letter-spacing:.08em;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 20px;font-size:12px;font-weight:900}.violations-dash-table td[data-v-f6fd39a1]{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 20px;font-size:13px}.violations-dash-table tr:hover td[data-v-f6fd39a1]{background:#f8fafc}.vt-col-time[data-v-f6fd39a1]{white-space:nowrap;color:#475569;font-weight:500;font-size:12.5px!important}.vt-col-plate[data-v-f6fd39a1]{white-space:nowrap}.btn-summary-top[data-v-f6fd39a1]{color:#4f46e5;cursor:pointer;background:#4f46e514;border:1px solid #4f46e533;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.btn-summary-top[data-v-f6fd39a1]:hover{color:#fff;background:#4f46e5;border-color:#4f46e5;box-shadow:0 4px 10px #4f46e533}.vt-plate-badge[data-v-f6fd39a1]{color:#334155;-webkit-user-select:none;user-select:none;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:4px 10px;font-family:Courier New,monospace;font-size:13px;font-weight:700;display:inline-block}.vt-col-actions[data-v-f6fd39a1]{text-align:center;white-space:nowrap;width:110px}.vt-action-btn[data-v-f6fd39a1]{color:#4f46e5;cursor:pointer;background:#4f46e50f;border:1px solid #4f46e526;border-radius:4px;align-items:center;gap:4px;padding:6px 8px;font-size:11px;font-weight:700;transition:all .2s;display:inline-flex}.vt-action-btn[data-v-f6fd39a1]:hover{color:#fff;background:#4f46e5;border-color:#4f46e5;box-shadow:0 2px 6px #4f46e533}.vt-type-chip[data-v-f6fd39a1]{text-transform:capitalize;white-space:nowrap;border:1px solid;border-radius:20px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:12px;font-weight:700;display:inline-flex}.chip-speeding[data-v-f6fd39a1]{color:#dc2626;background:#ef444414;border-color:#ef444433}.chip-idling[data-v-f6fd39a1]{color:#b45309;background:#f59e0b14;border-color:#f59e0b33}.chip-tampering[data-v-f6fd39a1]{color:#dc2626;background:#ef444414;border-color:#ef444433}.chip-satellites[data-v-f6fd39a1],.chip-braking[data-v-f6fd39a1],.chip-acceleration[data-v-f6fd39a1]{color:#b45309;background:#f59e0b14;border-color:#f59e0b33}.chip-cornering[data-v-f6fd39a1]{color:#dc2626;background:#ef444414;border-color:#ef444433}.vt-severity-pill[data-v-f6fd39a1]{text-align:center;color:#fff;text-transform:capitalize;letter-spacing:.02em;border-radius:6px;width:80px;padding:5px 0;font-size:12px;font-weight:700;display:inline-block}.severity-danger[data-v-f6fd39a1]{background:#dc2626}.severity-warning[data-v-f6fd39a1]{background:#e67e22}.vt-title[data-v-f6fd39a1]{color:#1e293b;margin-bottom:2px;font-size:13px;font-weight:700}.vt-value[data-v-f6fd39a1]{color:#64748b;font-size:12px;font-weight:600}.vt-col-location[data-v-f6fd39a1]{min-width:160px}.vt-coords[data-v-f6fd39a1]{color:#64748b;font-family:Courier New,monospace;font-size:11.5px;font-weight:600}.vt-place-resolved[data-v-f6fd39a1]{color:#4f46e5;word-wrap:break-word;white-space:normal;background:#6366f10d;border:1px dashed #6366f133;border-radius:4px;max-width:200px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.vt-btn-reveal[data-v-f6fd39a1]{color:#4f46e5;cursor:pointer;background:#6366f10f;border:1px solid #6366f126;border-radius:4px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.vt-btn-reveal[data-v-f6fd39a1]:hover{color:#fff;background:#4f46e5;border-color:#4f46e5}.vt-btn-reveal[data-v-f6fd39a1]:disabled{opacity:.6;cursor:not-allowed}.vt-spinner[data-v-f6fd39a1]{border:1.5px solid #6366f133;border-top-color:#4f46e5;border-radius:50%;width:10px;height:10px;animation:.6s linear infinite spin-f6fd39a1;display:inline-block}.vt-no-gps[data-v-f6fd39a1]{color:#94a3b8;font-size:12px;font-style:italic}.vt-empty-row[data-v-f6fd39a1]{text-align:center;background:#fff!important;border-bottom:none!important;padding:60px 24px!important}.vt-empty-row[data-v-f6fd39a1]>*{pointer-events:none}.vt-pagination-footer[data-v-f6fd39a1]{background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.vt-pagination-info[data-v-f6fd39a1]{color:#475569;font-size:13px;font-weight:500}.vt-pagination-controls[data-v-f6fd39a1]{align-items:center;gap:6px;display:flex}.vt-pages-row[data-v-f6fd39a1]{align-items:center;gap:4px;display:flex}.vt-page-ellipsis[data-v-f6fd39a1]{color:#64748b;-webkit-user-select:none;user-select:none;padding:0 4px;font-size:14px;font-weight:700}.vt-page-btn[data-v-f6fd39a1]{color:#334155;cursor:pointer;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:32px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .15s}.vt-page-btn[data-v-f6fd39a1]:hover:not(:disabled){color:#1e293b;background:#f1f5f9;border-color:#94a3b8}.vt-page-btn[data-v-f6fd39a1]:disabled{opacity:.4;cursor:not-allowed}.vt-page-active[data-v-f6fd39a1]{color:#fff!important;background:#3b82f6!important;border-color:#3b82f6!important}.success-glow-icon[data-v-f6fd39a1]{background:#10b98114;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin:0 auto 16px;animation:3s ease-in-out infinite floatCheck-f6fd39a1;display:flex;box-shadow:0 0 30px #10b98133}@keyframes floatCheck-f6fd39a1{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.detail-back-header[data-v-f6fd39a1]{justify-content:space-between;align-items:center;margin-top:10px;margin-bottom:24px;display:flex}.btn-back[data-v-f6fd39a1]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-back[data-v-f6fd39a1]:hover{color:#1e293b;background:#f8fafc;border-color:#94a3b8}.telemetry-loading-state[data-v-f6fd39a1]{color:var(--text-secondary);justify-content:center;align-items:center;gap:12px;padding:80px 0;font-size:15px;display:flex}.search-spinner[data-v-f6fd39a1]{border:2px solid #0000001a;border-top-color:#3b82f6;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin-f6fd39a1;display:inline-block}@keyframes spin-f6fd39a1{to{transform:rotate(360deg)}}@media (width<=768px){.overview-header-card[data-v-f6fd39a1]{flex-direction:column;align-items:flex-start;padding:20px}}.detail-back-header[data-v-b1f3753a]{justify-content:space-between;align-items:center;margin-top:10px;margin-bottom:24px;display:flex}.btn-back[data-v-b1f3753a]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-back[data-v-b1f3753a]:hover{color:#1e293b;background:#f8fafc;border-color:#94a3b8}.header-plate-badge[data-v-b1f3753a]{color:#1e293b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:6px 16px;font-size:18px;font-weight:800}.telemetry-loading-state[data-v-b1f3753a]{color:#475569;justify-content:center;align-items:center;gap:12px;padding:80px 0;font-size:15px;display:flex}.search-spinner[data-v-b1f3753a]{border:2px solid #0000001a;border-top-color:#3b82f6;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin-b1f3753a;display:inline-block}@keyframes spin-b1f3753a{to{transform:rotate(360deg)}}.overview-header-card[data-v-b1f3753a]{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px;display:flex}.overview-title[data-v-b1f3753a]{color:#0f172a;margin-bottom:4px;font-size:22px;font-weight:800}.overview-subtitle[data-v-b1f3753a]{color:#64748b;margin:0;font-size:13.5px}.btn-refresh-logs[data-v-b1f3753a]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-refresh-logs[data-v-b1f3753a]:hover{background:#f8fafc;border-color:#94a3b8}.spinning[data-v-b1f3753a]{animation:1s linear infinite spin-b1f3753a}.trip-container[data-v-b1f3753a]{flex-direction:column;gap:8px;margin-bottom:40px;display:flex}.trip-grid[data-v-b1f3753a]{grid-template-columns:1fr;align-items:stretch;gap:24px;display:grid}.trip-sidebar[data-v-b1f3753a]{flex-direction:column;gap:16px;display:flex}.sidebar-title[data-v-b1f3753a]{text-transform:uppercase;color:#64748b;letter-spacing:.06em;text-align:left;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:800;display:flex}.trips-list[data-v-b1f3753a]{flex-direction:column;gap:12px;max-height:700px;display:flex;overflow-y:auto}.trip-itemcard[data-v-b1f3753a]{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;transition:all .2s}.trip-itemcard[data-v-b1f3753a]:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 12px #0000000a}.trip-item-active[data-v-b1f3753a]{background:#f0f9ff!important;border-color:#0ea5e9!important;box-shadow:0 0 12px #0ea5e91f!important}.trip-item-header[data-v-b1f3753a]{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.trip-route-name[data-v-b1f3753a]{color:#1e293b;font-size:13.5px;font-weight:700;line-height:1.3}.trip-item-details[data-v-b1f3753a]{flex-direction:column;gap:6px;display:flex}.trip-detail-row[data-v-b1f3753a]{color:#64748b;align-items:center;gap:6px;font-size:12px;display:flex}.status-badge[data-v-b1f3753a]{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700;color:#fff!important}.status-scheduled[data-v-b1f3753a]{background:#64748b}.status-in-progress[data-v-b1f3753a]{background:#3b82f6}.status-completed[data-v-b1f3753a]{background:#10b981}.status-cancelled[data-v-b1f3753a]{background:#ef4444}.large-badge[data-v-b1f3753a]{border-radius:6px;padding:6px 12px;font-size:12px}.trip-details-view[data-v-b1f3753a]{min-height:500px}.timeline-container[data-v-b1f3753a]{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:28px}.active-trip-header[data-v-b1f3753a]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}.active-route-title[data-v-b1f3753a]{color:#0f172a;margin:0 0 6px;font-size:18px;font-weight:800}.active-route-sub[data-v-b1f3753a]{color:#64748b;margin:0;font-size:13px;font-weight:500}.timeline-section-title[data-v-b1f3753a]{text-transform:uppercase;color:#94a3b8;letter-spacing:.08em;margin-bottom:24px;font-size:11px;font-weight:700}.timeline-list[data-v-b1f3753a]{flex-direction:column;display:flex;position:relative}.timeline-item[data-v-b1f3753a]{gap:24px;padding-bottom:32px;display:flex;position:relative}.timeline-item[data-v-b1f3753a]:last-child{padding-bottom:0}.timeline-line[data-v-b1f3753a]{background:#e2e8f0;width:2px;position:absolute;top:24px;bottom:0;left:12px}.timeline-node[data-v-b1f3753a]{z-index:10;color:#94a3b8;background:#fff;border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:all .25s;display:flex;position:relative}.node-icon[data-v-b1f3753a]{background:#94a3b8;border-radius:50%;width:8px;height:8px;transition:all .25s}.timeline-content[data-v-b1f3753a]{background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;flex:1;padding:16px 20px;transition:all .25s}.stop-departed .timeline-node[data-v-b1f3753a]{color:#10b981;background:#ecfdf5;border-color:#10b981}.stop-departed .node-icon[data-v-b1f3753a]{background:#10b981;box-shadow:0 0 8px #10b98166}.stop-departed .timeline-content[data-v-b1f3753a]{background:#10b98105;border-color:#10b98126}.stop-departed .stop-status-pill[data-v-b1f3753a]{color:#047857;background:#10b9811f}.stop-arrived .timeline-node[data-v-b1f3753a]{color:#3b82f6;background:#eff6ff;border-color:#3b82f6;animation:2s infinite pulseNode-b1f3753a}.stop-arrived .node-icon[data-v-b1f3753a]{background:#3b82f6;box-shadow:0 0 10px #3b82f699}.stop-arrived .timeline-content[data-v-b1f3753a]{background:#3b82f605;border-color:#3b82f633;box-shadow:0 4px 12px #3b82f60a}.stop-arrived .stop-status-pill[data-v-b1f3753a]{color:#fff;background:#3b82f6}@keyframes pulseNode-b1f3753a{0%{box-shadow:0 0 #3b82f666}70%{box-shadow:0 0 0 8px #3b82f600}to{box-shadow:0 0 #3b82f600}}.stop-pending .timeline-node[data-v-b1f3753a]{color:#cbd5e1;border-color:#cbd5e1}.stop-pending .node-icon[data-v-b1f3753a]{background:#cbd5e1}.stop-pending .stop-status-pill[data-v-b1f3753a]{color:#64748b;background:#f1f5f9}.stop-skipped .timeline-node[data-v-b1f3753a]{color:#eab308;background:#fef9c3;border-color:#eab308}.stop-skipped .node-icon[data-v-b1f3753a]{background:#eab308}.stop-skipped .timeline-content[data-v-b1f3753a]{background:#eab30805;border-color:#eab30833}.stop-skipped .stop-status-pill[data-v-b1f3753a]{color:#854d0e;background:#eab30826}.stop-header-row[data-v-b1f3753a]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stop-name-wrapper[data-v-b1f3753a]{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.stop-index[data-v-b1f3753a]{text-transform:uppercase;color:#94a3b8;letter-spacing:.04em;margin-bottom:2px;font-size:10px;font-weight:700}.stop-name[data-v-b1f3753a]{color:#1e293b;margin:0;font-size:14.5px;font-weight:800}.stop-status-pill[data-v-b1f3753a]{text-transform:uppercase;border-radius:6px;padding:4px 10px;font-size:10.5px;font-weight:700}.stop-time-details[data-v-b1f3753a]{border-top:1px dashed #e2e8f0;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;padding-top:12px;display:grid}.time-item[data-v-b1f3753a]{flex-direction:column;align-items:flex-start;display:flex}.time-label[data-v-b1f3753a]{text-transform:uppercase;color:#94a3b8;letter-spacing:.04em;margin-bottom:2px;font-size:10px;font-weight:700}.time-value[data-v-b1f3753a]{color:#334155;font-size:13px;font-weight:600}.arrived-time[data-v-b1f3753a]{color:#2563eb}.departed-time[data-v-b1f3753a]{color:#10b981}.no-trips-card[data-v-b1f3753a],.no-stops-message[data-v-b1f3753a]{text-align:center;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:48px}.no-trips-card h3[data-v-b1f3753a]{color:#1e293b;margin:0 0 6px;font-size:16px;font-weight:700}.no-trips-card p[data-v-b1f3753a]{color:#64748b;margin:0;font-size:13.5px}.no-stops-message[data-v-b1f3753a]{border:none;padding:32px 0}.active-route-sub-grid[data-v-b1f3753a]{flex-wrap:wrap;gap:24px;margin-top:8px;display:flex}.sub-item[data-v-b1f3753a]{flex-direction:column;align-items:flex-start;display:flex}.sub-label[data-v-b1f3753a]{text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;margin-bottom:2px;font-size:10px;font-weight:700}.sub-val[data-v-b1f3753a]{color:#334155;font-size:13.5px;font-weight:700}.highlight-eta[data-v-b1f3753a]{color:#3b82f6;text-shadow:0 0 8px #3b82f61a}.delay-text[data-v-b1f3753a]{color:#ef4444;text-shadow:0 0 8px #ef44441a}.ontime-text[data-v-b1f3753a]{color:#10b981}.stay-duration[data-v-b1f3753a]{color:#f59e0b;font-weight:700}.violations-card[data-v-b1f3753a]{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:28px}.violations-header[data-v-b1f3753a]{border-bottom:1px dashed #cbd5e1;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.audit-table-card[data-v-b1f3753a]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.table-responsive[data-v-b1f3753a]{overflow-x:auto}.violations-dash-table[data-v-b1f3753a]{border-collapse:collapse;text-align:left;width:100%}.violations-dash-table th[data-v-b1f3753a]{color:#1e293b;letter-spacing:.08em;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 20px;font-size:12px;font-weight:900}.violations-dash-table td[data-v-b1f3753a]{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 20px;font-size:13px}.violations-dash-table tr:hover td[data-v-b1f3753a]{background:#f8fafc}.vt-col-time[data-v-b1f3753a]{white-space:nowrap;color:#475569;font-weight:500;font-size:12.5px!important}.vt-type-chip[data-v-b1f3753a]{text-transform:capitalize;white-space:nowrap;border:1px solid;border-radius:20px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:12px;font-weight:700;display:inline-flex}.chip-speeding[data-v-b1f3753a]{color:#dc2626;background:#ef444414;border-color:#ef444433}.chip-idling[data-v-b1f3753a]{color:#b45309;background:#f59e0b14;border-color:#f59e0b33}.chip-tampering[data-v-b1f3753a]{color:#dc2626;background:#ef444414;border-color:#ef444433}.chip-satellites[data-v-b1f3753a],.chip-braking[data-v-b1f3753a],.chip-acceleration[data-v-b1f3753a]{color:#b45309;background:#f59e0b14;border-color:#f59e0b33}.chip-cornering[data-v-b1f3753a]{color:#dc2626;background:#ef444414;border-color:#ef444433}.vt-severity-pill[data-v-b1f3753a]{text-align:center;color:#fff;text-transform:capitalize;letter-spacing:.02em;border-radius:6px;width:80px;padding:5px 0;font-size:12px;font-weight:700;display:inline-block}.severity-danger[data-v-b1f3753a]{background:#dc2626}.severity-warning[data-v-b1f3753a]{background:#e67e22}.vt-title[data-v-b1f3753a]{color:#1e293b;margin-bottom:2px;font-size:13px;font-weight:700}.vt-value[data-v-b1f3753a]{color:#64748b;font-size:12px;font-weight:600}.vt-col-location[data-v-b1f3753a]{min-width:160px}.vt-coords[data-v-b1f3753a]{color:#64748b;font-family:Courier New,monospace;font-size:11.5px;font-weight:600}.vt-place-resolved[data-v-b1f3753a]{color:#4f46e5;word-wrap:break-word;white-space:normal;background:#6366f10d;border:1px dashed #6366f133;border-radius:4px;max-width:200px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.vt-btn-reveal[data-v-b1f3753a]{color:#4f46e5;cursor:pointer;background:#6366f10f;border:1px solid #6366f126;border-radius:4px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.vt-btn-reveal[data-v-b1f3753a]:hover{color:#fff;background:#4f46e5;border-color:#4f46e5}.vt-btn-reveal[data-v-b1f3753a]:disabled{opacity:.6;cursor:not-allowed}.vt-spinner[data-v-b1f3753a]{border:1.5px solid #6366f133;border-top-color:#4f46e5;border-radius:50%;width:10px;height:10px;animation:.6s linear infinite spin-b1f3753a;display:inline-block}.vt-no-gps[data-v-b1f3753a]{color:#94a3b8;font-size:12px;font-style:italic}.perfect-trip-box[data-v-b1f3753a]{text-align:center;color:#64748b;padding:32px 0}.perfect-trip-box h4[data-v-b1f3753a]{color:#1e293b;margin:0 0 4px;font-size:15px;font-weight:700}.perfect-trip-box p[data-v-b1f3753a]{color:#64748b;margin:0;font-size:13px}.vt-pagination-footer[data-v-b1f3753a]{background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.vt-pagination-info[data-v-b1f3753a]{color:#475569;font-size:13px;font-weight:500}.vt-pagination-controls[data-v-b1f3753a]{align-items:center;gap:6px;display:flex}.vt-pages-row[data-v-b1f3753a]{align-items:center;gap:4px;display:flex}.vt-page-ellipsis[data-v-b1f3753a]{color:#64748b;-webkit-user-select:none;user-select:none;padding:0 4px;font-size:14px;font-weight:700}.vt-page-btn[data-v-b1f3753a]{color:#334155;cursor:pointer;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:32px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .15s}.vt-page-btn[data-v-b1f3753a]:hover:not(:disabled){color:#1e293b;background:#f1f5f9;border-color:#94a3b8}.vt-page-btn[data-v-b1f3753a]:disabled{opacity:.4;cursor:not-allowed}.vt-page-active[data-v-b1f3753a]{color:#fff!important;background:#3b82f6!important;border-color:#3b82f6!important}.station-type-badge[data-v-b1f3753a]{text-transform:uppercase;letter-spacing:.04em;border:1px solid;border-radius:4px;align-items:center;padding:2px 6px;font-size:9px;font-weight:800;line-height:1;display:inline-flex}.station-type-badge.badge-office[data-v-b1f3753a]{color:#4f46e5;background:#6366f114;border-color:#6366f133}.station-type-badge.badge-stop[data-v-b1f3753a]{color:#059669;background:#10b98114;border-color:#10b98133}.station-meta-details[data-v-b1f3753a]{flex-direction:column;gap:4px;margin-top:6px;margin-bottom:2px;display:flex}.station-meta-item[data-v-b1f3753a]{color:#64748b;font-family:Courier New,monospace;font-size:11px}.station-meta-item strong[data-v-b1f3753a]{color:#334155}.station-address[data-v-b1f3753a]{color:#475569;margin-top:2px;font-size:11.5px;font-style:italic}.node-custom-icon[data-v-b1f3753a]{flex-shrink:0}
