.page-module___8aEwW__mapCanvas{background:#edf2f7;width:100%;height:500px;min-height:240px;position:relative}.page-module___8aEwW__appShell{color:#0f172a;background:#f8fafc;min-height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.page-module___8aEwW__loginShell{place-items:center;min-height:100dvh;padding:1rem;display:grid}.page-module___8aEwW__loginCard{border:1px solid var(--line);background:var(--surface);border-radius:14px;width:min(420px,100%);padding:1.1rem;box-shadow:0 12px 28px #11203314}.page-module___8aEwW__loginCard h1{color:var(--ink);font-size:1.25rem}.page-module___8aEwW__loginCard p{color:var(--muted);margin-top:.3rem;font-size:.88rem}.page-module___8aEwW__loginForm{gap:.65rem;margin-top:.8rem;display:grid}.page-module___8aEwW__loginForm label{color:var(--ink-soft);gap:.25rem;font-size:.82rem;font-weight:600;display:grid}.page-module___8aEwW__loginForm input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;padding:.58rem .65rem;font-family:inherit;font-size:.88rem}.page-module___8aEwW__loginForm input:focus{border-color:#8db0f3;outline:none;box-shadow:0 0 0 3px #2563eb29}.page-module___8aEwW__loginForm button{color:#fff;background:#006d3c;border:1px solid #005b32;border-radius:999px;padding:.55rem .8rem;font-family:inherit;font-size:.84rem;font-weight:700}.page-module___8aEwW__loginForm button:disabled{opacity:.72}.page-module___8aEwW__loginError{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger-text);border-radius:10px;margin-top:.55rem;padding:.46rem .54rem;font-size:.8rem}.page-module___8aEwW__sidebar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#fffc;border-right:1px solid #e2e8f0cc;flex-direction:column;width:260px;padding:1.5rem 1rem;display:flex;position:fixed;top:0;bottom:0;left:0}.page-module___8aEwW__sidebarBrand{align-items:center;gap:.72rem;margin-bottom:1.3rem;padding:0 .5rem;display:flex}.page-module___8aEwW__brandIcon{color:#004021;background:#12b76a;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.78rem;font-weight:800;display:inline-flex}.page-module___8aEwW__brandTitle{color:#0f172a;letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.page-module___8aEwW__brandSubtitle{color:#64748b;text-transform:uppercase;letter-spacing:.1em;margin-top:.1rem;font-size:.7rem;font-weight:600}.page-module___8aEwW__dispatchButton{color:#fff;text-align:center;background:#006d3c;border:1px solid #005b32;border-radius:8px;margin:0 .5rem 1rem;padding:.55rem .7rem;font-size:.8rem;font-weight:700}.page-module___8aEwW__navList{flex-direction:column;gap:.15rem;display:flex}.page-module___8aEwW__navList button,.page-module___8aEwW__navLink{color:#3d4a3f;text-align:left;background:0 0;border:0;border-radius:0;padding:.65rem;font-family:inherit;font-size:.84rem;text-decoration:none;display:block}.page-module___8aEwW__navList button:hover,.page-module___8aEwW__navLink:hover{color:#006d3c;background:#eef6ec}.page-module___8aEwW__navActive{font-weight:600;box-shadow:inset 4px 0 #2563eb;color:#2563eb!important;background:#eff6ff!important}.page-module___8aEwW__logoutNav{color:#3d4a3f;text-align:left;background:0 0;border:0;border-radius:8px;margin-top:auto;padding:.65rem;font-size:.84rem}.page-module___8aEwW__logoutNav:hover{color:#006d3c;background:#eef6ec}.page-module___8aEwW__mainShell{flex-direction:column;width:calc(100% - 256px);min-height:100dvh;margin-left:256px;display:flex}.page-module___8aEwW__topbar{z-index:15;background:#fff;border-bottom:1px solid #bccabc;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;height:64px;padding:0 1.2rem;display:grid;position:sticky;top:0}.page-module___8aEwW__searchWrap{max-width:280px}.page-module___8aEwW__searchWrap input{color:#161d18;background:#eef6ec;border:1px solid #bccabc;border-radius:6px;width:100%;padding:.42rem .65rem;font-family:inherit;font-size:.82rem}.page-module___8aEwW__searchWrap input:focus{border-color:#0453cd;outline:none;box-shadow:0 0 0 2px #0453cd24}.page-module___8aEwW__topbarTitle{text-align:center;color:#006d3c;font-size:1rem;font-weight:800}.page-module___8aEwW__topbarActions{justify-self:end;gap:.4rem;display:flex}.page-module___8aEwW__topbarActions button{color:#161d18;background:#fff;border:1px solid #bccabc;border-radius:6px;padding:.35rem .6rem;font-family:inherit;font-size:.76rem;font-weight:700}.page-module___8aEwW__topbarActions button:disabled{opacity:.72}.page-module___8aEwW__dashboardCanvas{flex:1;padding:1rem 1.2rem;overflow-y:auto}.page-module___8aEwW__pageHeader{justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:.8rem;display:flex}.page-module___8aEwW__pageHeader h1{color:#161d18;font-size:1.6rem;font-weight:700}.page-module___8aEwW__pageHeader p{color:#3d4a3f;margin-top:.16rem;font-size:.9rem}.page-module___8aEwW__pageHeaderActions{gap:.4rem;display:flex}.page-module___8aEwW__pageHeaderActions button{color:#161d18;background:#fff;border:1px solid #bccabc;border-radius:6px;padding:.4rem .7rem;font-family:inherit;font-size:.78rem;font-weight:700}.page-module___8aEwW__banner{border:1px solid #bccabc;border-radius:8px;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.72rem;padding:.6rem .72rem;display:flex}.page-module___8aEwW__banner p{font-size:.82rem}.page-module___8aEwW__banner button{color:#fff;background:#006d3c;border:1px solid #005b32;border-radius:999px;padding:.38rem .65rem;font-family:inherit;font-size:.74rem;font-weight:700}.page-module___8aEwW__warnBanner{background:#fff8ea;border-color:#f2ddb2}.page-module___8aEwW__warnBanner p{color:#8d6517}.page-module___8aEwW__errorBanner{background:#fff2f2;border-color:#f2caca}.page-module___8aEwW__errorBanner p{color:#a73737}.page-module___8aEwW__successBanner{background:#f0fdf4;border-color:#bbf7d0;animation:.4s ease-out page-module___8aEwW__slideInDown}.page-module___8aEwW__successBanner p{color:#15803d;font-weight:600}@keyframes page-module___8aEwW__slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.page-module___8aEwW__kpiGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.62rem;margin-bottom:.8rem;display:grid}.page-module___8aEwW__kpiCard{background:#fff;border:1px solid #e2e8f0cc;border-radius:12px;padding:1.25rem;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.page-module___8aEwW__kpiCard:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #00000014}.page-module___8aEwW__kpiCard p{color:#3d4a3f;letter-spacing:.05em;font-size:.65rem;font-weight:700}.page-module___8aEwW__kpiCard h3{color:#0f172a;letter-spacing:-.03em;margin-top:.5rem;font-size:1.75rem;font-weight:700}.page-module___8aEwW__kpiPrimary{border-bottom:4px solid #2563eb}.page-module___8aEwW__kpiDanger{border-bottom:4px solid #ef4444}.page-module___8aEwW__kpiDanger h3{color:#ba1a1a}.page-module___8aEwW__twoColLayout{grid-template-columns:7fr 5fr;gap:.8rem;min-height:calc(100vh - 280px);display:grid}.page-module___8aEwW__leftCol,.page-module___8aEwW__rightCol{min-height:0}.page-module___8aEwW__leftCol{flex-direction:column;display:flex}.page-module___8aEwW__rightCol{flex-direction:column;gap:.8rem;display:flex}.page-module___8aEwW__panelCard{background:#fff;border:1px solid #e2e8f0cc;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.page-module___8aEwW__panelHead{background:#eef6ec;border-bottom:1px solid #dde5db;justify-content:space-between;align-items:center;padding:.62rem .85rem;display:flex}.page-module___8aEwW__panelHead h2{color:#161d18;font-size:1rem;font-weight:600}.page-module___8aEwW__panelHead button{color:#0453cd;background:0 0;border:0;font-size:.78rem;font-weight:600}.page-module___8aEwW__tableWrap{max-height:100%;overflow:auto}.page-module___8aEwW__driverTable{border-collapse:collapse;width:100%;min-width:620px}.page-module___8aEwW__driverTable th{color:#475569;letter-spacing:.05em;text-transform:uppercase;text-align:left;z-index:1;background:#f8fafc;border-bottom:1px solid #f1f5f9;padding:12px 16px;font-size:.7rem;font-weight:700;position:sticky;top:0}.page-module___8aEwW__driverTable td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:12px 16px;font-size:.875rem}.page-module___8aEwW__driverTable tbody tr{cursor:pointer}.page-module___8aEwW__driverTable tbody tr:hover{background:#eef6ec}.page-module___8aEwW__selectedRow{box-shadow:inset 4px 0 #2563eb;background:#f1f5f9!important}.page-module___8aEwW__alignRight{text-align:right!important}.page-module___8aEwW__statusChip{border-radius:4px;align-items:center;padding:.18rem .45rem;font-size:.63rem;font-weight:700;display:inline-flex}.page-module___8aEwW__statusTransit{color:#15803d;background:#dcfce7}.page-module___8aEwW__statusLive{color:#fff;background:#2563eb;animation:2s infinite page-module___8aEwW__pulse}@keyframes page-module___8aEwW__pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.page-module___8aEwW__statusIdle{color:#475569;background:#f1f5f9}.page-module___8aEwW__statusOffDuty{color:#94a3b8;background:#f1f5f9}.page-module___8aEwW__mapCard{min-height:240px;position:relative}.page-module___8aEwW__liveTag{z-index:3;color:#161d18;background:#ffffffeb;border:1px solid #bccabc;border-radius:6px;padding:.25rem .45rem;font-size:.66rem;font-weight:700;position:absolute;top:.55rem;left:.55rem}.page-module___8aEwW__routePath{fill:none;stroke:#0052cc;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.page-module___8aEwW__routeStart{fill:#fff;stroke:#006d3c;stroke-width:3px}.page-module___8aEwW__routeEndOuter{fill:#0052cc;stroke:#fff;stroke-width:3px}.page-module___8aEwW__routeEndInner{fill:#fff}.page-module___8aEwW__subPanelHead{background:#eef6ec;border-bottom:1px solid #dde5db;padding:.55rem .85rem}.page-module___8aEwW__subPanelHead h3{color:#3d4a3f;letter-spacing:.05em;text-transform:uppercase;font-size:.67rem;font-weight:700}.page-module___8aEwW__tripList{flex-direction:column;gap:.28rem;max-height:190px;padding:.55rem;display:flex;overflow:auto}.page-module___8aEwW__tripRow{border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:.6rem;padding:.48rem;display:flex}.page-module___8aEwW__tripRow:hover{background:#eef6ec}.page-module___8aEwW__tripTitle{color:#161d18;font-size:.78rem;font-weight:600}.page-module___8aEwW__tripMeta{color:#3d4a3f;margin-top:.12rem;font-size:.63rem}.page-module___8aEwW__tripStatBlock{text-align:right;color:#161d18;font-family:Consolas,monospace;font-size:.72rem}.page-module___8aEwW__tripStatus{color:#0453cd;letter-spacing:.05em;margin-top:.08rem;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:.58rem;font-weight:700}.page-module___8aEwW__safetyList{flex-direction:column;gap:.55rem;padding:.68rem .85rem .8rem;display:flex}.page-module___8aEwW__safetyTopRow{color:#161d18;justify-content:space-between;margin-bottom:.2rem;font-size:.78rem;display:flex}.page-module___8aEwW__safetyTopRow strong{color:#3d4a3f;font-family:Consolas,monospace;font-size:.75rem}.page-module___8aEwW__safetyBarTrack{background:#dde5db;border-radius:999px;height:6px;overflow:hidden}.page-module___8aEwW__safetyBarFill{border-radius:999px;height:100%}.page-module___8aEwW__safetyPrimary{background:#aa3343}.page-module___8aEwW__safetySecondary{background:#ff7380}.page-module___8aEwW__safetyTertiary{background:#eab308}.page-module___8aEwW__snapshotGrid{grid-template-columns:1fr 1fr;gap:.42rem;padding:.68rem;display:grid}.page-module___8aEwW__snapshotGrid div{background:#eef6ec;border:1px solid #dde5db;border-radius:6px;padding:.42rem .5rem}.page-module___8aEwW__snapshotGrid p{color:#3d4a3f;letter-spacing:.05em;text-transform:uppercase;font-size:.62rem;font-weight:700}.page-module___8aEwW__snapshotGrid strong{color:#161d18;margin-top:.12rem;font-size:.75rem;display:block}.page-module___8aEwW__emptyState{color:#3d4a3f;padding:.7rem .85rem;font-size:.8rem}@media (max-width:1400px){.page-module___8aEwW__kpiGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1100px){.page-module___8aEwW__sidebar{display:none}.page-module___8aEwW__mainShell{width:100%;margin-left:0}.page-module___8aEwW__twoColLayout{grid-template-columns:1fr;min-height:auto}}@media (max-width:760px){.page-module___8aEwW__dashboardCanvas{padding:.7rem}.page-module___8aEwW__topbar{grid-template-columns:1fr;height:auto;padding:.6rem .7rem}.page-module___8aEwW__topbarTitle{text-align:left}.page-module___8aEwW__topbarActions{justify-self:start}.page-module___8aEwW__pageHeader{flex-direction:column;align-items:flex-start}.page-module___8aEwW__pageHeaderActions{flex-wrap:wrap}.page-module___8aEwW__kpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-module___8aEwW__snapshotGrid{grid-template-columns:1fr}.page-module___8aEwW__banner{flex-direction:column;align-items:flex-start}}.page-module___8aEwW__miniInput{background:#fff;border:1px solid #bccabc;border-radius:6px;outline:none;width:140px;padding:.25rem .6rem;font-size:.72rem;transition:all .2s}.page-module___8aEwW__miniInput:focus{border-color:#12b76a;box-shadow:0 0 0 3px #12b76a26}.page-module___8aEwW__miniButton{color:#fff;cursor:pointer;background:linear-gradient(135deg,#12b76a 0%,#0e9355 100%);border:none;border-radius:6px;padding:.25rem .8rem;font-size:.72rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000d}.page-module___8aEwW__miniButton:hover{background:linear-gradient(135deg,#15d07b 0%,#12b76a 100%);transform:translateY(-1px);box-shadow:0 4px 12px #12b76a33}.page-module___8aEwW__miniButton:active{transform:translateY(0)}.page-module___8aEwW__topbarControls{align-items:center;gap:1rem;display:flex}.page-module___8aEwW__unifiedSearch{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;align-items:center;width:320px;padding:4px;transition:all .2s;display:flex}.page-module___8aEwW__unifiedSearch:focus-within{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.page-module___8aEwW__unifiedSearch input{color:#1e293b;background:0 0;border:none;outline:none;flex:1;padding:6px 12px;font-size:.82rem}.page-module___8aEwW__unifiedAddButton{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:6px 14px;font-size:.76rem;font-weight:700;transition:all .2s}.page-module___8aEwW__unifiedAddButton:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.page-module___8aEwW__unifiedAddButton:disabled{opacity:.5;cursor:not-allowed;background:#94a3b8}
