:root{--bg:#f4f7f9;--bg-card:#fff;--primary:#002b5c;--primary-dark:#001f3f;--accent:#f97316;--text:#1a202c;--text-secondary:#718096;--text-muted:#94a3b8;--border:#cbd5e0;--green:#2d995b;--orange:#d97706;--red:#c53030;--sidebar-width:260px;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.map-container,.playback-map-container .gm-style{border-radius:12px;width:100%;height:100%}.map-container{min-height:420px}.map-status{background:var(--bg-card);min-height:420px;color:var(--text-muted);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;display:flex}.map-status-error{color:var(--red)}.map-info-window{min-width:180px;font-size:13px;line-height:1.5}.tracking-filters{margin-bottom:16px}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.filter-grid label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.filter-grid select,.filter-grid input{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;padding:8px 10px}.layout{min-height:100vh;display:flex}.layout--collapsed{--sidebar-width:84px}.sidebar{width:var(--sidebar-width);color:#fff;z-index:100;background:linear-gradient(#001f3f 0%,#002b5c 55%,#003875 100%);flex-direction:column;transition:width .2s;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 24px #001f3f2e}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:20px 16px;display:flex;position:relative}.sidebar-brand-mark{background:linear-gradient(135deg, var(--accent), #fb923c);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:800;display:flex}.sidebar-brand-text{flex:1;min-width:0}.sidebar-brand h1{letter-spacing:-.02em;white-space:nowrap;font-size:16px;font-weight:800}.sidebar-brand span{color:#ffffff8c;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;margin-top:2px;font-size:10px;display:block}.sidebar-collapse-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.sidebar-collapse-btn:hover{background:#ffffff1f}.layout--collapsed .sidebar-brand-text,.layout--collapsed .nav-section-label,.layout--collapsed .nav-link-label,.layout--collapsed .nav-badge,.layout--collapsed .user-info,.layout--collapsed .logout-btn span{display:none}.layout--collapsed .sidebar-brand{justify-content:center;padding-inline:12px}.layout--collapsed .sidebar-collapse-btn{background:var(--primary);position:absolute;top:24px;right:-14px;box-shadow:0 2px 8px #0003}.sidebar-nav{scrollbar-width:none;-ms-overflow-style:none;flex:1;padding:12px 10px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section+.nav-section{margin-top:8px}.nav-section-label{text-transform:uppercase;letter-spacing:.1em;color:#ffffff6b;padding:8px 12px 6px;font-size:10px;font-weight:700}.nav-link{color:#ffffffc7;border-radius:12px;align-items:center;gap:12px;margin-bottom:4px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s,transform .15s;display:flex;position:relative}.nav-link:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.nav-link.active{color:#fff;box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(90deg,#f9731647,#f973161f)}.nav-link-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;display:flex}.nav-link-label{white-space:nowrap;flex:1}.nav-badge{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.sidebar-footer{border-top:1px solid #ffffff14;padding:14px 12px 16px}.user-card{background:#ffffff0d;border-radius:12px;align-items:center;gap:10px;margin-bottom:12px;padding:10px;display:flex}.user-avatar{background:#ffffff1f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:flex}.user-info{min-width:0;font-size:13px}.user-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.user-info small{color:#ffffff8c;font-size:11px}.logout-btn{color:#fff;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.logout-btn:hover{background:#ffffff1a}.main-shell{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;transition:margin-left .2s;display:flex}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:20px 32px 0;display:flex}.topbar-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:11px;font-weight:700}.topbar-title{color:var(--text);margin-top:2px;font-size:24px;font-weight:800}.topbar-live{color:var(--green);background:#e6f4ea;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:700;display:inline-flex}.topbar-live-icon{animation:1.8s ease-in-out infinite pulse-live}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.35}}.main{flex:1;padding:20px 32px 32px}.page-header{margin-bottom:24px}.page-header h2{color:var(--text);font-size:22px;font-weight:800}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:14px}.dashboard-hero{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.dashboard-hero p{color:var(--text-secondary);max-width:560px;margin-top:6px;font-size:14px}.dashboard-quick-actions{flex-wrap:wrap;gap:10px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card-link{color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block}.stat-card-link:hover{transform:translateY(-2px)}.stat-card-link:hover .stat-card{border-color:#b8c9dc;box-shadow:0 10px 28px #002b5c1a}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:16px;height:100%;padding:18px 20px}.stat-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.stat-card-icon{width:36px;height:36px;color:var(--primary);background:#002b5c0f;border-radius:10px;justify-content:center;align-items:center;display:flex}.stat-card.accent{border-left-color:var(--accent)}.stat-card.accent .stat-card-icon{color:var(--accent);background:#fff7ed}.stat-card.green{border-left-color:var(--green)}.stat-card.green .stat-card-icon{color:var(--green);background:#e6f4ea}.stat-card.orange{border-left-color:var(--orange)}.stat-card.orange .stat-card-icon{color:var(--orange);background:#fff7ed}.stat-card .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.stat-card .value{color:var(--text);margin-top:10px;font-size:28px;font-weight:800}.stat-card .hint{color:var(--text-secondary);margin-top:6px;font-size:12px}.dashboard-grid{grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:20px;display:grid}.dashboard-grid-bottom{grid-template-columns:1fr 1fr;gap:20px;display:grid}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-header h3{font-size:16px;font-weight:700}.card-link{color:var(--primary);font-size:13px;font-weight:600}.card-link:hover{color:var(--accent)}.fleet-meter{flex-direction:column;gap:14px;display:flex}.fleet-meter-row{grid-template-columns:120px 1fr 48px;align-items:center;gap:12px;font-size:13px;display:grid}.fleet-meter-bar{background:#e8edf2;border-radius:999px;height:8px;overflow:hidden}.fleet-meter-fill{border-radius:999px;height:100%;transition:width .4s}.activity-feed{flex-direction:column;display:flex}.activity-item{color:inherit;border-bottom:1px solid #e8edf2;gap:12px;padding:14px 0;text-decoration:none;transition:background .15s;display:flex}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#002b5c08;border-radius:10px;margin-inline:-12px;padding-inline:12px}.activity-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.activity-body strong{font-size:14px;display:block}.activity-body small{color:var(--text-secondary);margin-top:3px;font-size:12px;line-height:1.4;display:block}.activity-time{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:11px}.company-rank-list{flex-direction:column;gap:10px;display:flex}.company-rank-item{color:inherit;border:1px solid #e8edf2;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.company-rank-item:hover{border-color:var(--primary);transform:translate(2px)}.company-rank-index{width:28px;height:28px;color:var(--primary);background:#002b5c14;border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.company-rank-meta{flex:1;min-width:0}.company-rank-meta strong{font-size:14px;display:block}.company-rank-meta span{color:var(--text-muted);font-size:12px}.company-rank-distance{color:var(--accent);font-size:14px;font-weight:700}.empty-state{text-align:center;color:var(--text-muted);padding:28px;font-size:14px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:12px 16px;font-size:11px;font-weight:600}td{color:var(--text);border-bottom:1px solid #e8edf2;padding:14px 16px}.badge{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.active{color:var(--green);background:#e6f4ea}.badge.pending{color:var(--orange);background:#fff7ed}.badge.rejected,.badge.inactive{color:var(--red);background:#fff5f5}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-accent{background:var(--accent);color:#fff}.btn-outline{border:1px solid var(--border);color:var(--text);background:#fff}.btn-danger{background:var(--red);color:#fff}.btn-sm{padding:6px 12px;font-size:12px}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px}@media (width<=1200px){.dashboard-grid,.dashboard-grid-bottom{grid-template-columns:1fr}}@media (width<=1024px){.grid-2{grid-template-columns:1fr}.layout--collapsed{--sidebar-width:84px}.topbar,.main{padding-inline:20px}}.form-group{margin-bottom:16px}.form-group label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;padding:10px 14px}.form-group input:focus,.form-group select:focus{border-color:var(--primary);outline:none}.location-autocomplete{position:relative}.location-autocomplete input{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;padding:10px 14px}.location-autocomplete input:focus{border-color:var(--primary);outline:none}.location-autocomplete__spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:14px;height:14px;margin-top:-7px;animation:.8s linear infinite location-autocomplete-spin;position:absolute;top:50%;right:12px}@keyframes location-autocomplete-spin{to{transform:rotate(360deg)}}.location-autocomplete__list{z-index:20;border:1px solid var(--border);background:#fff;border-radius:10px;max-height:220px;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000014}.location-autocomplete__option{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;width:100%;padding:10px 14px;display:block}.location-autocomplete__option:last-child{border-bottom:none}.location-autocomplete__option:hover{background:#002b5c0f}.location-autocomplete__main{color:var(--text);font-size:14px;font-weight:600;display:block}.location-autocomplete__secondary{color:var(--text-muted,#718096);margin-top:2px;font-size:12px;display:block}.location-autocomplete__empty{z-index:20;border:1px solid var(--border);color:var(--text-muted,#718096);background:#fff;border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.4;position:absolute;top:calc(100% + 4px);left:0;right:0}.modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;padding:28px;overflow-y:auto}.modal h3{margin-bottom:20px;font-size:20px;font-weight:700}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.error-msg{border-left:3px solid var(--red);color:var(--red);background:#fff5f5;border-radius:8px;margin-bottom:16px;padding:12px;font-size:13px}.map-container{border:1px solid var(--border);border-radius:12px;height:500px;overflow:hidden}.playback-page .playback-filters{margin-bottom:20px}.playback-filter-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:end;gap:16px;display:grid}.playback-load-wrap .btn{width:100%}.playback-layout{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}.playback-map-wrap{border:1px solid var(--border);border-radius:12px;height:520px;position:relative;overflow:hidden}.playback-map-container{width:100%;height:100%}.playback-map-container,.playback-map-container>div{border-radius:0}.playback-map-overlay{pointer-events:none;z-index:500;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:12px;left:12px;right:12px}.playback-vehicle-badge{background:#fff;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:700;display:flex;box-shadow:0 2px 12px #0000001f}.playback-speed-gauge{background:#fff;border:4px solid #0891b2;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:relative;box-shadow:0 2px 12px #0000001f}.playback-speed-needle{transform-origin:bottom;background:#0891b2;border-radius:2px;width:3px;height:28px;margin-left:-1.5px;position:absolute;top:8px;left:50%}.playback-speed-value{color:#0891b2;margin-top:18px;font-size:11px;font-weight:800}.playback-truck{filter:drop-shadow(0 1px 2px #0000004d);font-size:22px;line-height:1}.playback-controls{margin-top:16px;padding:16px 20px}.playback-toolbar{align-items:center;gap:8px;margin-bottom:14px;display:flex}.playback-btn{border:1px solid var(--border);cursor:pointer;width:44px;height:44px;color:var(--text);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.playback-btn:hover{background:#f8fafc}.playback-btn.active{color:#0891b2;background:#e0f2fe;border-color:#0891b2}.playback-btn-play{background:var(--text);color:#fff;border:none;width:52px;height:52px}.playback-btn-play:hover{background:#111}.playback-btn-speed{border-radius:22px;width:auto;min-width:44px;padding:0 12px;font-size:13px;font-weight:800}.playback-slider{accent-color:#2563eb;width:100%;margin-bottom:12px}.playback-status{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.playback-status p{color:var(--text-secondary);margin-top:4px;font-size:13px}.playback-stats{color:var(--text-secondary);gap:16px;font-size:13px;font-weight:600;display:flex}.playback-events{flex-direction:column;max-height:680px;display:flex}.playback-events-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.playback-events-header h3{font-size:16px;font-weight:700}.playback-events-list{flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.playback-event-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e8edf2;border-radius:10px;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;display:flex}.playback-event-item:hover{border-color:#2563eb}.playback-event-item.active{background:#eff6ff;border-color:#2563eb}.playback-event-item strong{font-size:13px;display:block}.playback-event-item small{color:var(--text-muted);font-size:11px}.playback-event-dot{background:#6366f1;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.playback-event-dot.trip_start{background:#2d995b}.playback-event-dot.trip_end{background:#c53030}.playback-event-dot.started_moving{background:#2563eb}.playback-event-dot.stopped{background:#d97706}.playback-event-dot.idle{background:#94a3b8}.playback-event-dot.resumed{background:#0891b2}.playback-empty{text-align:center;color:var(--text-muted);padding:40px}@media (width<=1100px){.playback-layout{grid-template-columns:1fr}.playback-events{max-height:360px}}.chart-card{margin-bottom:20px}.permission-grid{grid-template-columns:repeat(2,1fr);gap:8px;max-height:300px;display:grid;overflow-y:auto}.permission-item{align-items:center;gap:8px;padding:6px;font-size:13px;display:flex}.login-page{background:linear-gradient(135deg, var(--bg) 0%, #e8edf2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{border:1px solid var(--border);background:#fff;border-radius:20px;width:100%;max-width:420px;padding:40px;box-shadow:0 8px 32px #002b5c14}.login-brand{text-align:center;margin-bottom:32px}.login-brand h1{color:var(--primary);font-size:24px;font-weight:800}.login-brand p{color:var(--text-secondary);margin-top:6px;font-size:14px}.login-brand .accent{color:var(--accent);font-weight:700}.login-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:700}.login-btn:hover{background:var(--primary-dark)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.app-launch{z-index:9999;background:linear-gradient(180deg, var(--bg) 0%, #fff 50%, var(--bg) 100%);opacity:0;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0}.app-launch--visible{opacity:1}.app-launch__grid{opacity:.35;pointer-events:none;flex-wrap:wrap;place-content:center space-evenly;gap:28px;padding:12px;display:flex;position:absolute;inset:0}.app-launch__grid-dot{background:#2563eb;border-radius:50%;width:3px;height:3px}.app-launch__content{z-index:1;text-align:center;flex-direction:column;align-items:center;padding:24px;animation:.55s ease-out both app-launch-rise;display:flex;position:relative}.app-launch__logo-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;margin-bottom:16px;padding:14px 24px;box-shadow:0 8px 20px #002b5c1a}.app-launch__logo{object-fit:contain;width:48px;height:48px;display:block}.app-launch__brand{color:var(--primary);letter-spacing:.2px;font-size:20px;font-weight:800}.app-launch__role{color:#2563eb;margin-top:6px;margin-bottom:28px;font-size:14px;font-weight:600}.app-launch__route-stage{width:min(360px,100vw - 48px);height:220px;position:relative}.app-launch__route-svg{width:100%;height:100%;animation:.7s .15s both app-launch-fade-in}.app-launch__route-path{stroke:#2563eb;stroke-width:2.5px;stroke-dasharray:8 10;stroke-linecap:round;opacity:.45}.app-launch__route-start{fill:var(--green);opacity:.8}.app-launch__route-end{fill:#2563eb;opacity:.8}.app-launch__vehicle{offset-path:path("M 32 168 Q 180 116 328 168");offset-rotate:0deg;width:36px;height:36px;animation:2.2s ease-in-out infinite app-launch-truck;position:absolute;top:0;left:0}.app-launch__vehicle-pin{background:var(--green);border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 4px 8px #2d995b59}.app-launch__vehicle-shadow{background:#002b5c26;border-radius:3px;width:20px;height:6px;margin:4px auto 0}.app-launch__loading{color:var(--text-secondary);margin-top:8px;font-size:14px;font-weight:600;animation:1.8s ease-in-out infinite app-launch-pulse}@keyframes app-launch-rise{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes app-launch-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-launch-truck{0%{offset-distance:0%}50%{offset-distance:50%}to{offset-distance:100%}}@keyframes app-launch-pulse{0%,to{opacity:.35}50%{opacity:1}}@supports not (offset-path:path("M 0 0 L 1 1")){.app-launch__vehicle{offset-path:none;animation:2.2s ease-in-out infinite app-launch-truck-fallback}@keyframes app-launch-truck-fallback{0%{top:68%;left:8%;transform:translateY(0)}50%{top:42%;left:46%;transform:translateY(-8px)}to{top:68%;left:84%;transform:translateY(0)}}}.landing-page{--navy:#1b3a7a;--blue:#2e86de;--green:#3cb845;--green2:#4caf50;--light:#f0f6ff;--white:#fff;--gray:#64748b;--border:#e2e8f0;--dark:#0d1f4c;color:#1e293b;scroll-behavior:smooth;background:#fff;font-family:Inter,sans-serif}.landing-page *,.landing-page :before,.landing-page :after{box-sizing:border-box}.landing-page nav{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#fffffff5;justify-content:space-between;align-items:center;height:68px;padding:0 5%;display:flex;position:fixed;top:0;left:0;right:0}.landing-page .nav-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.landing-page .nav-logo img{width:auto;height:40px}.landing-page .nav-logo-text{flex-direction:column;line-height:1.1;display:flex}.landing-page .nav-logo-text .brand-ars{color:var(--navy);letter-spacing:.5px;font-family:Poppins,sans-serif;font-size:15px;font-weight:800}.landing-page .nav-logo-text .brand-sub{color:var(--blue);letter-spacing:.3px;font-size:11px;font-weight:500}.landing-page .nav-links{align-items:center;gap:32px;margin:0;padding:0;list-style:none;display:flex}.landing-page .nav-links a{color:#334155;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.landing-page .nav-links a:hover{color:var(--blue)}.landing-page .nav-links .parent-link{color:var(--gray);border:1px solid var(--border);border-radius:20px;padding:5px 12px;font-size:13px;transition:all .2s}.landing-page .nav-links .parent-link:hover{border-color:var(--blue);color:var(--blue)}.landing-page .nav-right{align-items:center;gap:12px;display:flex}.landing-page .btn-signin{background:var(--navy);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 22px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-block}.landing-page .btn-signin:hover{background:var(--dark);transform:translateY(-1px)}.landing-page .hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.landing-page .hamburger span{background:var(--navy);border-radius:2px;width:24px;height:2px;display:block}.landing-page .hero{background:linear-gradient(135deg, var(--dark) 0%, var(--navy) 45%, #1a4a9e 70%, #0f3460 100%);align-items:center;min-height:100vh;padding:100px 5% 60px;display:flex;position:relative;overflow:hidden}.landing-page .hero:before{content:"";pointer-events:none;background:radial-gradient(60% 50% at 80%,#2e86de2e 0%,#0000 70%);position:absolute;inset:0}.landing-page .hero-grid{pointer-events:none;opacity:.07;background-image:linear-gradient(#fff 1px,#0000 1px),linear-gradient(90deg,#fff 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.landing-page .hero-inner{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:60px;width:100%;max-width:1200px;margin:0 auto;display:grid;position:relative}.landing-page .hero-eyebrow{color:#93c5fd;background:#ffffff1a;border:1px solid #fff3;border-radius:20px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.landing-page .hero-eyebrow .dot{background:var(--green);border-radius:50%;width:6px;height:6px;animation:2s infinite landing-pulse}@keyframes landing-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.landing-page .hero-title{color:#fff;margin-bottom:20px;font-family:Poppins,sans-serif;font-size:clamp(32px,4.5vw,54px);font-weight:800;line-height:1.12}.landing-page .hero-title .accent{color:var(--green)}.landing-page .hero-title .accent-blue{color:#60a5fa}.landing-page .hero-desc{color:#cbd5e1;max-width:480px;margin-bottom:36px;font-size:17px;line-height:1.7}.landing-page .hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.landing-page .btn-primary{background:linear-gradient(135deg, var(--green), #2d9e36);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:14px 30px;font-family:Inter,sans-serif;font-size:15px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:0 4px 20px #3cb84559}.landing-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #3cb84573}.landing-page .btn-outline-white{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #fff6;border-radius:10px;align-items:center;gap:8px;padding:13px 26px;font-family:Inter,sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.landing-page .btn-outline-white:hover{background:#ffffff1a;border-color:#ffffffb3}.landing-page .hero-stats{flex-wrap:wrap;gap:32px;margin-top:44px;display:flex}.landing-page .hero-stat .num{color:#fff;font-family:Poppins,sans-serif;font-size:28px;font-weight:800}.landing-page .hero-stat .num .unit{color:var(--green)}.landing-page .hero-stat .lbl{color:#94a3b8;margin-top:2px;font-size:13px}.landing-page .hero-visual{justify-content:center;align-items:center;display:flex;position:relative}.landing-page .phone-wrap{width:280px;position:relative}.landing-page .phone-outer{background:linear-gradient(145deg,#1e3a5f,#0d1f4c);border:2px solid #ffffff26;border-radius:40px;padding:14px;position:relative;box-shadow:0 40px 80px #00000080,0 0 0 1px #ffffff0d}.landing-page .phone-screen{background:#0f172a;border-radius:28px;height:520px;position:relative;overflow:hidden}.landing-page .phone-notch{z-index:2;background:#0d1f4c;border-radius:0 0 14px 14px;width:100px;height:22px;margin:0 auto;position:relative}.landing-page .screen-header{background:linear-gradient(135deg, var(--navy), #1a4a9e);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.landing-page .screen-logo{color:#fff;font-family:Poppins,sans-serif;font-size:11px;font-weight:800}.landing-page .screen-logo span{color:var(--green)}.landing-page .screen-status{color:#93c5fd;align-items:center;gap:4px;font-size:9px;display:flex}.landing-page .status-dot{background:var(--green);border-radius:50%;width:5px;height:5px;animation:2s infinite landing-pulse}.landing-page .screen-map{background:#162032;height:200px;position:relative;overflow:hidden}.landing-page .map-grid{background-image:linear-gradient(#2e86de1f 1px,#0000 1px),linear-gradient(90deg,#2e86de1f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.landing-page .road{background:#ffffff1f;position:absolute}.landing-page .road-h{width:100%;height:4px;top:45%}.landing-page .road-v{width:4px;height:100%;left:30%}.landing-page .road-d{background:#ffffff14;width:150%;height:3px;top:70%;left:-25%;transform:rotate(-18deg)}.landing-page .vehicle-pin{background:var(--green);width:22px;height:22px;box-shadow:0 0 10px var(--green);border-radius:50% 50% 50% 0;animation:4s ease-in-out infinite landing-vehicleMove;position:absolute;top:38%;left:28%;transform:rotate(-45deg)}.landing-page .vehicle-pin:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:4px}@keyframes landing-vehicleMove{0%{top:44%;left:10%}50%{top:38%;left:55%}to{top:44%;left:10%}}.landing-page .vehicle-pin2{background:var(--blue);width:18px;height:18px;box-shadow:0 0 8px var(--blue);border-radius:50% 50% 50% 0;animation:6s ease-in-out infinite landing-vehicleMove2;position:absolute;top:60%;left:50%;transform:rotate(-45deg)}.landing-page .vehicle-pin2:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:3px}@keyframes landing-vehicleMove2{0%{top:55%;left:50%}50%{top:70%;left:70%}to{top:55%;left:50%}}.landing-page .map-route{width:100%;height:100%;position:absolute;top:0;left:0}.landing-page .screen-body{padding:10px 12px}.landing-page .screen-section-title{color:#64748b;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;font-size:9px;font-weight:700}.landing-page .vehicle-card{background:#1e293b;border-radius:8px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.landing-page .vcard-icon{background:linear-gradient(135deg, var(--navy), var(--blue));border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;display:flex}.landing-page .vcard-info{flex:1}.landing-page .vcard-plate{color:#e2e8f0;font-size:9px;font-weight:700}.landing-page .vcard-loc{color:#64748b;margin-top:1px;font-size:8px}.landing-page .vcard-badge{border-radius:10px;padding:2px 6px;font-size:8px;font-weight:600}.landing-page .badge-moving{color:var(--green);background:#3cb84533}.landing-page .badge-idle{color:#fbbf24;background:#fbbf2433}.landing-page .float-card{color:#1e293b;background:#fffffff2;border-radius:12px;padding:10px 14px;font-size:12px;font-weight:600;position:absolute;box-shadow:0 8px 32px #0000004d}.landing-page .float-card-left{animation:3s ease-in-out infinite landing-floatY;top:30%;left:-70px}.landing-page .float-card-right{animation:3.5s ease-in-out infinite reverse landing-floatY;bottom:28%;right:-65px}@keyframes landing-floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.landing-page .float-card .fc-num{color:var(--navy);font-family:Poppins,sans-serif;font-size:20px;font-weight:800}.landing-page .float-card .fc-lbl{color:var(--gray);margin-top:1px;font-size:10px}.landing-page .float-card-right .fc-num{color:var(--green)}.landing-page .brand-bar{background:var(--light);border-bottom:1px solid var(--border);padding:20px 5%}.landing-page .brand-bar-inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:1200px;margin:0 auto;display:flex}.landing-page .brand-bar-text{color:var(--gray);font-size:13px}.landing-page .parent-badge{border:1px solid var(--border);color:var(--navy);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:7px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .2s;display:inline-flex}.landing-page .parent-badge:hover{border-color:var(--blue)}.landing-page .parent-badge img{width:auto;height:20px}.landing-page .arrow-right{color:var(--blue);font-size:16px}.landing-page .tracking-badge{background:linear-gradient(135deg, var(--navy), var(--blue));color:#fff;border-radius:8px;align-items:center;gap:8px;padding:7px 16px;font-size:13px;font-weight:600;display:inline-flex}.landing-page .section{padding:90px 5%}.landing-page .section-inner{max-width:1200px;margin:0 auto}.landing-page .section-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--blue);background:#eff6ff;border-radius:20px;margin-bottom:14px;padding:5px 14px;font-size:12px;font-weight:700;display:inline-block}.landing-page .section-title{color:var(--navy);margin-bottom:14px;font-family:Poppins,sans-serif;font-size:clamp(26px,3.5vw,40px);font-weight:800;line-height:1.2}.landing-page .section-title .accent{color:var(--green)}.landing-page .section-desc{color:var(--gray);max-width:560px;margin-bottom:50px;font-size:16px;line-height:1.7}.landing-page .features-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.landing-page .feat-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:28px 24px;transition:transform .25s,box-shadow .25s,border-color .25s}.landing-page .feat-card:hover{border-color:var(--blue);transform:translateY(-4px);box-shadow:0 16px 40px #1b3a7a1a}.landing-page .feat-icon{background:linear-gradient(135deg, var(--navy), var(--blue));border-radius:14px;justify-content:center;align-items:center;width:50px;height:50px;margin-bottom:18px;font-size:22px;display:flex}.landing-page .feat-card.green .feat-icon{background:linear-gradient(135deg, var(--green), #2d9e36)}.landing-page .feat-title{color:var(--navy);margin-bottom:8px;font-size:16px;font-weight:700}.landing-page .feat-desc{color:var(--gray);font-size:14px;line-height:1.65}.landing-page .how-section{background:linear-gradient(135deg, var(--dark) 0%, var(--navy) 100%);padding:90px 5%}.landing-page .how-inner{max-width:1200px;margin:0 auto}.landing-page .how-section .section-label{color:#93c5fd;background:#ffffff1a}.landing-page .how-section .section-title{color:#fff}.landing-page .how-section .section-desc{color:#94a3b8}.landing-page .steps-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid;position:relative}.landing-page .steps-grid:before{content:"";background:linear-gradient(90deg, var(--blue), var(--green));z-index:0;height:2px;position:absolute;top:30px;left:12.5%;right:12.5%}.landing-page .step-card{text-align:center;z-index:1;position:relative}.landing-page .step-num{background:linear-gradient(135deg, var(--blue), var(--navy));border:3px solid var(--dark);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 20px;font-family:Poppins,sans-serif;font-size:20px;font-weight:800;display:flex;box-shadow:0 0 0 6px #2e86de33}.landing-page .step-num.green{background:linear-gradient(135deg, var(--green), #2d9e36);box-shadow:0 0 0 6px #3cb84533}.landing-page .step-title{color:#fff;margin-bottom:8px;font-size:15px;font-weight:700}.landing-page .step-desc{color:#94a3b8;font-size:13px;line-height:1.6}.landing-page .app-section{background:var(--light);padding:90px 5%}.landing-page .app-inner{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1200px;margin:0 auto;display:grid}.landing-page .app-badges{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.landing-page .store-badge{background:var(--navy);color:#fff;border-radius:10px;align-items:center;gap:10px;padding:10px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.landing-page .store-badge:hover{background:var(--dark);transform:translateY(-2px)}.landing-page .store-badge .store-icon{font-size:22px}.landing-page .store-badge .store-text{flex-direction:column;line-height:1.2;display:flex}.landing-page .store-badge .store-text small{opacity:.75;font-size:10px;font-weight:400}.landing-page .app-screens{justify-content:center;align-items:flex-end;gap:16px;display:flex}.landing-page .mini-phone{background:linear-gradient(145deg,#1e3a5f,#0d1f4c);border:2px solid #ffffff1f;border-radius:24px;padding:8px;box-shadow:0 20px 50px #0000004d}.landing-page .mini-phone-screen{background:#0f172a;border-radius:18px;width:160px;height:340px;overflow:hidden}.landing-page .mini-phone.tall .mini-phone-screen{height:380px}.landing-page .mps-header{background:linear-gradient(135deg, var(--navy), #1a4a9e);text-align:center;padding:10px}.landing-page .mps-header span{color:#fff;letter-spacing:.5px;font-size:9px;font-weight:700}.landing-page .mps-map{background:#162032;height:130px;position:relative;overflow:hidden}.landing-page .mps-map .map-grid{background-size:20px 20px}.landing-page .mps-body{padding:8px}.landing-page .mps-row{background:#1e293b;border-radius:6px;align-items:center;gap:6px;margin-bottom:5px;padding:6px 8px;display:flex}.landing-page .mps-row-icon{background:linear-gradient(135deg, var(--navy), var(--blue));border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;display:flex}.landing-page .mps-row-text{color:#e2e8f0;font-size:8px;font-weight:600}.landing-page .mps-row-sub{color:#64748b;font-size:7px}.landing-page .alert-screen .mps-body{padding:10px 8px}.landing-page .alert-item{border-left:3px solid var(--green);background:#1e293b;border-radius:6px;margin-bottom:5px;padding:7px 9px}.landing-page .alert-item.warn{border-left-color:#fbbf24}.landing-page .alert-item.info{border-left-color:var(--blue)}.landing-page .alert-title{color:#e2e8f0;font-size:9px;font-weight:700}.landing-page .alert-sub{color:#64748b;margin-top:1px;font-size:8px}.landing-page .stats-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;padding:70px 5%}.landing-page .stats-inner{text-align:center;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1000px;margin:0 auto;display:grid}.landing-page .stat-item{padding:20px}.landing-page .stat-num{color:var(--navy);font-family:Poppins,sans-serif;font-size:42px;font-weight:800;line-height:1}.landing-page .stat-num .unit{color:var(--green)}.landing-page .stat-label{color:var(--gray);margin-top:6px;font-size:14px}.landing-page .testi-section{background:var(--light);padding:90px 5%}.landing-page .testi-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;display:grid}.landing-page .testi-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:28px 24px}.landing-page .testi-stars{color:#f59e0b;margin-bottom:14px;font-size:14px}.landing-page .testi-text{color:#475569;margin-bottom:20px;font-size:14px;line-height:1.7}.landing-page .testi-author{align-items:center;gap:12px;display:flex}.landing-page .testi-avatar{background:linear-gradient(135deg, var(--navy), var(--blue));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.landing-page .testi-name{color:var(--navy);font-size:14px;font-weight:700}.landing-page .testi-role{color:var(--gray);font-size:12px}.landing-page .cta-section{background:linear-gradient(135deg, var(--dark), var(--navy));text-align:center;padding:90px 5%}.landing-page .cta-title{color:#fff;margin-bottom:16px;font-family:Poppins,sans-serif;font-size:clamp(28px,4vw,46px);font-weight:800;line-height:1.2}.landing-page .cta-title .accent{color:var(--green)}.landing-page .cta-desc{color:#94a3b8;margin-bottom:36px;font-size:17px}.landing-page .cta-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.landing-page .cta-footnote{color:#475569;margin-top:24px;font-size:13px}.landing-page .cta-footnote a{color:#60a5fa;font-weight:600;text-decoration:none}.landing-page footer{background:var(--dark);color:#94a3b8;padding:60px 5% 30px}.landing-page .footer-inner{max-width:1200px;margin:0 auto}.landing-page .footer-top{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;display:grid}.landing-page .footer-brand-logo{align-items:center;gap:10px;margin-bottom:16px;display:flex}.landing-page .footer-brand-logo img{height:36px}.landing-page .footer-brand-name{color:#fff;font-family:Poppins,sans-serif;font-size:14px;font-weight:800}.landing-page .footer-brand-name span{color:var(--green)}.landing-page .footer-tagline{margin-bottom:20px;font-size:14px;line-height:1.7}.landing-page .footer-parent-link{color:#60a5fa;border:1px solid #60a5fa4d;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;text-decoration:none;transition:border-color .2s;display:inline-flex}.landing-page .footer-parent-link:hover{border-color:#60a5fa}.landing-page .footer-col h4{color:#fff;text-transform:uppercase;letter-spacing:.8px;margin-bottom:16px;font-size:13px;font-weight:700}.landing-page .footer-col ul{margin:0;padding:0;list-style:none}.landing-page .footer-col ul li{margin-bottom:10px}.landing-page .footer-col ul li a{color:#94a3b8;font-size:14px;text-decoration:none;transition:color .2s}.landing-page .footer-col ul li a:hover{color:#e2e8f0}.landing-page .footer-bottom{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:24px;display:flex}.landing-page .footer-bottom p{font-size:13px}.landing-page .footer-bottom-links{gap:20px;display:flex}.landing-page .footer-bottom-links a{color:#64748b;font-size:13px;text-decoration:none}.landing-page .footer-bottom-links a:hover{color:#94a3b8}.landing-page .modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.landing-page .modal-overlay.open{display:flex}.landing-page .modal{background:#fff;border-radius:20px;width:100%;max-width:420px;padding:40px 36px;animation:.25s landing-modalIn;position:relative;box-shadow:0 40px 80px #00000059}@keyframes landing-modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.landing-page .modal-close{cursor:pointer;color:var(--gray);background:0 0;border:none;font-size:22px;transition:color .2s;position:absolute;top:16px;right:18px}.landing-page .modal-close:hover{color:var(--navy)}.landing-page .modal-logo{align-items:center;gap:10px;margin-bottom:24px;display:flex}.landing-page .modal-logo img{height:36px}.landing-page .modal-logo-text .brand-ars{color:var(--navy);font-family:Poppins,sans-serif;font-size:14px;font-weight:800}.landing-page .modal-logo-text .brand-sub{color:var(--blue);font-size:11px}.landing-page .modal h2{color:var(--navy);margin-bottom:6px;font-family:Poppins,sans-serif;font-size:22px;font-weight:800}.landing-page .modal>p{color:var(--gray);margin-bottom:26px;font-size:14px}.landing-page .form-group{margin-bottom:18px}.landing-page .form-group label{color:#374151;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.landing-page .form-group input{border:1.5px solid var(--border);color:#1e293b;border-radius:10px;outline:none;width:100%;padding:11px 14px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s}.landing-page .form-group input:focus{border-color:var(--blue)}.landing-page .form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:13px}.landing-page .form-forgot{text-align:right;margin-top:-10px;margin-bottom:18px}.landing-page .form-forgot a{color:var(--blue);font-size:13px;text-decoration:none}.landing-page .btn-signin-modal{background:linear-gradient(135deg, var(--navy), var(--blue));color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:13px;font-family:Inter,sans-serif;font-size:15px;font-weight:700;transition:opacity .2s,transform .15s}.landing-page .btn-signin-modal:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.landing-page .btn-signin-modal:disabled{opacity:.6;cursor:not-allowed}.landing-page .modal-divider{color:var(--gray);align-items:center;gap:12px;margin:18px 0;font-size:13px;display:flex}.landing-page .modal-divider:before,.landing-page .modal-divider:after{content:"";background:var(--border);flex:1;height:1px}.landing-page .modal-footer-text{text-align:center;color:var(--gray);margin-top:14px;font-size:13px}.landing-page .modal-footer-text a{color:var(--blue);font-weight:600;text-decoration:none}.landing-page .mobile-menu{z-index:99;background:#fff;flex-direction:column;gap:6px;padding:24px 5%;display:none;position:fixed;inset:68px 0 0}.landing-page .mobile-menu.open{display:flex}.landing-page .mobile-menu a{border-bottom:1px solid var(--border);color:#334155;padding:14px 0;font-size:15px;font-weight:500;text-decoration:none}.landing-page .mobile-menu .btn-signin{text-align:center;margin-top:14px}@media (width<=1024px){.landing-page .features-grid,.landing-page .steps-grid{grid-template-columns:repeat(2,1fr)}.landing-page .steps-grid:before{display:none}.landing-page .footer-top{grid-template-columns:1fr 1fr}}@media (width<=768px){.landing-page .hero-inner{text-align:center;grid-template-columns:1fr}.landing-page .hero-desc{margin-left:auto;margin-right:auto}.landing-page .hero-actions,.landing-page .hero-stats{justify-content:center}.landing-page .hero-visual{margin-top:20px}.landing-page .float-card-left{left:-20px}.landing-page .float-card-right{right:-20px}.landing-page .features-grid{grid-template-columns:1fr}.landing-page .steps-grid{grid-template-columns:1fr 1fr}.landing-page .app-inner{grid-template-columns:1fr}.landing-page .stats-inner{grid-template-columns:repeat(2,1fr)}.landing-page .testi-grid,.landing-page .footer-top{grid-template-columns:1fr}.landing-page .footer-bottom{text-align:center;flex-direction:column}.landing-page .nav-links{display:none}.landing-page .hamburger{display:flex}}@media (width<=480px){.landing-page .steps-grid{grid-template-columns:1fr}.landing-page .stats-inner{grid-template-columns:repeat(2,1fr)}}
