:root{font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;line-height:1.45;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--tm-accent-text, #146140);text-decoration:none}a:hover{color:var(--tm-accent-hover, #115e3c)}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:1.5rem;line-height:1.2}button{border-radius:6px;border:1px solid transparent;padding:.5em 1em;font-size:1em;font-weight:500;font-family:inherit;color:inherit;background-color:transparent;cursor:pointer}button:disabled{cursor:not-allowed}input,select,textarea{font-family:inherit}html,body,#root{height:100%;margin:0}.map-container{width:100%;height:100%}.login-page{display:flex;align-items:center;justify-content:center;height:100%;background:#f5f5f5}.login-form{display:flex;flex-direction:column;gap:.75rem;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a;width:300px}.login-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.login-form input{padding:.5rem;font-size:1rem}.login-form button{margin-top:.5rem;padding:.6rem;cursor:pointer}.login-form .error{color:#c0392b;margin:0}.live-map-page{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#222;color:#fff}.live-connection-status{font-size:.85rem;padding:.2rem .6rem;border-radius:4px;background:#b45309;color:#fff}.live-connection-status--disconnected{background:#b91c1c}.map-body{display:flex;flex:1;min-height:0}.map-container{flex:1;position:relative}.filter-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#f5f5f5;border-bottom:1px solid #ddd;flex-wrap:wrap}.filter-bar select,.filter-bar input{padding:.4rem;font-size:.9rem}.filter-bar .trip-id-input{width:100px}.trip-results-list{width:320px;flex-shrink:0;min-height:0;overflow-y:auto;overflow-x:hidden;background:#fff;border-left:1px solid #ddd}.trip-results-header{padding:.75rem 1rem .5rem;font-size:.85rem;color:#666;border-bottom:1px solid #eee}.trip-results-empty{padding:1rem;color:#888;font-size:.9rem}.trip-results-list ul{list-style:none;margin:0;padding:0}.trip-results-list li{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;padding:.6rem 1rem;border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:.85rem}.trip-results-list li:hover{background:#f5f5f5}.trip-results-list li.selected{background:#e8f0fe}.trip-results-list .truck{font-weight:600;flex:1}.trip-color-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.live-dot{width:8px;height:8px;border-radius:50%;background:#2ecc71;flex-shrink:0;animation:live-pulse 1.5s ease-in-out infinite}.trip-flag-badge{font-size:.75em;font-weight:600;color:#e6194b;border:1px solid #e6194B;border-radius:4px;padding:1px 4px;flex-shrink:0}.freshness-badge{font-size:.75em;color:#666;flex-shrink:0}.freshness-badge.stale{color:#e6194b;font-weight:600}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}.trip-results-list .challan{color:#666}.trip-details-and-replay{display:flex;flex-direction:column;flex-shrink:0;min-height:0;background:#fff}.map-legend,.map-legend-toggle{position:absolute;left:10px;bottom:18px;z-index:10;border:1px solid rgba(148,163,184,.25);border-radius:8px;background:#ffffff9e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#1f2937;box-shadow:0 4px 20px #0f172a1f}.map-legend{width:min(235px,calc(100% - 20px));max-height:min(380px,calc(100% - 72px));display:flex;flex-direction:column;overflow:hidden;font-size:.7rem}.map-legend__header{cursor:grab;-webkit-user-select:none;user-select:none}.map-legend__header:active{cursor:grabbing}.map-legend__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .55rem .35rem .65rem;border-bottom:1px solid rgba(148,163,184,.18)}.map-legend__header h2{margin:0;font-size:.78rem;font-weight:700;line-height:1.2}.map-legend__header button,.map-legend-toggle{font:inherit;cursor:pointer}.map-legend__header button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(148,163,184,.42);border-radius:4px;background:#f8fafceb;color:#475569;line-height:1}.map-legend__header button:hover,.map-legend__header button:focus-visible,.map-legend-toggle:hover,.map-legend-toggle:focus-visible{border-color:#2563eb;color:#1d4ed8;outline:none}.map-legend__content{display:grid;gap:.12rem;overflow-y:auto;padding:.4rem .55rem .5rem .65rem}.map-legend-toggle{min-height:32px;padding:0 .7rem;font-size:.78rem;font-weight:700}.map-legend-item{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:.35rem;min-height:22px;line-height:1.25}.map-legend-item span:last-child{min-width:0}.traveled-route-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;color:#888;cursor:pointer;flex-shrink:0}.traveled-route-toggle-icon:hover{color:#333}.traveled-route-toggle-icon:focus{outline:none}.traveled-route-toggle-icon:focus-visible{outline:2px solid #4a90d9;outline-offset:1px}.traveled-route-toggle-icon[aria-pressed=false]{color:#c0392b}.legend-line{width:20px;height:0;border-top-width:3px;border-top-style:solid;flex-shrink:0}.legend-line-planned{border-top-color:#4a90d9;border-top-style:dashed}.legend-line-traveled{height:4px;border-top-width:0;border-radius:2px;background:linear-gradient(90deg,#f4b400 0,#f4b400 33%,#3cb44b 33%,#3cb44b 66%,maroon 66%,maroon);outline:1px solid rgba(148,163,184,.5)}.legend-line-deviation{height:5px;border-top-width:0;background:#e6194b}.legend-line-gap{height:5px;border-top-width:0;background:#f4b400}.legend-truck{display:inline-block;width:10px;height:16px;border-radius:2px;background:#3cb44b;border:1.5px solid #ffffff;outline:1px solid #ccc;flex-shrink:0}.legend-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:#fff;font-size:.65rem;font-weight:700;flex-shrink:0}.legend-badge-source{border-radius:50%;background:#2ecc71}.legend-badge-destination{border-radius:3px;background:#e6194b}.legend-badge-warning{border-radius:50%;background:#d97706;color:#fff;font-weight:700}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid #ffffff;outline:1px solid #ccc;flex-shrink:0}.legend-dot-normal{background:#4a4a4a}.legend-dot-flagged{background:#e6194b;width:16px;height:16px}.app-shell[data-theme=dark] .map-legend,.app-shell[data-theme=dark] .map-legend-toggle{border-color:#475569c7;background:#1e293bf0;color:#e5eef9;box-shadow:0 5px 16px #00000052}.app-shell[data-theme=dark] .map-legend__header{border-bottom-color:#475569c7}.app-shell[data-theme=dark] .map-legend__header button{border-color:#475569db;background:#263449f0;color:#cbd5e1}@media (max-width: 640px){.map-legend{width:min(235px,calc(100% - 20px));max-height:min(320px,calc(100% - 58px));font-size:.72rem}.map-legend,.map-legend-toggle{bottom:12px;left:8px}}.replay-controls{flex-shrink:0;padding:.75rem 1rem;background:#fff;border-left:1px solid #ddd;border-top:1px solid #eee}.tracking-badge{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.68rem;font-weight:600;line-height:1.5;white-space:nowrap;flex-shrink:0}.tracking-badge--mobile{background:#e2e8f0;color:#334155}.tracking-badge--device{background:#ccfbf1;color:#115e59}.app-shell[data-theme=dark] .tracking-badge--mobile{background:#334155;color:#e2e8f0}.app-shell[data-theme=dark] .tracking-badge--device{background:#134e4a;color:#99f6e4}.map-tooltip{position:fixed;z-index:3000;display:grid;gap:2px;max-width:260px;padding:6px 9px;border-radius:6px;background:#0f172af0;color:#f8fafc;font-size:.75rem;line-height:1.3;box-shadow:0 4px 14px #0f172a59;pointer-events:none;transform:translate(14px,calc(-100% - 10px))}.map-tooltip--left{transform:translate(calc(-100% - 14px),calc(-100% - 10px))}.map-tooltip__title{font-size:.82rem}.map-tooltip__title--deviation{color:#fecaca}.map-tooltip__title--gap{color:#fde68a}.map-tooltip__line{color:#cbd5e1}.replay-controls-title{margin-bottom:.35rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:#475569}.app-shell[data-theme=dark] .replay-controls-title{color:#cbd5e1}.replay-controls-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.replay-controls-row:last-child{margin-bottom:0}.replay-controls button{padding:.3rem .5rem;cursor:pointer}.replay-scrubber{flex:1}.speed-btn{font-size:.8rem;padding:.25rem .5rem!important}.speed-btn.active{background:#4a90d9;color:#fff;border-color:#4a90d9}.trip-details-panel{width:320px;flex:1;min-height:0;overflow-y:auto;padding:1rem;background:#fff;border-left:1px solid #ddd}.trip-details-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.trip-details-header h2{margin:0;font-size:1.1rem}.trip-details-header button{background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;padding:0 .25rem}.anomaly-summary{margin-bottom:.5rem;display:flex;flex-direction:column;gap:.3rem}.anomaly-row{display:flex;align-items:flex-start;gap:.4rem;font-size:.85rem;padding:.35rem .6rem;margin:0;border-radius:4px;background:#f3f3f3;border:1px solid #ccc;color:#444}.anomaly-row--trip{background:#fdecea;border-color:#e6194b;color:#7a1f1f}.anomaly-badge{flex-shrink:0;font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.1rem .35rem;border-radius:3px;background:#ddd;color:#333}.anomaly-row--trip .anomaly-badge{background:#e6194b;color:#fff}.anomaly-list-summary{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.3rem .6rem;margin-bottom:.5rem;border-radius:4px;border:1px solid #e0a030;background:#fff8ec;color:#6b4a10}.anomaly-list-details-button{margin-left:auto;flex-shrink:0;font-size:.8rem}.anomaly-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.anomaly-modal{background:#fff;border-radius:6px;padding:1rem;width:min(420px,90vw);max-height:80vh;display:flex;flex-direction:column}.anomaly-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.anomaly-modal-header h3{font-size:.95rem;margin:0}.anomaly-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;overflow-y:auto}.anomaly-list-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.4rem .6rem;border-radius:4px;border:1px solid #e0a030;background:#fff8ec;color:#6b4a10}.anomaly-list-row--critical{border-color:#e6194b;background:#fdecea;color:#7a1f1f}.anomaly-list-icon{flex-shrink:0}.anomaly-list-label{flex:1}.anomaly-jump-button{flex-shrink:0;font-size:.8rem}.force-close-section{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.5rem 0;padding-top:.5rem;border-top:1px solid #eee}.force-close-section select{flex:1;min-width:0;padding:.3rem}.force-close-button{background:transparent;color:#c0392b;border:1px solid #c0392b;border-radius:4px;padding:.2rem .5rem;font-size:.8rem;cursor:pointer}.force-close-button:hover:not(:disabled){background:#fdecea}.force-close-button:disabled{opacity:.6;cursor:default}.force-close-error{width:100%;margin:0;color:#c0392b;font-size:.8rem}.follow-toggle-button{font-size:.75rem!important;border:1px solid #ccc!important;border-radius:12px;padding:.2rem .6rem!important;color:#666}.follow-toggle-button[aria-pressed=true]{color:#2ecc71;border-color:#2ecc71!important}.trip-details-row{display:flex;justify-content:space-between;gap:.5rem;padding:.2rem 0;border-bottom:1px solid #eee;font-size:.85rem}.trip-details-row .label{color:#666}.status-badge{padding:.1rem .5rem;border-radius:4px;font-size:.8rem;background:#eee}.status-badge.status-1{background:#d4edda;color:#155724}.status-badge.status-0{background:#cce5ff;color:#004085}.status-badge.status-2,.status-badge.status-3{background:#f8d7da;color:#721c24}.trip-legs-table{width:100%;margin-top:.5rem;border-collapse:collapse;font-size:.8rem}.trip-legs-table th,.trip-legs-table td{text-align:left;padding:.2rem .35rem;border-bottom:1px solid #eee}.app-shell{--app-bg: #f4f7fb;--app-surface: #ffffff;--app-surface-soft: #eef4fb;--app-border: #dbe5ef;--app-text: #172033;--app-muted: #667085;--app-accent: #2563eb;--app-accent-soft: rgba(37, 99, 235, .12);--app-sidebar-width: 278px;--app-sidebar-collapsed-width: 82px;min-height:100%;display:grid;grid-template-columns:var(--app-sidebar-width) minmax(0,1fr);background:var(--app-bg);color:var(--app-text)}.app-shell[data-theme=dark]{--app-bg: #111827;--app-surface: #182235;--app-surface-soft: #202c43;--app-border: #2f3f58;--app-text: #f5f7fb;--app-muted: #aab5c5;--app-accent: #60a5fa;--app-accent-soft: rgba(96, 165, 250, .18)}.app-shell.is-sidebar-collapsed{grid-template-columns:var(--app-sidebar-collapsed-width) minmax(0,1fr)}.app-shell__main{min-width:0;min-height:100vh;display:flex;flex-direction:column;overflow:auto}.app-shell__topbar{display:none;align-items:center;gap:.75rem;min-height:60px;padding:0 1rem;background:var(--app-surface);border-bottom:1px solid var(--app-border);color:var(--app-text)}.app-shell__topbar strong,.app-shell__topbar small{display:block;line-height:1.3}.app-shell__topbar small{color:var(--app-muted);font-size:.78rem}.app-shell__menu-button,.app-sidebar__collapse,.app-sidebar__link{font:inherit}.app-shell__menu-button{width:40px;height:40px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid var(--app-border);border-radius:6px;background:var(--app-surface);color:var(--app-text);cursor:pointer}.app-shell__menu-button span{width:18px;height:2px;background:currentColor}.app-sidebar{position:sticky;top:0;z-index:30;height:100vh;min-width:0;display:flex;flex-direction:column;background:var(--app-surface);border-right:1px solid var(--app-border);color:var(--app-text);overflow:hidden}.app-sidebar__brand{min-height:72px;display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--app-border)}.app-sidebar__brand>span{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--app-accent);color:#fff;font-weight:700;flex:0 0 auto}.app-sidebar__brand strong,.app-sidebar__brand small{display:block;line-height:1.25;white-space:nowrap}.app-sidebar__brand small{max-width:170px;overflow:hidden;text-overflow:ellipsis;color:var(--app-muted);font-size:.78rem}.app-sidebar__collapse{margin:.85rem 1rem .35rem;min-height:34px;border:1px solid var(--app-border);border-radius:6px;background:var(--app-surface-soft);color:var(--app-text);cursor:pointer}.app-sidebar__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:.35rem .65rem 1rem}.app-sidebar__item{min-width:0}.app-sidebar__section-title{padding:1rem .6rem .35rem;color:var(--app-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.app-sidebar__link{width:100%;min-height:42px;display:flex;align-items:center;gap:.7rem;padding:.55rem .65rem .55rem calc(.65rem + (var(--depth, 0) * .8rem));border:0;border-radius:7px;background:transparent;color:var(--app-text);text-decoration:none;text-align:left;cursor:pointer}.app-sidebar__link:hover,.app-sidebar__link:focus-visible{background:var(--app-surface-soft);outline:none}.app-sidebar__link:focus-visible{box-shadow:0 0 0 2px var(--app-accent)}.app-sidebar__link.is-active{background:var(--app-accent-soft);color:var(--app-accent);font-weight:600}.app-sidebar__link svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app-sidebar__link span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar__link em{flex:0 0 auto;padding:.05rem .35rem;border-radius:999px;background:#f59e0b;color:#111827;font-size:.64rem;font-style:normal;font-weight:700}.app-sidebar__link b{flex:0 0 auto;font-size:1rem;line-height:1}.app-sidebar__submenu{display:grid;gap:.1rem}.app-sidebar__empty{margin:1rem .4rem;color:var(--app-muted);font-size:.9rem}.app-sidebar__footer{padding:.85rem 1rem 1rem;border-top:1px solid var(--app-border)}.app-sidebar__footer .dashboard-theme-toggle{width:100%}.app-shell.is-sidebar-collapsed .app-sidebar__brand{justify-content:center;padding-inline:.5rem}.app-shell.is-sidebar-collapsed .app-sidebar__brand div,.app-shell.is-sidebar-collapsed .app-sidebar__collapse,.app-shell.is-sidebar-collapsed .app-sidebar__section-title,.app-shell.is-sidebar-collapsed .app-sidebar__link span,.app-shell.is-sidebar-collapsed .app-sidebar__link em,.app-shell.is-sidebar-collapsed .app-sidebar__link b,.app-shell.is-sidebar-collapsed .app-sidebar__footer{display:none}.app-shell.is-sidebar-collapsed .app-sidebar__nav{padding-inline:.55rem}.app-shell.is-sidebar-collapsed .app-sidebar__link{justify-content:center;padding:.6rem}.app-shell .dashboard-topbar-actions,.app-shell__scrim{display:none}@media (max-width: 860px){.app-shell,.app-shell.is-sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.app-shell__topbar{display:flex}.app-sidebar{position:fixed;left:0;top:0;width:min(86vw,310px);transform:translate(-105%);transition:transform .16s ease}.app-sidebar.is-mobile-open{transform:translate(0)}.app-sidebar__collapse{display:none}.app-shell__scrim.is-open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#0f172a73}.app-shell.is-sidebar-collapsed .app-sidebar__brand div,.app-shell.is-sidebar-collapsed .app-sidebar__section-title,.app-shell.is-sidebar-collapsed .app-sidebar__link span,.app-shell.is-sidebar-collapsed .app-sidebar__link em,.app-shell.is-sidebar-collapsed .app-sidebar__link b,.app-shell.is-sidebar-collapsed .app-sidebar__footer{display:block}.app-shell.is-sidebar-collapsed .app-sidebar__link{justify-content:flex-start;padding:.55rem .65rem .55rem calc(.65rem + (var(--depth, 0) * .8rem))}}.app-shell{grid-template-rows:56px minmax(0,1fr)}.app-shell__topbar{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 1rem;background:var(--app-surface);border-bottom:1px solid var(--app-border);color:var(--app-text);z-index:40}.app-shell__topbar-left,.app-shell__topbar-right{display:flex;align-items:center;min-width:0}.app-shell__topbar-right{margin-left:auto;gap:.75rem}.app-shell__main{grid-column:2;grid-row:2;min-height:calc(100vh - 56px)}.app-sidebar{grid-column:1;grid-row:2;height:calc(100vh - 56px);position:sticky;top:56px}.app-sidebar__nav{padding-top:.75rem}.app-shell__menu-button--mobile{display:none}.app-shell__menu-button--desktop{display:inline-flex}.app-shell__user{text-align:right;max-width:180px;min-width:0}.app-shell__user strong,.app-shell__user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}.app-shell__user small{color:var(--app-muted);font-size:.74rem}.app-shell__logo{width:34px;height:43px;object-fit:contain;flex:0 0 auto}.app-shell__wfp-logo{width:164px;height:46px;object-fit:contain;flex:0 0 auto}.app-shell__logout{min-height:34px;padding:0 .75rem;border:1px solid var(--app-border);border-radius:4px;background:var(--app-surface-soft);color:var(--app-text);font:inherit;cursor:pointer}.app-shell__logout:hover,.app-shell__logout:focus-visible,.app-shell__menu-button:hover,.app-shell__menu-button:focus-visible{border-color:var(--app-accent);outline:none}.app-shell__topbar .dashboard-theme-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface-soft)}.app-shell__topbar .dashboard-theme-toggle button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:var(--app-muted);cursor:pointer}.app-shell__topbar .dashboard-theme-toggle button.is-active{background:var(--app-surface);color:var(--app-accent);box-shadow:0 1px 4px #0f172a29}.app-shell__topbar .dashboard-theme-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media (max-width: 860px){.app-shell,.app-shell.is-sidebar-collapsed{grid-template-rows:56px minmax(0,1fr)}.app-shell__main{grid-column:1;grid-row:2;min-height:calc(100vh - 56px)}.app-shell__menu-button--desktop{display:none}.app-shell__menu-button--mobile{display:inline-flex}.app-sidebar{top:56px;height:calc(100vh - 56px)}.app-shell__scrim.is-open{top:56px}.app-shell__topbar-right{gap:.5rem}.app-shell__user,.app-shell__logout{display:none}.app-shell__wfp-logo{width:124px;height:36px}.app-shell__logo{width:32px;height:40px}}@media (max-width: 520px){.app-shell__topbar{padding:0 .65rem}.app-shell__topbar .dashboard-theme-toggle button{width:30px;height:30px}.app-shell__logo{width:28px}}.app-shell{height:100vh;min-height:0;overflow:hidden;column-gap:10px}.app-shell.is-sidebar-collapsed{column-gap:8px}.app-shell__topbar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,auto) minmax(190px,1fr);gap:1rem;padding:0 1rem}.app-shell__topbar-left{justify-content:flex-start;gap:.75rem}.app-shell__topbar-center{min-width:0;display:flex;justify-content:center;text-align:center}.app-shell__topbar-right{justify-content:flex-end;margin-left:0}.app-shell__logo{width:34px;height:43px;object-fit:contain}.app-shell__user{max-width:min(360px,34vw);text-align:center}.app-shell__main{min-height:0;height:calc(100vh - 56px);overflow-y:auto;overflow-x:hidden;padding-right:4px}.app-shell__main>.dashboard-page{min-height:100%}.app-shell__main>.live-map-page{height:100%;overflow:hidden}.app-sidebar{height:calc(100vh - 56px);border-right:0;box-shadow:1px 0 0 var(--app-border)}.app-sidebar__nav{padding-bottom:.75rem}.app-sidebar__minimizer{height:42px;border:0;border-top:1px solid var(--app-border);background:var(--app-surface-soft);color:var(--app-text);font:inherit;font-size:1.05rem;cursor:pointer}.app-sidebar__minimizer:hover,.app-sidebar__minimizer:focus-visible{color:var(--app-accent);outline:none}.app-sidebar__link{position:relative}.app-sidebar__link svg{fill:currentColor;stroke:none;stroke-width:0}.app-shell.is-sidebar-collapsed .app-sidebar{overflow:visible}.app-shell.is-sidebar-collapsed .app-sidebar__nav{overflow-x:visible}.app-shell.is-sidebar-collapsed .app-sidebar__link:hover:after,.app-shell.is-sidebar-collapsed .app-sidebar__link:focus-visible:after{content:attr(data-label);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);z-index:60;max-width:220px;padding:.35rem .55rem;border:1px solid var(--app-border);border-radius:6px;background:var(--app-surface);color:var(--app-text);box-shadow:0 8px 22px #0f172a2e;font-size:.82rem;font-weight:500;white-space:nowrap;pointer-events:none}.app-shell.is-sidebar-collapsed .app-sidebar__minimizer span{display:inline-block}@media (max-width: 860px){.app-shell,.app-shell.is-sidebar-collapsed{column-gap:0}.app-shell__topbar{grid-template-columns:minmax(120px,1fr) minmax(120px,auto) minmax(88px,1fr);gap:.5rem}.app-shell__topbar-left{gap:.5rem}.app-shell__topbar-right{min-width:0}.app-shell__user{max-width:32vw}.app-shell__main{grid-column:1;padding-right:0}.app-sidebar{box-shadow:8px 0 24px #0f172a38}.app-sidebar__minimizer{display:none}}@media (max-width: 620px){.app-shell__topbar{grid-template-columns:minmax(116px,1fr) minmax(90px,auto) auto}.app-shell__logo{width:104px}.app-shell__user small{display:none}.app-shell__topbar .dashboard-theme-toggle{transform:scale(.92);transform-origin:right center}}.app-sidebar__section-title{display:none}.app-sidebar__minimizer{display:flex;align-items:center;justify-content:flex-end;padding:0 1rem}.app-shell.is-sidebar-collapsed .app-sidebar__minimizer{justify-content:center;padding:0}.app-shell__menu-button--collapse{flex:0 0 auto}@media (max-width: 860px){.app-shell__menu-button--collapse{display:none}}.app-shell.is-sidebar-hidden,.app-shell.is-sidebar-hidden.is-sidebar-collapsed{grid-template-columns:0 minmax(0,1fr);column-gap:0}.app-shell.is-sidebar-hidden .app-sidebar{display:none}.app-shell.is-sidebar-hidden .app-shell__main{grid-column:1 / -1}.app-shell__menu-button--side{flex:0 0 auto}.app-shell.is-sidebar-collapsed:not(.is-sidebar-hidden) .app-sidebar,.app-shell.is-sidebar-collapsed:not(.is-sidebar-hidden) .app-sidebar__nav,.app-shell.is-sidebar-collapsed:not(.is-sidebar-hidden) .app-sidebar__item{overflow:visible}.app-shell.is-sidebar-collapsed:not(.is-sidebar-hidden) .app-sidebar__link:hover:after,.app-shell.is-sidebar-collapsed:not(.is-sidebar-hidden) .app-sidebar__link:focus-visible:after{min-width:max-content;max-width:none;z-index:1000}@media (max-width: 860px){.app-shell.is-sidebar-hidden,.app-shell.is-sidebar-hidden.is-sidebar-collapsed{grid-template-columns:minmax(0,1fr)}}.app-shell.is-sidebar-hidden .app-shell__main{padding-left:10px}@media (max-width: 860px){.app-shell.is-sidebar-hidden .app-shell__main{padding-left:0}}.app-shell.is-sidebar-collapsed .app-sidebar__link{padding-left:0!important;padding-right:0!important;justify-content:center;gap:0}.app-shell.is-sidebar-collapsed .app-sidebar__link svg{margin:0}.app-shell,.app-shell *{scrollbar-width:thin;scrollbar-color:#94a3b8 transparent}.app-shell[data-theme=dark],.app-shell[data-theme=dark] *{scrollbar-color:#475569 #111827}.app-shell ::-webkit-scrollbar{width:10px;height:10px}.app-shell ::-webkit-scrollbar-track{background:transparent}.app-shell ::-webkit-scrollbar-thumb{min-height:44px;border:2px solid transparent;border-radius:999px;background:#94a3b8;background-clip:content-box}.app-shell ::-webkit-scrollbar-thumb:hover{background:#64748b;background-clip:content-box}.app-shell[data-theme=dark] ::-webkit-scrollbar-track{background:#111827}.app-shell[data-theme=dark] ::-webkit-scrollbar-thumb{background:#475569;background-clip:content-box}.app-shell[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#64748b;background-clip:content-box}.legacy-map-page{min-height:100%;display:flex;flex-direction:column;gap:.75rem;padding:.85rem;background:var(--app-bg, #f4f7fb);color:var(--app-text, #172033)}.legacy-map-kpis{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:.75rem}.legacy-map-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:.65rem;padding:.75rem;border:1px solid var(--app-border, #dbe5ef);border-radius:6px;background:var(--app-surface, #fff)}.legacy-map-filters{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(150px,.9fr) minmax(120px,.7fr) minmax(260px,2fr) auto auto auto;gap:.55rem;align-items:start}.legacy-map-filters select,.legacy-map-search input{width:100%;min-height:38px;border:1px solid var(--app-border, #dbe5ef);border-radius:4px;padding:.45rem .55rem;background:var(--app-surface, #fff);color:var(--app-text, #172033);font:inherit}.legacy-map-search{position:relative;min-width:0}.legacy-map-suggestions{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;border:1px solid var(--app-border, #dbe5ef);border-radius:6px;background:var(--app-surface, #fff);box-shadow:0 12px 24px #0f172a29}.legacy-map-suggestions button{width:100%;display:block;border:0;border-radius:0;padding:.5rem .65rem;background:transparent;color:var(--app-text, #172033);text-align:left;font-size:.85rem}.legacy-map-suggestions button:hover,.legacy-map-suggestions button:focus-visible{background:var(--app-surface-soft, #eef4fb);outline:none}.legacy-map-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid transparent;border-radius:6px;padding:.45rem .85rem;font:inherit;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 8px 18px #0f172a14;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.legacy-map-button:hover:not(:disabled),.legacy-map-button:focus-visible:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #0f172a21;outline:none}.legacy-map-button:disabled{cursor:not-allowed;opacity:.62;box-shadow:none}.legacy-map-button--primary{border-color:#2563eb;background:#2563eb;color:#fff}.legacy-map-button--primary:hover:not(:disabled),.legacy-map-button--primary:focus-visible:not(:disabled){background:#1d4ed8}.legacy-map-button--danger{border-color:#dc2626;background:#dc2626;color:#fff}.legacy-map-button--danger:hover:not(:disabled),.legacy-map-button--danger:focus-visible:not(:disabled){background:#b91c1c}.legacy-map-button--outline{border-color:#16a34a;background:#fff;color:#15803d}.legacy-map-button--outline:hover:not(:disabled),.legacy-map-button--outline:focus-visible:not(:disabled){background:#f0fdf4}.legacy-map-alert{border-radius:4px;padding:.55rem .7rem;font-size:.88rem}.legacy-map-alert--info{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a}.legacy-map-alert--warning{border:1px solid #fde68a;background:#fffbeb;color:#92400e}.legacy-map-alert--error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.legacy-map-canvas{position:relative;flex:1;min-height:680px;border:1px solid var(--app-border, #dbe5ef);border-radius:6px;overflow:hidden}.legacy-map-google{width:100%;height:100%}.legacy-map-empty{height:100%;display:flex;align-items:center;justify-content:center;padding:1rem;color:var(--app-muted, #667085);background:var(--app-surface, #fff)}.legacy-map-empty--overlay{position:absolute;inset:auto 1rem 1rem auto;height:auto;border:1px solid var(--app-border, #dbe5ef);border-radius:4px;box-shadow:0 8px 18px #0f172a24}.legacy-map-info{max-width:280px;color:#172033;font-size:.82rem}.legacy-map-info strong{display:block;margin-bottom:.35rem}.legacy-map-info table{border-collapse:collapse}.legacy-map-info td{padding:.15rem .35rem .15rem 0;vertical-align:top}.legacy-map-info td:first-child{font-weight:700;white-space:nowrap}.legacy-map-info a{display:inline-block;margin-top:.35rem;color:#2563eb}@media (max-width: 1180px){.legacy-map-filters{grid-template-columns:repeat(3,minmax(130px,1fr))}.legacy-map-search{grid-column:1 / -1}}@media (max-width: 760px){.legacy-map-page{padding:.55rem}.legacy-map-kpis,.legacy-map-filters{grid-template-columns:1fr}.legacy-map-canvas{min-height:560px}}.location-master-page{min-height:100%;padding:.85rem;background:var(--app-bg, #f4f7fb);color:var(--app-text, #172033)}.location-master-panel{min-height:100%;display:flex;flex-direction:column;gap:.85rem;padding:.85rem;border:1px solid var(--app-border, #dbe5ef);border-radius:6px;background:var(--app-surface, #fff)}.location-master-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--app-border, #dbe5ef)}.location-master-header h1{margin:0;font-size:1.35rem;line-height:1.2}.location-master-header p{margin:.2rem 0 0;color:var(--app-muted, #667085);font-size:.9rem}.location-master-count{min-width:104px;display:inline-flex;flex-direction:column;align-items:flex-end;gap:.1rem;color:var(--app-muted, #667085);font-size:.78rem;text-transform:uppercase}.location-master-count strong{color:var(--app-text, #172033);font-size:1.35rem}.location-master-form{display:flex;flex-direction:column;gap:.8rem}.location-master-filters,.location-master-edit{display:grid;gap:.7rem;align-items:end}.location-master-filters{grid-template-columns:minmax(320px,auto) minmax(180px,260px);justify-content:start}.location-master-edit{grid-template-columns:repeat(6,minmax(130px,1fr)) auto;padding-top:.8rem;border-top:1px solid var(--app-border, #dbe5ef)}.location-master-filters fieldset{min-height:38px;display:flex;align-items:center;gap:1rem;margin:0;padding:0;border:0}.location-master-filters legend,.location-master-field span{color:var(--app-muted, #667085);font-size:.78rem;font-weight:700;line-height:1.2;text-transform:uppercase}.location-master-filters label{display:inline-flex;align-items:center;gap:.35rem;color:var(--app-text, #172033)}.location-master-field{min-width:0;display:flex;flex-direction:column;gap:.35rem}.location-master-field input,.location-master-field select{width:100%;min-height:38px;border:1px solid var(--app-border, #dbe5ef);border-radius:4px;padding:.45rem .55rem;background:var(--app-surface, #fff);color:var(--app-text, #172033);font:inherit}.location-master-field input:disabled,.location-master-field select:disabled{cursor:not-allowed;background:var(--app-surface-soft, #eef4fb);color:var(--app-muted, #667085)}.location-master-button,.location-master-action{min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;padding:.45rem .8rem;font:inherit;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer}.location-master-button:disabled{cursor:not-allowed;opacity:.65}.location-master-button--save{border-color:#16a34a;background:#16a34a;color:#fff}.location-master-button--clear{border-color:#dc2626;background:#dc2626;color:#fff}.location-master-action{min-height:30px;border-color:#2563eb;background:#2563eb;color:#fff;font-size:.82rem}.location-master-alert{border-radius:4px;padding:.55rem .7rem;font-size:.88rem}.location-master-alert--success{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.location-master-alert--info{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a}.location-master-alert--error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.location-master-grid-wrap{flex:1;min-height:500px}.location-master-grid{width:100%;height:100%;min-height:500px;--ag-font-family: inherit;--ag-border-color: var(--app-border, #dbe5ef);--ag-header-background-color: var(--app-surface-soft, #eef4fb);--ag-foreground-color: var(--app-text, #172033);--ag-background-color: var(--app-surface, #fff);--ag-odd-row-background-color: rgba(148, 163, 184, .08);--ag-selected-row-background-color: rgba(37, 99, 235, .14)}.location-master-grid .is-verified .ag-cell[col-id=verified]{color:#166534;font-weight:700}.location-master-grid .is-not-verified .ag-cell[col-id=verified]{color:#92400e;font-weight:700}.location-master-empty{color:var(--app-muted, #667085)}.app-shell[data-theme=dark] .location-master-grid{--ag-header-background-color: #1f2937;--ag-background-color: #111827;--ag-odd-row-background-color: rgba(148, 163, 184, .08);--ag-foreground-color: #e5eef9}@media (max-width: 1320px){.location-master-edit{grid-template-columns:repeat(3,minmax(160px,1fr))}}@media (max-width: 760px){.location-master-page{padding:.55rem}.location-master-header{align-items:flex-start;flex-direction:column}.location-master-count{align-items:flex-start}.location-master-filters,.location-master-edit{grid-template-columns:1fr}.location-master-filters fieldset,.location-master-actions{align-items:flex-start;flex-direction:column}.location-master-actions,.location-master-button{width:100%}}.location-master-page{min-height:100%;padding:.75rem;background:#f3f4f7;color:var(--app-text, #172033)}.location-master-panel{min-height:calc(100vh - 82px);display:flex;flex-direction:column;gap:.65rem;padding:.85rem;border:1px solid #d8dee8;border-radius:4px;background:#fff}.location-master-title-row{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:0 .15rem .55rem;border-bottom:1px solid #e3e8f0}.location-master-title-row h1{margin:0;font-size:1.35rem;font-weight:600;line-height:1.2}.location-master-title-row span{color:#667085;font-size:.88rem}.location-master-form{display:flex;flex-direction:column;gap:.6rem}.location-master-search-row{display:flex;align-items:center;gap:1.25rem;min-height:38px}.location-master-search-row fieldset{display:inline-flex;align-items:center;gap:.85rem;margin:0;padding:0;border:0}.location-master-search-row legend{float:left;width:auto;margin:0 .45rem 0 0;padding:0;color:#344054;font-size:.95rem;font-weight:600}.location-master-search-row label{display:inline-flex;align-items:center;gap:.3rem;color:#1f2937;font-size:.95rem}.location-master-search-row input[type=radio]{margin:0}.location-master-district-filter{width:min(260px,32vw);min-height:34px;border:1px solid #cfd7e3;border-radius:4px;padding:.35rem .5rem;background:#fff;color:#172033;font:inherit}.location-master-input-row{display:grid;gap:.7rem;align-items:end}.location-master-input-row--main{grid-template-columns:minmax(190px,260px) minmax(260px,420px)}.location-master-input-row--details{grid-template-columns:minmax(190px,260px) minmax(230px,320px) minmax(120px,160px) auto}.location-master-field{min-width:0;display:flex;flex-direction:column;gap:.25rem}.location-master-field span{color:#344054;font-size:.9rem;font-weight:600;line-height:1.2;text-transform:none}.location-master-field input,.location-master-field select,.location-master-coordinate-pair input{width:100%;min-height:34px;border:1px solid #cfd7e3;border-radius:4px;padding:.35rem .5rem;background:#fff;color:#172033;font:inherit}.location-master-coordinate-pair{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.location-master-field input:disabled,.location-master-field select:disabled{cursor:not-allowed;background:#eef2f7;color:#667085}.location-master-actions{display:inline-flex;align-items:end;gap:.45rem}.location-master-button,.location-master-action{min-height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;padding:.38rem .75rem;font:inherit;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer}.location-master-button--save{border-color:#198754;background:#198754;color:#fff}.location-master-button--clear{border-color:#dc3545;background:#dc3545;color:#fff}.location-master-action{min-height:28px;border-color:#2563eb;background:#2563eb;color:#fff;font-size:.82rem}.location-master-alert{border-radius:4px;padding:.5rem .65rem;font-size:.88rem}.location-master-grid-shell{width:100%;height:560px;min-height:420px;margin-top:.25rem;border:1px solid #d8dee8;border-radius:4px;overflow:hidden;--ag-font-family: inherit;--ag-font-size: 13px;--ag-border-color: #d8dee8;--ag-header-background-color: #eef2f7;--ag-foreground-color: #172033;--ag-background-color: #fff;--ag-odd-row-background-color: rgba(148, 163, 184, .08);--ag-selected-row-background-color: rgba(37, 99, 235, .14)}.location-master-grid-shell .ag-root-wrapper{border:0}.location-master-grid-shell .is-verified .ag-cell[col-id=verified]{color:#166534;font-weight:700}.location-master-grid-shell .is-not-verified .ag-cell[col-id=verified]{color:#92400e;font-weight:700}.location-master-empty{color:#667085}.app-shell[data-theme=dark] .location-master-page{background:#111827}.app-shell[data-theme=dark] .location-master-panel{border-color:#334155;background:#182131}.app-shell[data-theme=dark] .location-master-title-row,.app-shell[data-theme=dark] .location-master-grid-shell{border-color:#334155}.app-shell[data-theme=dark] .location-master-search-row legend,.app-shell[data-theme=dark] .location-master-search-row label,.app-shell[data-theme=dark] .location-master-field span{color:#e5eef9}.app-shell[data-theme=dark] .location-master-field input,.app-shell[data-theme=dark] .location-master-field select,.app-shell[data-theme=dark] .location-master-coordinate-pair input,.app-shell[data-theme=dark] .location-master-district-filter{border-color:#334155;background:#111827;color:#e5eef9}.app-shell[data-theme=dark] .location-master-grid-shell{--ag-header-background-color: #1f2937;--ag-background-color: #111827;--ag-foreground-color: #e5eef9;--ag-border-color: #334155}@media (max-width: 1180px){.location-master-input-row--details{grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) minmax(120px,160px)}.location-master-actions{grid-column:1 / -1}}@media (max-width: 760px){.location-master-page{padding:.55rem}.location-master-title-row,.location-master-search-row,.location-master-search-row fieldset,.location-master-actions{align-items:flex-start;flex-direction:column}.location-master-district-filter{width:100%}.location-master-input-row--main,.location-master-input-row--details{grid-template-columns:1fr}.location-master-actions,.location-master-button{width:100%}.location-master-grid-shell{height:520px}}.location-master-page .location-master-panel{gap:.75rem}.location-master-title-row{border-bottom-color:#dbe7f6}.location-master-search-row{flex-wrap:wrap;row-gap:.65rem}.location-master-input-row--main{grid-template-columns:minmax(220px,280px) minmax(320px,460px);max-width:780px}.location-master-input-row--details{grid-template-columns:minmax(280px,360px) minmax(150px,190px) auto;max-width:720px}.location-master-field{overflow:visible}.location-master-field span,.location-master-quick-search span{display:block;margin-bottom:.1rem;color:#26374f;font-size:.88rem;font-weight:700;line-height:1.25;white-space:normal}.location-master-field input,.location-master-field select,.location-master-coordinate-pair input,.location-master-district-filter,.location-master-quick-search input{min-height:38px;border:1px solid #b8c7da;border-radius:6px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0f;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.location-master-field input:focus,.location-master-field select:focus,.location-master-coordinate-pair input:focus,.location-master-district-filter:focus,.location-master-quick-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29;outline:none}.location-master-coordinate-pair{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr)}.location-master-actions{align-self:end;padding-bottom:0}.location-master-button,.location-master-action{border-radius:6px;box-shadow:0 8px 18px #0f172a1f;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.location-master-button:hover:not(:disabled),.location-master-button:focus-visible:not(:disabled),.location-master-action:hover,.location-master-action:focus-visible{transform:translateY(-1px);box-shadow:0 12px 22px #0f172a2b;outline:none}.location-master-button--save{border-color:#13864c;background:linear-gradient(180deg,#22c55e,#15803d)}.location-master-button--clear{border-color:#bd2130;background:linear-gradient(180deg,#ef4444,#b91c1c)}.location-master-action{border-color:#1d4ed8;background:linear-gradient(180deg,#3b82f6,#1d4ed8)}.location-master-grid-toolbar{display:flex;justify-content:flex-end;align-items:end;gap:.65rem;margin-top:.15rem}.location-master-quick-search{width:min(360px,100%);display:flex;flex-direction:column;gap:.25rem}.location-master-grid-shell{height:590px;--ag-header-background-color: #0f5fad;--ag-header-foreground-color: #ffffff;--ag-header-column-separator-color: rgba(255, 255, 255, .35);--ag-row-hover-color: #eff6ff;--ag-selected-row-background-color: rgba(37, 99, 235, .16)}.location-master-grid-shell .ag-header-cell,.location-master-grid-shell .ag-header-group-cell{background:#0f5fad;color:#fff;font-weight:700}.location-master-grid-shell .ag-header-cell-label{justify-content:center;white-space:normal;text-align:center}.location-master-grid-shell .ag-cell{display:flex;align-items:center;justify-content:center;line-height:1.25;white-space:normal;word-break:break-word}.location-master-status{font-weight:800}.location-master-status--verified{color:#166534}.location-master-status--pending{color:#92400e}.app-shell[data-theme=dark] .location-master-grid-shell{--ag-header-background-color: #145ea8;--ag-header-foreground-color: #ffffff;--ag-row-hover-color: #172554}.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-cell,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-group-cell{background:#145ea8;color:#fff}.app-shell[data-theme=dark] .location-master-field input,.app-shell[data-theme=dark] .location-master-field select,.app-shell[data-theme=dark] .location-master-coordinate-pair input,.app-shell[data-theme=dark] .location-master-district-filter,.app-shell[data-theme=dark] .location-master-quick-search input{background:#111827;box-shadow:0 1px 2px #00000047}@media (max-width: 980px){.location-master-input-row--main,.location-master-input-row--details{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);max-width:none}.location-master-actions{grid-column:1 / -1}}@media (max-width: 620px){.location-master-input-row--main,.location-master-input-row--details,.location-master-coordinate-pair{grid-template-columns:1fr}.location-master-grid-toolbar{justify-content:stretch}.location-master-quick-search{width:100%}}.location-master-input-row{width:100%;align-items:center;column-gap:.65rem;row-gap:.55rem}.location-master-input-row--main{display:grid;grid-template-columns:170px minmax(190px,240px) 190px minmax(280px,420px);max-width:1060px}.location-master-input-row--details{display:grid;grid-template-columns:170px minmax(118px,150px) minmax(118px,150px) 58px minmax(140px,170px) auto;max-width:980px}.location-master-inline-label{min-width:0;color:#26374f;font-size:.92rem;font-weight:700;line-height:1.2;text-align:right;overflow-wrap:anywhere}.location-master-inline-label--type{text-align:right}.location-master-control{width:100%;min-width:0;min-height:38px;border:1px solid #b8c7da;border-radius:6px;padding:.35rem .5rem;background:linear-gradient(180deg,#fff,#f8fbff);color:#172033;font:inherit;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0f;transition:border-color .16s ease,box-shadow .16s ease}.location-master-control:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29;outline:none}.location-master-control:disabled{cursor:not-allowed;background:#eef2f7;color:#667085}.location-master-input-row--details .location-master-actions{justify-self:start;align-self:center;padding-bottom:0}.app-shell[data-theme=dark] .location-master-inline-label{color:#e5eef9}.app-shell[data-theme=dark] .location-master-control{border-color:#334155;background:#111827;color:#e5eef9;box-shadow:0 1px 2px #00000047}@media (max-width: 1180px){.location-master-input-row--main{grid-template-columns:170px minmax(190px,1fr) 190px minmax(240px,1fr);max-width:none}.location-master-input-row--details{grid-template-columns:170px minmax(120px,1fr) minmax(120px,1fr) 58px minmax(140px,180px);max-width:none}.location-master-input-row--details .location-master-actions{grid-column:2 / -1}}@media (max-width: 860px){.location-master-input-row--main,.location-master-input-row--details{grid-template-columns:160px minmax(0,1fr)}.location-master-input-row--main .location-master-control--name,.location-master-input-row--details .location-master-control:nth-of-type(2),.location-master-input-row--details .location-master-control--type,.location-master-input-row--details .location-master-actions{grid-column:2}.location-master-input-row--details .location-master-control:nth-of-type(2){margin-top:-.25rem}.location-master-inline-label,.location-master-inline-label--type{text-align:left}}@media (max-width: 560px){.location-master-input-row--main,.location-master-input-row--details{grid-template-columns:1fr}.location-master-input-row--main .location-master-control--name,.location-master-input-row--details .location-master-control:nth-of-type(2),.location-master-input-row--details .location-master-control--type,.location-master-input-row--details .location-master-actions{grid-column:auto}.location-master-input-row--details .location-master-control:nth-of-type(2){margin-top:0}}.location-master-field-grid{width:min(100%,920px);display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:.85rem 1.25rem;align-items:start}.location-master-field-group{min-width:0;display:grid;grid-template-rows:minmax(22px,auto) 40px;gap:.32rem;margin:0}.location-master-field-group span{min-width:0;align-self:end;color:#26374f;font-size:.9rem;font-weight:700;line-height:1.22;white-space:normal;overflow-wrap:anywhere}.location-master-field-group input,.location-master-field-group select,.location-master-coordinate-pair input{width:100%;min-width:0;height:40px;min-height:40px;border:1px solid #b8c7da;border-radius:6px;padding:.4rem .55rem;background:linear-gradient(180deg,#fff,#f8fbff);color:#172033;font:inherit;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0f;transition:border-color .16s ease,box-shadow .16s ease}.location-master-field-group input:focus,.location-master-field-group select:focus,.location-master-coordinate-pair input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29;outline:none}.location-master-field-group input:disabled,.location-master-field-group select:disabled{cursor:not-allowed;background:#eef2f7;color:#667085}.location-master-field-grid .location-master-coordinate-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;height:40px}.location-master-actions--form{width:min(100%,920px);display:flex;justify-content:flex-end;align-items:center;gap:.6rem;margin-top:.05rem}.app-shell[data-theme=dark] .location-master-field-group span{color:#e5eef9}.app-shell[data-theme=dark] .location-master-field-group input,.app-shell[data-theme=dark] .location-master-field-group select,.app-shell[data-theme=dark] .location-master-coordinate-pair input{border-color:#334155;background:#111827;color:#e5eef9;box-shadow:0 1px 2px #00000047}@media (max-width: 760px){.location-master-field-grid{grid-template-columns:1fr;gap:.7rem}.location-master-actions--form{justify-content:stretch;flex-direction:column}.location-master-actions--form .location-master-button{width:100%}}@media (max-width: 420px){.location-master-field-grid .location-master-coordinate-pair{grid-template-columns:1fr;height:auto}}.location-master-field-grid--three{width:min(100%,1120px);grid-template-columns:repeat(3,minmax(220px,1fr));gap:.85rem 1rem}.location-master-action-group{min-width:0;display:grid;grid-template-rows:minmax(22px,auto) 40px;gap:.32rem;margin:0}.location-master-action-group>span{min-width:0;align-self:end;color:#26374f;font-size:.9rem;font-weight:700;line-height:1.22}.location-master-action-split{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;height:40px}.location-master-action-split .location-master-button{width:100%;min-height:40px;height:40px}.app-shell[data-theme=dark] .location-master-action-group>span{color:#e5eef9}@media (max-width: 980px){.location-master-field-grid--three{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width: 760px){.location-master-field-grid--three{grid-template-columns:1fr}.location-master-action-split{height:auto}}@media (max-width: 420px){.location-master-action-split{grid-template-columns:1fr}}.location-master-field-grid--three{column-gap:1.4rem;row-gap:1rem}.location-master-field-group,.location-master-action-group{min-width:0;padding:0 .05rem}.location-master-field-group input,.location-master-field-group select,.location-master-action-split .location-master-button{box-sizing:border-box;height:42px;min-height:42px;line-height:1.2}.location-master-field-group select{padding-top:0;padding-bottom:0;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.location-master-action-group{grid-template-rows:minmax(22px,auto) 42px}.location-master-action-split{height:42px;gap:.75rem}.location-master-button{padding-top:0;padding-bottom:0}@media (max-width: 980px){.location-master-field-grid--three{column-gap:1rem}}.location-master-grid-shell{--ag-header-background-color: #145ea8;--ag-header-foreground-color: #ffffff;--ag-header-height: 46px;--ag-row-height: 42px;--ag-wrapper-border-radius: 6px;--ag-border-color: #c9d7e8;--ag-row-border-color: #e1e8f2;--ag-odd-row-background-color: #f8fbff;--ag-row-hover-color: #edf5ff;--ag-selected-row-background-color: rgba(37, 99, 235, .16);box-shadow:0 10px 22px #0f172a14}.location-master-grid-shell .ag-header,.location-master-grid-shell .ag-header-viewport,.location-master-grid-shell .ag-header-container,.location-master-grid-shell .ag-header-row,.location-master-grid-shell .ag-header-cell,.location-master-grid-shell .ag-header-group-cell{background:linear-gradient(180deg,#1d74c7,#0f5fad);color:#fff}.location-master-grid-shell .ag-header-cell,.location-master-grid-shell .ag-header-group-cell{border-right:1px solid rgba(255,255,255,.24)}.location-master-grid-shell .ag-header-cell-text{color:#fff;font-weight:800;letter-spacing:0}.location-master-grid-shell .ag-sort-indicator-icon,.location-master-grid-shell .ag-icon{color:#fff}.location-master-grid-shell .ag-row{color:#172033}.location-master-grid-shell .ag-row-even{background:#fff}.location-master-grid-shell .ag-row-odd{background:#f8fbff}.location-master-status,.location-master-status--verified,.location-master-status--pending,.location-master-grid-shell .is-verified .ag-cell[col-id=verifiedStatus],.location-master-grid-shell .is-not-verified .ag-cell[col-id=verifiedStatus]{color:inherit;font-weight:600}.app-shell[data-theme=dark] .location-master-grid-shell{--ag-background-color: #0f172a;--ag-foreground-color: #e5eef9;--ag-border-color: #334155;--ag-row-border-color: #263244;--ag-odd-row-background-color: #111c31;--ag-row-hover-color: #172554;--ag-selected-row-background-color: rgba(59, 130, 246, .24);box-shadow:0 12px 26px #0000004d}.app-shell[data-theme=dark] .location-master-grid-shell .ag-root-wrapper,.app-shell[data-theme=dark] .location-master-grid-shell .ag-root,.app-shell[data-theme=dark] .location-master-grid-shell .ag-body-viewport,.app-shell[data-theme=dark] .location-master-grid-shell .ag-center-cols-viewport,.app-shell[data-theme=dark] .location-master-grid-shell .ag-center-cols-container,.app-shell[data-theme=dark] .location-master-grid-shell .ag-paging-panel{background:#0f172a;color:#e5eef9}.app-shell[data-theme=dark] .location-master-grid-shell .ag-row,.app-shell[data-theme=dark] .location-master-grid-shell .ag-cell,.app-shell[data-theme=dark] .location-master-grid-shell .ag-paging-panel{color:#e5eef9}.app-shell[data-theme=dark] .location-master-grid-shell .ag-row-even{background:#0f172a}.app-shell[data-theme=dark] .location-master-grid-shell .ag-row-odd{background:#111c31}.app-shell[data-theme=dark] .location-master-grid-shell .ag-header,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-viewport,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-container,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-row,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-cell,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-group-cell{background:linear-gradient(180deg,#2563eb,#1e40af);color:#fff}.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-cell-text,.app-shell[data-theme=dark] .location-master-grid-shell .ag-sort-indicator-icon,.app-shell[data-theme=dark] .location-master-grid-shell .ag-icon{color:#fff}.location-master-grid-shell .ag-paging-panel{min-height:44px;border-top:1px solid #c9d7e8;background:#f8fbff;color:#172033;font-weight:600}.location-master-grid-shell .ag-paging-button{min-width:30px;min-height:30px;margin:0 .12rem;border:1px solid #b8c7da;border-radius:6px;background:#fff;color:#145ea8}.location-master-grid-shell .ag-paging-button:hover:not(.ag-disabled),.location-master-grid-shell .ag-paging-button:focus-visible:not(.ag-disabled){border-color:#2563eb;background:#eff6ff;outline:none}.location-master-grid-shell .ag-paging-button.ag-disabled{opacity:.45}.location-master-grid-shell .ag-paging-panel .ag-icon{color:#145ea8}.app-shell[data-theme=dark] .location-master-grid-shell .ag-paging-panel{border-top-color:#334155;background:#0f172a;color:#e5eef9}.app-shell[data-theme=dark] .location-master-grid-shell .ag-paging-button{border-color:#334155;background:#111827;color:#fff}.app-shell[data-theme=dark] .location-master-grid-shell .ag-paging-button:hover:not(.ag-disabled),.app-shell[data-theme=dark] .location-master-grid-shell .ag-paging-button:focus-visible:not(.ag-disabled){border-color:#60a5fa;background:#172554}.app-shell[data-theme=dark] .location-master-grid-shell .ag-paging-panel .ag-icon{color:#fff}.location-master-grid-loading{min-height:38px;display:inline-flex;align-items:center;margin-right:auto;color:#475569;font-size:.9rem;font-weight:700}.location-master-grid-shell .ag-paging-button{display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0}.location-master-grid-shell .ag-paging-button .ag-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;margin:0;line-height:18px}.location-master-grid-shell .ag-paging-button .ag-icon:before,.location-master-grid-shell .ag-paging-button .ag-icon:after{top:0;right:0;bottom:0;left:0;margin:auto}.app-shell[data-theme=dark] .location-master-grid-loading{color:#cbd5e1}.location-master-grid-shell{position:relative}.location-master-grid-spinner{position:absolute;z-index:5;top:46px;right:0;bottom:44px;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:#ffffff94}.location-master-grid-spinner span{width:42px;height:42px;border:4px solid rgba(20,94,168,.22);border-top-color:#145ea8;border-radius:50%;animation:location-master-spin .8s linear infinite}@keyframes location-master-spin{to{transform:rotate(360deg)}}.app-shell[data-theme=dark] .location-master-grid-spinner{background:#0f172a94}.app-shell[data-theme=dark] .location-master-grid-spinner span{border-color:#60a5fa40;border-top-color:#60a5fa}.route-master-grid-toolbar{justify-content:space-between}.route-master-export-button{min-width:150px;height:42px;border-color:#1d4ed8;background:linear-gradient(180deg,#3b82f6,#1d4ed8);color:#fff}@media (max-width: 760px){.route-master-grid-toolbar{align-items:stretch;flex-direction:column}.route-master-export-button{width:100%}}.location-master-grid-shell{--ag-row-height: 54px}.location-master-grid-shell .ag-cell{min-height:54px;padding-top:.35rem;padding-bottom:.35rem;line-height:1.3;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.location-master-grid-shell .ag-cell-value{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.route-master-grid-toolbar{justify-content:flex-end}.route-master-export-footer-button{position:absolute;z-index:6;left:.75rem;bottom:6px;height:32px;min-width:150px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #0f5fad;border-radius:6px;padding:0 .85rem;background:linear-gradient(180deg,#1d74c7,#0f5fad);color:#fff;font:inherit;font-size:.86rem;font-weight:800;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 6px 14px #0f5fad3d;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.route-master-export-footer-button:hover,.route-master-export-footer-button:focus-visible{transform:translateY(-1px);box-shadow:0 9px 18px #0f5fad4d;outline:none}.app-shell[data-theme=dark] .route-master-export-footer-button{border-color:#1e40af;background:linear-gradient(180deg,#2563eb,#1e40af);box-shadow:0 8px 18px #00000052}@media (max-width: 760px){.route-master-export-footer-button{position:static;width:100%;margin-top:.6rem}}.location-master-grid-shell{--ag-row-height: 42px}.location-master-grid-shell .ag-row{min-height:42px}.location-master-grid-shell .ag-cell{min-height:42px;padding-top:.28rem;padding-bottom:.28rem;line-height:1.28;white-space:normal;word-break:normal;overflow-wrap:anywhere}.location-master-grid-shell .ag-cell-value{display:block;overflow:visible;-webkit-line-clamp:unset;-webkit-box-orient:unset}.location-master-grid-shell .ag-cell,.location-master-grid-shell .ag-cell-wrapper,.location-master-grid-shell .ag-cell-value{text-align:center}.location-master-grid-shell .ag-cell{justify-content:center;align-items:center}.location-master-grid-shell .ag-cell-value{width:100%}.location-master-grid-shell .ag-cell-auto-height{display:flex;align-items:center;justify-content:center}.location-master-grid-shell .ag-cell-auto-height .ag-cell-wrapper,.location-master-grid-shell .ag-cell-auto-height .ag-cell-value{width:100%;text-align:center}.location-master-grid-shell .ag-cell{padding-top:.5rem;padding-bottom:.5rem;line-height:1.35}.location-master-grid-shell .ag-cell-wrapper{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center}.location-master-grid-shell .ag-cell-value{width:100%;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.35}.location-master-grid-shell .ag-cell-auto-height{padding-top:.65rem;padding-bottom:.65rem}.location-master-grid-shell .ag-cell-auto-height .ag-cell-value{min-height:2.7em}.trip-details-report-page{gap:1rem}.trip-details-report-panel,.trip-details-summary-panel{overflow:visible}.trip-details-report-filter-panel{padding:1rem;border:1px solid var(--app-border, #dbe5ef);border-radius:8px;background:linear-gradient(180deg,#fff,#f8fbff)}.trip-details-report-form-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:1rem 1.25rem;align-items:end}.trip-details-running-field input[type=checkbox]{width:20px;height:20px;min-height:20px;justify-self:start;accent-color:#145ea8;box-shadow:none}.trip-details-filter-actions{min-width:260px}.trip-details-grid-toolbar{justify-content:flex-end}.trip-details-grid-shell{height:520px;min-height:420px}.trip-details-grid-link{max-width:100%;border:0;padding:0;background:transparent;color:#145ea8;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.trip-details-grid-link:hover,.trip-details-grid-link:focus-visible{color:#0f5fad;outline:none}.trip-details-search-row{position:relative;display:grid;grid-template-columns:minmax(260px,520px) 120px;gap:.75rem;align-items:end;margin-bottom:1rem}.trip-details-autocomplete{position:relative;min-width:0}.trip-details-autocomplete input{width:100%;min-height:42px;border:1px solid #b8c7da;border-radius:6px;padding:.45rem .6rem;background:linear-gradient(180deg,#fff,#f8fbff);color:#172033;font:inherit;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0f}.trip-details-autocomplete input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29;outline:none}.trip-details-autocomplete-menu{position:absolute;z-index:20;right:0;left:0;top:calc(100% + .25rem);max-height:260px;overflow:auto;border:1px solid #c9d7e8;border-radius:6px;background:#fff;box-shadow:0 14px 30px #0f172a2e}.trip-details-autocomplete-menu button{width:100%;display:block;border:0;border-bottom:1px solid #edf2f7;padding:.65rem .75rem;background:#fff;color:#172033;font:inherit;text-align:left;cursor:pointer}.trip-details-autocomplete-menu button:hover,.trip-details-autocomplete-menu button:focus-visible{background:#eff6ff;outline:none}.trip-details-search-button{height:42px}.trip-details-summary-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:1rem;align-items:start}.trip-details-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:.75rem 1rem}.trip-details-summary-grid div{min-width:0;display:grid;gap:.18rem;padding:.65rem .75rem;border:1px solid #dbe5ef;border-radius:6px;background:#f8fbff}.trip-details-summary-grid strong,.trip-details-challan-box>strong{color:#26374f;font-size:.88rem}.trip-details-summary-grid span{min-height:1.25rem;color:#172033;overflow-wrap:anywhere}.trip-details-challan-box{display:grid;gap:.45rem}.trip-details-challan-box>div{min-height:250px;display:flex;align-items:center;justify-content:center;border:1px solid #dbe5ef;border-radius:6px;background:#f8fbff;color:#667085;overflow:hidden}.trip-details-challan-box img{max-width:100%;max-height:250px;object-fit:contain}.app-shell[data-theme=dark] .trip-details-report-filter-panel,.app-shell[data-theme=dark] .trip-details-summary-grid div,.app-shell[data-theme=dark] .trip-details-challan-box>div{border-color:#334155;background:#111827}.app-shell[data-theme=dark] .trip-details-summary-grid strong,.app-shell[data-theme=dark] .trip-details-challan-box>strong{color:#e5eef9}.app-shell[data-theme=dark] .trip-details-summary-grid span,.app-shell[data-theme=dark] .trip-details-autocomplete input{color:#e5eef9}.app-shell[data-theme=dark] .trip-details-autocomplete input,.app-shell[data-theme=dark] .trip-details-autocomplete-menu,.app-shell[data-theme=dark] .trip-details-autocomplete-menu button{border-color:#334155;background:#111827;color:#e5eef9}.app-shell[data-theme=dark] .trip-details-autocomplete-menu button:hover,.app-shell[data-theme=dark] .trip-details-autocomplete-menu button:focus-visible{background:#172554}.app-shell[data-theme=dark] .trip-details-grid-link{color:#93c5fd}@media (max-width: 1180px){.trip-details-report-form-grid,.trip-details-summary-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}}@media (max-width: 860px){.trip-details-report-form-grid,.trip-details-summary-layout,.trip-details-search-row{grid-template-columns:1fr}.trip-details-filter-actions{min-width:0}.trip-details-grid-shell{height:500px}}@media (max-width: 620px){.trip-details-report-form-grid,.trip-details-summary-grid{grid-template-columns:1fr}.trip-details-export-button{position:static;width:100%;margin-top:.6rem}}.trip-details-summary-panel .trip-details-search-row{width:min(100%,760px);display:grid;grid-template-columns:minmax(0,1fr) 128px;column-gap:1rem;row-gap:.75rem;align-items:end}.trip-details-summary-panel .trip-details-autocomplete{width:100%;min-width:0}.trip-details-summary-panel .trip-details-autocomplete input{box-sizing:border-box;width:100%;min-width:0}.trip-details-summary-panel .trip-details-search-button{box-sizing:border-box;width:128px;min-width:128px;height:42px;min-height:42px;padding-inline:.85rem;white-space:nowrap}@media (max-width: 620px){.trip-details-summary-panel .trip-details-search-row{width:100%;grid-template-columns:1fr}.trip-details-summary-panel .trip-details-search-button{width:100%;min-width:0}}.all-trips-report-form-grid{grid-template-columns:minmax(150px,.7fr) repeat(3,minmax(180px,1fr)) minmax(260px,1fr)}.all-trips-report-page .trip-details-grid-shell{height:560px}@media (max-width: 1180px){.all-trips-report-form-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}}@media (max-width: 620px){.all-trips-report-form-grid{grid-template-columns:1fr}}.all-trips-report-page{gap:0}.all-trips-report-page .trip-details-report-filter-panel{margin-bottom:1rem}.react-calendar-field{position:relative;width:100%;min-width:0}.react-calendar-trigger{box-sizing:border-box;width:100%;min-width:0;height:42px;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:.55rem;border:1px solid #b8c7da;border-radius:6px;padding:0 .6rem;background:linear-gradient(180deg,#fff,#f8fbff);color:#172033;font:inherit;text-align:left;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0f;cursor:pointer}.react-calendar-trigger:focus-visible{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29;outline:none}.react-calendar-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-calendar-trigger b{color:#145ea8;font-size:.95rem;line-height:1}.react-calendar-popover{position:absolute;z-index:40;top:calc(100% + .35rem);left:0;width:min(292px,86vw);border:1px solid #c9d7e8;border-radius:8px;padding:.75rem;background:#fff;color:#172033;box-shadow:0 18px 34px #0f172a33}.react-calendar-header{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:.4rem;margin-bottom:.65rem}.react-calendar-header strong{color:#26374f;font-size:.95rem;text-align:center}.react-calendar-header button,.react-calendar-footer button,.react-calendar-days button{font:inherit;cursor:pointer}.react-calendar-header button{width:34px;height:32px;border:1px solid #b8c7da;border-radius:6px;background:#f8fbff;color:#145ea8;font-size:1.2rem;font-weight:800;line-height:1}.react-calendar-weekdays,.react-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.react-calendar-weekdays span{color:#667085;font-size:.72rem;font-weight:800;text-align:center}.react-calendar-days{margin-top:.35rem}.react-calendar-days button{width:100%;aspect-ratio:1;border:1px solid transparent;border-radius:6px;background:transparent;color:#172033;font-size:.86rem;font-weight:700}.react-calendar-days button:hover,.react-calendar-days button:focus-visible{border-color:#93c5fd;background:#eff6ff;outline:none}.react-calendar-days button.is-outside{color:#98a2b3}.react-calendar-days button.is-today{border-color:#145ea8}.react-calendar-days button.is-selected{border-color:#0f5fad;background:linear-gradient(180deg,#1d74c7,#0f5fad);color:#fff}.react-calendar-footer{display:flex;justify-content:space-between;gap:.5rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid #e1e8f2}.react-calendar-footer button{min-width:74px;height:32px;border:1px solid #b8c7da;border-radius:6px;background:#f8fbff;color:#145ea8;font-weight:800}.react-calendar-footer button:last-child{border-color:#0f5fad;background:linear-gradient(180deg,#1d74c7,#0f5fad);color:#fff}.app-shell[data-theme=dark] .react-calendar-trigger,.app-shell[data-theme=dark] .react-calendar-popover{border-color:#334155;background:#111827;color:#e5eef9;box-shadow:0 18px 34px #00000059}.app-shell[data-theme=dark] .react-calendar-header strong,.app-shell[data-theme=dark] .react-calendar-days button{color:#e5eef9}.app-shell[data-theme=dark] .react-calendar-weekdays span,.app-shell[data-theme=dark] .react-calendar-days button.is-outside{color:#94a3b8}.app-shell[data-theme=dark] .react-calendar-header button,.app-shell[data-theme=dark] .react-calendar-footer button{border-color:#334155;background:#172554;color:#dbeafe}.app-shell[data-theme=dark] .react-calendar-days button:hover,.app-shell[data-theme=dark] .react-calendar-days button:focus-visible{border-color:#60a5fa;background:#172554}.app-shell[data-theme=dark] .react-calendar-days button.is-selected,.app-shell[data-theme=dark] .react-calendar-footer button:last-child{border-color:#1e40af;background:linear-gradient(180deg,#2563eb,#1e40af);color:#fff}.app-shell[data-theme=dark] .react-calendar-footer{border-top-color:#334155}.react-calendar-trigger{position:relative;justify-content:center;padding-inline:2.1rem;text-align:center}.react-calendar-trigger span{width:100%;text-align:center}.react-calendar-trigger b{position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.react-calendar-header{grid-template-columns:36px minmax(0,1fr) 36px;justify-items:center}.react-calendar-header strong{width:100%;display:flex;align-items:center;justify-content:center;min-height:34px;line-height:1.2}.react-calendar-header button{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}.react-calendar-footer{justify-content:center;align-items:center}.react-calendar-footer button{display:inline-flex;align-items:center;justify-content:center;padding:0 .9rem;text-align:center;line-height:1}.react-calendar-trigger{align-items:center;line-height:1}.react-calendar-trigger span{height:100%;display:flex;align-items:center;justify-content:center;line-height:1}.react-calendar-trigger b{display:flex;align-items:center;justify-content:center;height:100%;line-height:1}.user-management-panel{overflow:visible}.user-management-form{display:grid;gap:1rem}.user-management-field-grid{width:min(100%,980px)}.user-management-actions{display:flex;justify-content:flex-end;gap:.75rem;width:min(100%,980px)}.user-management-actions .location-master-button{min-width:130px;height:42px}.user-management-grid-actions{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap}.user-management-grid-actions button{min-height:28px;border:1px solid #0f5fad;border-radius:6px;padding:0 .55rem;background:linear-gradient(180deg,#1d74c7,#0f5fad);color:#fff;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.user-management-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a85}.user-management-modal{width:min(560px,94vw);max-height:86vh;display:flex;flex-direction:column;border:1px solid var(--app-border, #dbe5ef);border-radius:8px;background:var(--app-surface, #ffffff);color:var(--app-text, #172033);box-shadow:0 24px 54px #0f172a47}.user-management-modal header,.user-management-modal footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;border-bottom:1px solid var(--app-border, #dbe5ef)}.user-management-modal footer{justify-content:flex-end;border-top:1px solid var(--app-border, #dbe5ef);border-bottom:0}.user-management-modal h2{margin:0;font-size:1.05rem}.user-management-modal header button{width:34px;height:34px;border:1px solid var(--app-border, #dbe5ef);border-radius:6px;background:var(--app-surface-soft, #eef4fb);color:var(--app-text, #172033);font-size:1.2rem;cursor:pointer}.user-management-role-summary,.user-management-role-list{padding:1rem}.user-management-role-summary{display:grid;gap:.2rem;border-bottom:1px solid var(--app-border, #dbe5ef)}.user-management-role-summary span{color:var(--app-muted, #667085)}.user-management-role-list{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:.55rem .8rem;overflow:auto}.user-management-role-list label,.feature-mapping-tree label{display:inline-flex;align-items:center;gap:.45rem;min-width:0;font-weight:700}.user-management-role-list input,.feature-mapping-tree input{accent-color:#145ea8}.feature-mapping-layout{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(420px,1.2fr);gap:1rem;align-items:start}.feature-mapping-list,.feature-mapping-editor{min-width:0;display:grid;gap:.85rem}.feature-mapping-create{width:150px;height:42px}.feature-mapping-grid{height:520px}.feature-mapping-editor{padding:1rem;border:1px solid var(--app-border, #dbe5ef);border-radius:8px;background:linear-gradient(180deg,#fff,#f8fbff)}.feature-mapping-tree{max-height:560px;overflow:auto;display:grid;gap:.45rem;padding:.75rem;border:1px solid #dbe5ef;border-radius:8px;background:#fff}.feature-mapping-tree>strong{color:#26374f}.feature-mapping-tree details{border:1px solid #e1e8f2;border-radius:6px;padding:.45rem .55rem;background:#f8fbff}.feature-mapping-tree summary{cursor:pointer;list-style-position:outside}.feature-mapping-tree details>div{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:.35rem .8rem;margin-top:.55rem;padding-left:1.35rem}.app-shell[data-theme=dark] .feature-mapping-editor,.app-shell[data-theme=dark] .feature-mapping-tree,.app-shell[data-theme=dark] .feature-mapping-tree details{border-color:#334155;background:#111827}.app-shell[data-theme=dark] .feature-mapping-tree>strong{color:#e5eef9}@media (max-width: 1100px){.feature-mapping-layout{grid-template-columns:1fr}}@media (max-width: 680px){.user-management-actions,.user-management-modal footer{flex-direction:column;align-items:stretch}.user-management-role-list,.feature-mapping-tree details>div{grid-template-columns:1fr}}.change-password-page .user-management-field-grid{width:min(100%,720px)}.app-sidebar__link{gap:.55rem;padding-right:.85rem}.app-sidebar__link em{margin-left:-.18rem;padding:.08rem .3rem;min-width:2.05rem;text-align:center;line-height:1.2}.location-master-button--save{border-color:#155fa5;background:linear-gradient(180deg,#2f88d6,#155fa5);color:#fff}.location-master-button--clear{border-color:#475569;background:linear-gradient(180deg,#64748b,#334155);color:#fff}.user-management-grid-actions button{border-color:#155fa5;background:linear-gradient(180deg,#2f88d6,#155fa5);color:#fff;box-shadow:0 5px 12px #155fa52e}.feature-mapping-list-view{display:grid;gap:.85rem;width:min(100%,720px)}.feature-mapping-list-actions{display:flex;align-items:end;justify-content:space-between;gap:.85rem;flex-wrap:wrap}.feature-mapping-list-actions .location-master-quick-search{margin-left:auto}.feature-mapping-grid{height:480px}.feature-mapping-editor{width:min(100%,860px);padding:0;border:0;border-radius:0;background:transparent}.feature-mapping-role-name{width:min(100%,560px)}.feature-mapping-tree-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:.75rem;align-items:start}.feature-mapping-tree-label{padding-top:.85rem;color:#26374f;font-size:.8rem;font-weight:800;text-align:right}.feature-mapping-tree{max-height:58vh}.feature-mapping-editor-actions{justify-content:flex-start}.app-shell[data-theme=dark] .feature-mapping-tree-label{color:#e5eef9}@media (max-width: 680px){.feature-mapping-list-view,.feature-mapping-editor{width:100%}.feature-mapping-list-actions{align-items:stretch}.feature-mapping-list-actions .location-master-quick-search,.feature-mapping-create{width:100%;margin-left:0}.feature-mapping-tree-row{grid-template-columns:1fr}.feature-mapping-tree-label{padding-top:0;text-align:left}}.app-sidebar__nav{scrollbar-gutter:stable;padding-right:1rem}.app-sidebar__link{min-width:0;padding-right:.55rem}.app-sidebar__submenu .app-sidebar__link{display:grid;grid-template-columns:20px minmax(0,1fr) 2.35rem;column-gap:.45rem}.app-sidebar__submenu .app-sidebar__link span{min-width:0}.app-sidebar__link em{justify-self:start;width:2.15rem;min-width:2.15rem;margin-left:0;padding:.08rem 0;text-align:center;box-sizing:border-box}.app-sidebar__link:not(:has(em)){padding-right:.9rem}@media (max-width: 860px){.app-sidebar__nav{padding-right:.65rem}}.app-shell.is-sidebar-collapsed .app-sidebar__submenu .app-sidebar__link{display:flex;grid-template-columns:none}.app-sidebar__nav{padding-right:1.45rem}.app-sidebar__submenu .app-sidebar__link{grid-template-columns:20px minmax(0,1fr) 2.35rem;padding-right:1.25rem}.app-sidebar__link em{width:2.25rem;min-width:2.25rem;transform:translate(-.42rem);overflow:visible}@media (max-width: 860px){.app-sidebar__nav{padding-right:.9rem}.app-sidebar__link em{transform:none}}.app-shell[data-theme=dark] .location-master-grid-shell,.app-shell[data-theme=dark] .location-master-grid-shell .ag-root-wrapper,.app-shell[data-theme=dark] .location-master-grid-shell .ag-root-wrapper-body,.app-shell[data-theme=dark] .location-master-grid-shell .ag-root,.app-shell[data-theme=dark] .location-master-grid-shell .ag-body,.app-shell[data-theme=dark] .location-master-grid-shell .ag-body-viewport,.app-shell[data-theme=dark] .location-master-grid-shell .ag-body-horizontal-scroll,.app-shell[data-theme=dark] .location-master-grid-shell .ag-body-horizontal-scroll-viewport,.app-shell[data-theme=dark] .location-master-grid-shell .ag-body-horizontal-scroll-container,.app-shell[data-theme=dark] .location-master-grid-shell .ag-center-cols-clipper,.app-shell[data-theme=dark] .location-master-grid-shell .ag-center-cols-viewport,.app-shell[data-theme=dark] .location-master-grid-shell .ag-center-cols-container,.app-shell[data-theme=dark] .location-master-grid-shell .ag-full-width-container,.app-shell[data-theme=dark] .location-master-grid-shell .ag-pinned-left-cols-container,.app-shell[data-theme=dark] .location-master-grid-shell .ag-pinned-right-cols-container-wrapper-no-rows-wrapper,.app-shell[data-theme=dark] .location-master-grid-shell .ag-sticky-top,.app-shell[data-theme=dark] .location-master-grid-shell .ag-sticky-bottom{background-color:#0f172a;color:#e5eef9}.app-shell[data-theme=dark] .location-master-grid-shell .ag-overlay-no-rows-center,.app-shell[data-theme=dark] .location-master-grid-shell .location-master-empty{border-color:#334155;background:#111827;color:#e5eef9}.app-shell[data-theme=dark] .location-master-grid-shell .ag-header{position:relative;z-index:4}.app-shell[data-theme=dark] .location-master-grid-shell .ag-overlay,.app-shell[data-theme=dark] .location-master-grid-shell .ag-overlay-wrapper,.app-shell[data-theme=dark] .location-master-grid-shell .ag-overlay-no-rows-wrapper{background:transparent;pointer-events:none;z-index:1}.app-shell[data-theme=dark] .location-master-grid-shell .ag-center-cols-viewport,.app-shell[data-theme=dark] .location-master-grid-shell .ag-overlay-no-rows-center,.app-shell[data-theme=dark] .location-master-grid-shell .location-master-empty{background-color:#0f172a}@media (max-width: 860px){.app-shell__menu-button--side,.app-sidebar__minimizer{display:none}}.legacy-map-filters{align-items:end}.legacy-map-filters select,.legacy-map-search input{box-sizing:border-box;height:34px;min-height:34px;padding:0 .55rem;line-height:1.2}.legacy-map-button{height:34px;min-height:34px;padding:0 .75rem}.legacy-map-page[data-theme=dark] .legacy-map-button--outline{border-color:#22c55e;background:var(--app-surface, #172033);color:#86efac}.legacy-map-page[data-theme=dark] .legacy-map-button--outline:hover:not(:disabled),.legacy-map-page[data-theme=dark] .legacy-map-button--outline:focus-visible:not(:disabled){background:var(--app-surface-soft, #1e293b)}.app-shell[data-theme=dark] .location-master-grid-shell .ag-overlay-wrapper,.app-shell[data-theme=dark] .location-master-grid-shell .ag-overlay-no-rows-wrapper{background:#1e293b}.app-shell[data-theme=dark] .location-master-grid-shell .ag-overlay-no-rows-center{border:1px solid #475569;border-radius:8px;background:#263449;color:#e5eef9;box-shadow:0 8px 20px #0f172a38}.app-shell[data-theme=dark] .trip-details-report-filter-panel,.app-shell[data-theme=dark] .trip-details-summary-panel,.app-shell[data-theme=dark] .trip-details-report-panel,.app-shell[data-theme=dark] .user-management-panel{border-color:#334155;background:#1e293b}.app-shell[data-theme=dark] .trip-details-summary-grid div,.app-shell[data-theme=dark] .trip-details-challan-box>div,.app-shell[data-theme=dark] .location-master-field-group input,.app-shell[data-theme=dark] .location-master-field-group select,.app-shell[data-theme=dark] .location-master-coordinate-pair input,.app-shell[data-theme=dark] .location-master-quick-search input,.app-shell[data-theme=dark] .trip-details-autocomplete input,.app-shell[data-theme=dark] .react-calendar-trigger{border-color:#475569;background:#263449;color:#e5eef9;box-shadow:none}.app-shell[data-theme=dark] .trip-details-autocomplete-menu,.app-shell[data-theme=dark] .trip-details-autocomplete-menu button,.app-shell[data-theme=dark] .react-calendar-popover{border-color:#475569;background:#263449;color:#e5eef9}.app-shell[data-theme=dark] .trip-details-autocomplete-menu button:hover,.app-shell[data-theme=dark] .trip-details-autocomplete-menu button:focus-visible,.app-shell[data-theme=dark] .react-calendar-days button:hover,.app-shell[data-theme=dark] .react-calendar-days button:focus-visible{background:#334155}.app-shell[data-theme=dark] .location-master-field-group input:focus,.app-shell[data-theme=dark] .location-master-field-group select:focus,.app-shell[data-theme=dark] .location-master-coordinate-pair input:focus,.app-shell[data-theme=dark] .location-master-quick-search input:focus,.app-shell[data-theme=dark] .trip-details-autocomplete input:focus,.app-shell[data-theme=dark] .react-calendar-trigger:focus-visible{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.app-shell[data-theme=dark] .location-master-grid-shell{--ag-header-background-color: #263449;--ag-header-foreground-color: #e5eef9;--ag-header-column-separator-color: #475569}.app-shell[data-theme=dark] .location-master-grid-shell .ag-header,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-viewport,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-container,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-row,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-cell,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-group-cell{background:#263449;color:#e5eef9}.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-cell,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-group-cell{border-right-color:#475569}.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-cell-text,.app-shell[data-theme=dark] .location-master-grid-shell .ag-sort-indicator-icon,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header .ag-icon{color:#e5eef9}.location-master-title-row h1,.location-master-header h1,.trip-details-report-panel h1,.trip-details-summary-panel h1,.user-management-panel h1,.user-management-modal h2,.feature-mapping-tree>strong{color:#334155;font-weight:650}.location-master-title-row span,.location-master-header p,.location-master-field-group span,.location-master-field span,.trip-details-summary-grid strong,.trip-details-challan-box>strong{color:#64748b}.app-shell[data-theme=dark] .location-master-title-row h1,.app-shell[data-theme=dark] .location-master-header h1,.app-shell[data-theme=dark] .trip-details-report-panel h1,.app-shell[data-theme=dark] .trip-details-summary-panel h1,.app-shell[data-theme=dark] .user-management-panel h1,.app-shell[data-theme=dark] .user-management-modal h2,.app-shell[data-theme=dark] .feature-mapping-tree>strong{color:#cbd5e1;font-weight:650}.app-shell[data-theme=dark] .location-master-title-row span,.app-shell[data-theme=dark] .location-master-header p,.app-shell[data-theme=dark] .location-master-field-group span,.app-shell[data-theme=dark] .location-master-field span,.app-shell[data-theme=dark] .trip-details-summary-grid strong,.app-shell[data-theme=dark] .trip-details-challan-box>strong{color:#a9b8cc}.app-shell[data-theme=dark] .location-master-grid-shell{--ag-header-background-color: #1f5f99;--ag-header-foreground-color: #dbeafe;--ag-header-column-separator-color: rgba(219, 234, 254, .22)}.app-shell[data-theme=dark] .location-master-grid-shell .ag-header,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-viewport,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-container,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-row,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-cell,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-group-cell{background:#1f5f99;color:#dbeafe}.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-cell,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-group-cell{border-right-color:#dbeafe38}.app-shell[data-theme=dark] .location-master-grid-shell .ag-header-cell-text,.app-shell[data-theme=dark] .location-master-grid-shell .ag-sort-indicator-icon,.app-shell[data-theme=dark] .location-master-grid-shell .ag-header .ag-icon{color:#dbeafe}.live-map-page{height:100%;overflow:hidden;padding:1rem;gap:.75rem;background:var(--app-bg, #f4f6f9);color:var(--app-text, #1f2937)}.live-map-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.live-map-kpi{min-height:86px;padding:1rem 1.1rem;color:#fff;border-radius:4px;box-shadow:0 1px 3px #0f172a24}.live-map-kpi span,.live-map-kpi strong{display:block}.live-map-kpi span{font-size:.95rem;font-weight:400}.live-map-kpi strong{margin-top:.2rem;font-size:1.75rem;line-height:1.1;font-weight:600}.live-map-kpi--primary{background:#20a8d8}.live-map-kpi--online{background:#20b2aa}.live-map-kpi--offline{background:#555d50}.live-map-kpi--never{background:#3b5998}.live-map-card{display:flex;flex:1;min-height:0;overflow:hidden;flex-direction:column;padding:1.25rem;border:1px solid var(--app-border, #d8dbe0);border-radius:4px;background:var(--app-surface, #fff);box-shadow:0 1px 3px #0f172a14}.live-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex:0 0 auto;min-width:0;margin-bottom:.75rem}.live-map-toolbar .filter-bar{flex:1 1 auto;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:0;border:0;background:transparent}.live-map-toolbar .filter-bar input,.live-map-toolbar .filter-bar select,.live-map-toolbar .filter-bar button,.live-map-actions button{box-sizing:border-box;min-height:34px;height:34px;border-radius:4px;font-size:.875rem}.live-map-toolbar .filter-bar input,.live-map-toolbar .filter-bar select{flex:0 0 auto;min-width:0;border:1px solid var(--app-border, #c8ced3);background:var(--app-surface, #fff);color:var(--app-text, #23282c);padding:0 .5rem}.live-map-toolbar .filter-bar .trip-id-input{width:100%}.live-map-toolbar .filter-bar .filter-date-input,.live-map-toolbar .filter-bar input[type=date]{width:130px}.live-map-toolbar .filter-bar .filter-status-select{width:120px}.live-map-toolbar .filter-bar .filter-tracking-select{width:115px}.live-map-toolbar .filter-bar .filter-source-select{width:145px;max-width:160px}.live-map-toolbar .filter-bar .filter-route-select{width:165px;max-width:185px}.live-map-toolbar .filter-bar select{text-overflow:ellipsis;white-space:nowrap}.live-map-toolbar .filter-bar button{flex:0 0 auto;min-width:65px;white-space:nowrap}.live-map-toolbar .filter-bar .trip-id-input{width:108px}.live-map-toolbar .filter-bar input[type=date]{width:142px}.live-map-toolbar .filter-bar select:first-of-type{width:138px}.live-map-toolbar .filter-bar select:last-of-type{width:240px;max-width:240px}.live-map-toolbar .filter-bar button{flex:0 0 auto;width:72px;white-space:nowrap}.live-map-toolbar .filter-bar button,.live-map-actions button{border:1px solid #1d4ed8;background:#2563eb;color:#fff;padding:0 .75rem;cursor:pointer}.live-map-toolbar .filter-bar .filter-clear-btn{border:1px solid #94a3b8;background:#64748b;color:#fff}.live-map-toolbar .filter-bar .filter-clear-btn:hover{background:#475569}.live-map-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.5rem;flex:0 0 auto}.live-map-card .map-body{flex:1;min-height:0;border:1px solid var(--app-border, #d8dbe0)}.live-map-card .map-container{min-height:0}.live-map-card .trip-results-list,.live-map-card .trip-details-and-replay{border-left:1px solid var(--app-border, #d8dbe0);background:var(--app-surface, #fff);color:var(--app-text, #1f2937)}.app-shell[data-theme=dark] .live-map-kpi{box-shadow:none}.app-shell[data-theme=dark] .live-map-toolbar .filter-bar input,.app-shell[data-theme=dark] .live-map-toolbar .filter-bar select{border-color:#475569;background:#263449;color:#e5eef9}.app-shell[data-theme=dark] .live-map-card .trip-results-header,.app-shell[data-theme=dark] .live-map-card .trip-results-empty,.app-shell[data-theme=dark] .live-map-card .trip-results-list .challan,.app-shell[data-theme=dark] .live-map-card .freshness-badge{color:#a9b8cc}.app-shell[data-theme=dark] .live-map-card .trip-results-list li{border-bottom-color:#334155}.app-shell[data-theme=dark] .live-map-card .trip-results-list li:hover{background:#263449}.app-shell[data-theme=dark] .live-map-card .trip-results-list li.selected{background:#1e3a5f}@media (max-width: 980px){.live-map-toolbar{align-items:stretch;flex-direction:column}.live-map-toolbar .filter-bar{flex-wrap:wrap}.live-map-actions{justify-content:flex-start}}@media (max-width: 900px){.live-map-page{padding:.75rem}.live-map-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.live-map-card{padding:.75rem}.live-map-card .map-body{height:auto;min-height:0;flex-direction:column}.live-map-card .map-container{min-height:520px;height:520px}.live-map-card .trip-results-list,.live-map-card .trip-details-and-replay{width:100%;max-height:360px;border-left:0;border-top:1px solid var(--app-border, #d8dbe0)}}@media (max-width: 520px){.live-map-page{padding:.65rem}.live-map-kpis{grid-template-columns:1fr}.live-map-kpi{min-height:72px;padding:.8rem .95rem}.live-map-kpi strong{font-size:1.45rem}.live-map-toolbar .filter-bar{gap:.5rem}.live-map-toolbar .filter-bar input,.live-map-toolbar .filter-bar select,.live-map-toolbar .filter-bar button,.live-map-actions button{width:100%}.live-map-actions{width:100%;flex-direction:column;align-items:stretch}}.trip-details-strip{display:flex;align-items:center;flex:0 0 auto;min-height:0;gap:.5rem;margin-bottom:.5rem;padding:.4rem .75rem;border:1px solid var(--app-border, #d8dbe0);border-radius:6px;background:var(--app-surface, #fff);overflow:hidden}.trip-details-strip .trip-details-panel{display:flex;flex-direction:row;align-items:center;flex:1 1 auto;min-width:0;gap:.6rem;padding:0;border:0;background:transparent;overflow:visible}.trip-details-strip .trip-details-header{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;margin:0;padding:0;border:0}.trip-details-strip .trip-details-header h2{font-size:.88rem;font-weight:700;white-space:nowrap;margin:0}.trip-details-strip .trip-details-body{display:flex;flex-direction:row;align-items:center;flex:1 1 auto;min-width:0;gap:.5rem;overflow:hidden}.trip-details-strip .trip-details-row{display:flex;align-items:center;gap:.3rem;flex:0 0 auto;padding:.2rem .5rem;border:1px solid var(--app-border, #e5e7eb);border-radius:4px;background:var(--app-surface-soft, #f8fafc);font-size:.82rem;white-space:nowrap}.trip-details-strip .trip-details-row .label{color:var(--app-text-muted, #64748b);font-size:.75rem;font-weight:500}.trip-details-strip .trip-details-row span:last-child{font-weight:650}.trip-details-strip .anomaly-summary,.trip-details-strip .anomaly-list-summary,.trip-details-strip .trip-legs-table,.trip-details-strip .force-close-section{display:none}.app-shell[data-theme=dark] .trip-details-strip{border-color:#334155;background:#1e293b}.app-shell[data-theme=dark] .trip-details-strip .trip-details-row{border-color:#334155;background:#263449}.map-replay-bar{position:absolute;bottom:0;left:0;right:0;z-index:10;pointer-events:none}.map-replay-bar .replay-controls{pointer-events:all;margin:0 auto .5rem;width:calc(100% - 2rem);max-width:680px;padding:.55rem .9rem;border-radius:8px;background:#fffffff2;border:1px solid var(--app-border, #d8dbe0);box-shadow:0 4px 16px #0f172a2e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:row;align-items:center;gap:.75rem}.map-replay-bar .replay-controls-row{display:flex;align-items:center;gap:.4rem;margin:0;flex:0 0 auto}.map-replay-bar .replay-controls-row:first-child,.map-replay-bar .replay-scrubber{flex:1 1 auto;min-width:0}.app-shell[data-theme=dark] .map-replay-bar .replay-controls{background:#1e293bf5;border-color:#334155}.filter-search-btn{flex:0 0 auto!important;width:auto!important;padding:0 1rem!important;background:#2563eb!important;color:#fff!important;border:1px solid #1d4ed8!important;font-weight:600;letter-spacing:.01em}.filter-search-btn:hover{background:#1d4ed8!important}.trip-details-and-replay--top{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:.75rem;align-items:stretch;margin-bottom:.75rem;min-height:0;border:1px solid var(--app-border, #d8dbe0);border-radius:6px;background:var(--app-surface, #fff);color:var(--app-text, #1f2937);overflow:hidden}.trip-details-and-replay--top .trip-details-panel{width:auto;min-height:0;max-height:230px;display:flex;flex-direction:column;overflow:hidden;padding:.7rem .85rem;border-left:0;background:transparent}.trip-details-and-replay--top .trip-details-header{flex:0 0 auto;gap:.5rem;margin-bottom:.45rem;padding-bottom:.4rem;border-bottom:1px solid var(--app-border, #e5e7eb)}.trip-details-and-replay--top .trip-details-header h2{font-size:.98rem}.trip-details-and-replay--top .trip-details-header>button:last-child{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--app-border, #cbd5e1);border-radius:999px;background:var(--app-surface-soft, #f8fafc);color:var(--app-text, #1f2937);font-size:1.1rem}.trip-details-and-replay--top .trip-details-body{overflow-y:auto;padding-right:.25rem}.trip-details-and-replay--top .trip-details-body,.trip-details-and-replay--top .trip-details-summary-grid-compact{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:.45rem}.trip-details-and-replay--top .trip-details-row{display:grid;gap:.12rem;min-width:0;padding:.35rem .45rem;border:1px solid var(--app-border, #e5e7eb);border-radius:5px;background:var(--app-surface-soft, #f8fafc)}.trip-details-and-replay--top .trip-details-row span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.trip-details-and-replay--top .force-close-section,.trip-details-and-replay--top .trip-legs-table,.trip-details-and-replay--top .anomaly-summary,.trip-details-and-replay--top .anomaly-list-summary{grid-column:1 / -1}.trip-details-and-replay--top .trip-legs-table{margin-top:0}.trip-details-and-replay--top .replay-controls{display:flex;flex-direction:column;justify-content:center;gap:.45rem;min-width:0;padding:.7rem .85rem;border-left:1px solid var(--app-border, #d8dbe0);border-top:0;background:var(--app-surface-soft, #f8fafc)}.trip-details-and-replay--top .replay-controls-row{margin-bottom:0}.app-shell[data-theme=dark] .trip-details-and-replay--top,.app-shell[data-theme=dark] .trip-details-and-replay--top .trip-details-row{border-color:#334155}.app-shell[data-theme=dark] .trip-details-and-replay--top .trip-details-row,.app-shell[data-theme=dark] .trip-details-and-replay--top .replay-controls,.app-shell[data-theme=dark] .trip-details-and-replay--top .trip-details-header>button:last-child{background:#263449}@media (max-width: 1180px){.trip-details-and-replay--top{grid-template-columns:1fr}.trip-details-and-replay--top .replay-controls{border-left:0;border-top:1px solid var(--app-border, #d8dbe0)}}@media (max-width: 900px){.trip-details-and-replay--top .trip-details-body,.trip-details-and-replay--top .trip-details-summary-grid-compact{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media (max-width: 560px){.trip-details-and-replay--top .trip-details-panel{max-height:260px}.trip-details-and-replay--top .trip-details-body,.trip-details-and-replay--top .trip-details-summary-grid-compact{grid-template-columns:1fr}}.floating-trip-card{min-width:220px;max-width:440px;border-radius:8px;background:#ffffffe0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(148,163,184,.28);box-shadow:0 4px 20px #0f172a29;overflow:hidden;-webkit-user-select:none;user-select:none}.floating-trip-card__handle{display:flex;align-items:center;gap:.45rem;padding:.38rem .55rem;cursor:grab;background:transparent}.floating-trip-card__handle:active{cursor:grabbing}.floating-trip-card__grip{color:#64748b99;font-size:1rem;line-height:1;flex-shrink:0}.floating-trip-card__title{font-size:.82rem;font-weight:700;color:var(--app-text, #1f2937);flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-trip-card__follow,.floating-trip-card__toggle,.floating-trip-card__close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid rgba(148,163,184,.35);border-radius:4px;background:#fff6;color:#475569;font-size:.8rem;line-height:1;cursor:pointer;flex-shrink:0}.floating-trip-card__follow[aria-pressed=true]{border-color:#2563eb;color:#2563eb;background:#2563eb1a}.floating-trip-card__close{color:#94a3b8;font-size:1rem}.floating-trip-card__close:hover{color:#ef4444;border-color:#ef4444}.floating-trip-card__body{border-top:1px solid rgba(148,163,184,.2);max-height:380px;overflow-y:auto}.floating-trip-card__body .trip-details-panel{width:100%;border:0;background:transparent;max-height:none;padding:.55rem .7rem}.floating-trip-card__body .trip-details-header{display:none}.floating-trip-card__replay{border-top:1px solid rgba(148,163,184,.2);padding:.4rem .6rem;background:#f8fafc99}.floating-trip-card__replay .replay-controls{display:flex;flex-direction:row;flex-wrap:wrap;gap:.4rem;padding:0;background:transparent;border:0;box-shadow:none}.floating-trip-card__replay .replay-controls-row{display:flex;align-items:center;gap:.35rem;margin:0}.app-shell[data-theme=dark] .floating-trip-card{background:#0f172ae0;border-color:#47556966}.app-shell[data-theme=dark] .floating-trip-card__title{color:#e5eef9}.app-shell[data-theme=dark] .floating-trip-card__follow,.app-shell[data-theme=dark] .floating-trip-card__toggle,.app-shell[data-theme=dark] .floating-trip-card__close{background:#1e293b80;border-color:#47556980;color:#94a3b8}.map-sidebar-drawer{display:flex;flex-direction:column;flex-shrink:0;min-height:0;transition:width .25s cubic-bezier(.4,0,.2,1),opacity .2s ease;overflow:hidden}.map-sidebar-drawer--open{width:350px;opacity:1}.map-sidebar-drawer--closed{width:0;opacity:0;pointer-events:none}.map-sidebar-drawer .trip-results-list{width:350px;height:100%}.trip-details-toggle-btn{font-size:.75rem;font-weight:600;padding:2px 7px;border-radius:4px;border:1px solid var(--app-border, #cbd5e1);background:var(--app-surface, #ffffff);color:#2563eb;cursor:pointer;white-space:nowrap;transition:all .15s ease;line-height:1.4;margin-left:auto}.trip-details-toggle-btn:hover{background:#eff6ff;border-color:#93c5fd}.trip-details-toggle-btn--expanded{background:#2563eb;color:#fff;border-color:#1d4ed8}.trip-details-toggle-btn--expanded:hover{background:#1d4ed8}.trip-item-details-expand{width:100%;flex:1 1 100%;margin-top:.5rem;padding:.6rem;border-top:1px solid var(--app-border, #e2e8f0);background:var(--app-surface-soft, #f8fafc);border-radius:4px;cursor:default;max-height:480px;overflow-y:auto;box-sizing:border-box}.trip-item-details-expand .trip-details-panel{width:100%;border:0;background:transparent;padding:0;box-sizing:border-box}.trip-item-details-expand .trip-details-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--app-border, #e2e8f0)}.trip-item-details-expand .trip-details-header h2{font-size:.92rem;margin:0}.trip-item-replay{margin-top:.6rem;padding:.45rem;border-radius:6px;background:var(--app-surface, #ffffff);border:1px solid var(--app-border, #e2e8f0)}.trip-item-replay .replay-controls{box-shadow:none;background:transparent;padding:0;border:0}.app-shell[data-theme=dark] .trip-details-toggle-btn{background:#1e293b;border-color:#475569;color:#60a5fa}.app-shell[data-theme=dark] .trip-details-toggle-btn:hover{background:#334155}.app-shell[data-theme=dark] .trip-details-toggle-btn--expanded{background:#2563eb;color:#fff;border-color:#3b82f6}.app-shell[data-theme=dark] .trip-item-details-expand{background:#0f172a;border-top-color:#334155}.app-shell[data-theme=dark] .trip-item-replay{background:#1e293b;border-color:#334155}.sidebar-toggle-tab{position:absolute;right:0;top:85px;z-index:15;display:flex;align-items:center;justify-content:center;gap:5px;height:38px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.sidebar-toggle-tab--open{width:26px;padding:0;border-radius:8px 0 0 8px;background:#fffffff0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--app-border, #cbd5e1);border-right:none;box-shadow:-2px 2px 10px #0f172a1f;color:var(--app-text, #334155);font-size:1.25rem;font-weight:700;line-height:1}.sidebar-toggle-tab--open:hover{background:#fff;color:#2563eb;border-color:#93c5fd;box-shadow:-3px 3px 14px #2563eb38}.sidebar-toggle-tab--closed{padding:0 12px;border-radius:8px 0 0 8px;background:#2563eb;color:#fff;border:1px solid #1d4ed8;border-right:none;box-shadow:-3px 3px 14px #2563eb59;font-size:.82rem;font-weight:600;letter-spacing:.01em}.sidebar-toggle-tab--closed:hover{background:#1d4ed8;color:#fff;box-shadow:-4px 4px 18px #1d4ed873}.app-shell[data-theme=dark] .sidebar-toggle-tab--open{background:#1e293bf0;border-color:#47556999;color:#e2e8f0}.app-shell[data-theme=dark] .sidebar-toggle-tab--open:hover{background:#1e293b;color:#60a5fa;border-color:#3b82f6}.app-shell[data-theme=dark] .sidebar-toggle-tab--closed{background:#2563eb;color:#fff;border-color:#1d4ed8}.app-shell[data-theme=dark] .sidebar-toggle-tab--closed:hover{background:#1d4ed8}@media (max-width: 900px){.map-sidebar-drawer--open{width:100%;max-height:360px}.map-sidebar-drawer--closed{width:100%;max-height:0}.map-sidebar-drawer .trip-results-list{width:100%}}.live-map-page{--dashboard-card: #ffffff;--dashboard-border: #e2e8f0;--dashboard-value: #0f172a;--dashboard-muted: #475569;--dashboard-shadow: 0 8px 22px rgba(15, 23, 42, .06);--kpi-blue: #2563eb;--kpi-teal: #FB7185;--kpi-violet: #22C55E;--kpi-amber: #F59E0B;--kpi-blue-tint: rgba(37, 99, 235, .1);--kpi-teal-tint: rgba(13, 148, 136, .11);--kpi-violet-tint: rgba(124, 58, 237, .1);--kpi-amber-tint: rgba(217, 119, 6, .11)}.app-shell[data-theme=dark] .live-map-page{--dashboard-card: #1e293b;--dashboard-border: #334155;--dashboard-value: #f8fafc;--dashboard-muted: #cbd5e1;--dashboard-shadow: 0 10px 26px rgba(0, 0, 0, .24);--kpi-blue: #60a5fa;--kpi-teal: #FB7185;--kpi-violet: #22C55E;--kpi-amber: #F59E0B;--kpi-blue-tint: rgba(96, 165, 250, .14);--kpi-teal-tint: rgba(45, 212, 191, .14);--kpi-violet-tint: rgba(167, 139, 250, .15);--kpi-amber-tint: rgba(251, 191, 36, .14)}.live-map-kpi{display:flex;min-height:116px;flex-direction:column;justify-content:center;padding:1.15rem 1.25rem;border:1px solid var(--dashboard-border);border-left:5px solid var(--kpi-accent);border-radius:8px;background:var(--dashboard-card);color:var(--dashboard-value);box-shadow:var(--dashboard-shadow)}.live-map-kpi--primary{--kpi-accent: var(--kpi-blue);--kpi-tint: var(--kpi-blue-tint)}.live-map-kpi--online{--kpi-accent: var(--kpi-teal);--kpi-tint: var(--kpi-teal-tint)}.live-map-kpi--offline{--kpi-accent: var(--kpi-violet);--kpi-tint: var(--kpi-violet-tint)}.live-map-kpi--never{--kpi-accent: var(--kpi-amber);--kpi-tint: var(--kpi-amber-tint)}.live-map-kpi span{color:var(--dashboard-muted);font-size:.86rem;font-weight:650;line-height:1.25}.live-map-kpi strong{margin-top:.25rem;color:var(--dashboard-value);font-size:clamp(1.75rem,2.2vw,2rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:0}.live-map-kpi:after{content:"";width:44px;height:8px;margin-top:.9rem;border-radius:999px;background:var(--kpi-accent);box-shadow:0 0 0 8px var(--kpi-tint)}@media (max-width: 520px){.live-map-kpi{min-height:112px;padding:16px}}.live-map-kpi{flex-direction:row;align-items:center;justify-content:flex-start;gap:16px}.live-map-kpi__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;border-radius:14px;background:var(--kpi-accent);color:#fff}.live-map-kpi__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.live-map-kpi__body{min-width:0}.live-map-kpi:after{display:none}@media (max-width: 520px){.live-map-kpi{align-items:flex-start}}.login-brand-panel{display:flex;align-items:center;gap:.9rem;margin-bottom:.5rem}.login-brand-panel img{width:42px;height:54px;object-fit:contain;flex:0 0 auto}.login-brand-panel h1{margin:0;color:#1f2933;font-size:1.35rem;line-height:1.1}.login-brand-panel p{margin:.2rem 0 0;color:#56616d;font-size:.9rem}.app-shell__brand-text{color:var(--app-text);font-weight:700;font-size:.95rem;line-height:1.1;white-space:nowrap}@media (max-width: 720px){.app-shell__brand-text{display:none}}.tracking-login-page{min-height:100%;display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);background:#eef4f1;color:#17202a}.tracking-login-card{display:flex;flex-direction:column;justify-content:center;padding:48px 42px;background:linear-gradient(180deg,#fff,#f7faf8);border-right:1px solid rgba(35,47,62,.12)}.tracking-login-brand{display:flex;align-items:center;gap:14px;margin-bottom:36px}.tracking-login-brand img{width:56px;height:70px;object-fit:contain;flex:0 0 auto}.tracking-login-brand strong,.tracking-login-brand span,.tracking-login-heading p,.tracking-login-heading h1{display:block;margin:0}.tracking-login-brand strong{color:#17202a;font-size:21px;line-height:1.15;font-weight:750}.tracking-login-brand span{margin-top:3px;color:#52616f;font-size:13px;line-height:1.35}.tracking-login-heading{margin-bottom:24px}.tracking-login-heading p{color:#237045;font-size:13px;font-weight:750;letter-spacing:0;text-transform:uppercase}.tracking-login-heading h1{margin-top:6px;color:#17202a;font-size:32px;line-height:1.15;font-weight:760}.tracking-login-form{display:grid;gap:16px}.tracking-login-form label{display:grid;gap:7px;color:#263642;font-size:14px;font-weight:700}.tracking-login-form input{box-sizing:border-box;width:100%;height:44px;padding:0 12px;border:1px solid #cddbd2;border-radius:5px;background:#fff;color:#17202a;font:inherit;outline:none}.tracking-login-form input:focus{border-color:#237045;box-shadow:0 0 0 3px #2370451f}.tracking-login-form button{height:46px;margin-top:6px;border:0;border-radius:5px;background:#237045;color:#fff;font:inherit;font-weight:750;cursor:pointer;box-shadow:0 10px 22px #23704538}.tracking-login-form button:hover:not(:disabled),.tracking-login-form button:focus-visible:not(:disabled){background:#1b5f39}.tracking-login-form button:disabled{cursor:default;opacity:.68}.tracking-login-error{margin:0;padding:10px 12px;border:1px solid #f0b8b8;border-radius:5px;background:#fff1f1;color:#9b1c1c;font-size:14px;font-weight:650}.tracking-login-visual{position:relative;min-height:100vh;overflow:hidden;background:#17202a}.tracking-login-visual>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.tracking-login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#08182670,#0818261f),linear-gradient(0deg,#081826b8,#0818260a 58%)}.tracking-login-visual-content{position:absolute;left:44px;right:44px;bottom:42px;z-index:1;max-width:590px;color:#fff}.tracking-login-visual-content img{width:62px;height:78px;object-fit:contain;padding:8px;margin-bottom:18px;background:#ffffffeb;border-radius:6px}.tracking-login-visual-content p,.tracking-login-visual-content h2,.tracking-login-visual-content span{display:block;margin:0}.tracking-login-visual-content p{color:#d9f3df;font-size:14px;font-weight:750}.tracking-login-visual-content h2{margin-top:7px;font-size:40px;line-height:1.08;font-weight:760}.tracking-login-visual-content span{max-width:470px;margin-top:13px;color:#ffffffdb;font-size:16px;line-height:1.5}@media (max-width: 900px){.tracking-login-page{grid-template-columns:1fr}.tracking-login-card{order:2;padding:34px 26px 38px;border-right:0}.tracking-login-visual{min-height:340px}}@media (max-width: 560px){.tracking-login-card{padding:28px 20px 34px}.tracking-login-brand{align-items:flex-start;margin-bottom:28px}.tracking-login-heading h1{font-size:29px}.tracking-login-visual{min-height:290px}.tracking-login-visual-content{left:22px;right:22px;bottom:24px}.tracking-login-visual-content h2{font-size:30px}}.tracking-login-page{min-height:100%;display:flex;flex-direction:column;background:#eef3f6;color:#17202a}.tracking-login-topbar{min-height:56px;display:flex;align-items:center;padding:0 22px;background:#222;color:#d8dde3;box-shadow:0 2px 8px #0f172a2e}.tracking-login-topbar-brand{display:inline-flex;align-items:center;gap:11px;min-width:0;font-size:18px;font-weight:600;line-height:1.2}.tracking-login-topbar-brand img{width:34px;height:43px;object-fit:contain;flex:0 0 auto}.tracking-login-shell{width:min(1180px,calc(100vw - 48px));min-height:540px;margin:28px auto;display:grid;grid-template-columns:minmax(320px,360px) minmax(0,1fr);overflow:hidden;border:1px solid rgba(35,47,62,.12);border-radius:8px;background:#fff;box-shadow:0 18px 42px #19263424}.tracking-login-card{min-height:0;padding:34px;justify-content:center;border-right:1px solid rgba(35,47,62,.1);background:linear-gradient(180deg,#fff,#f7faf8)}.tracking-login-brand{justify-content:center;flex-direction:column;gap:7px;margin-bottom:20px;text-align:center}.tracking-login-brand img{width:58px;height:74px}.tracking-login-brand strong{font-size:19px}.tracking-login-brand span{margin-top:2px;font-size:13px}.tracking-login-heading{margin-bottom:22px;text-align:center}.tracking-login-heading p{color:#237045;font-size:13px;text-transform:uppercase}.tracking-login-heading h1{margin-top:5px;font-size:28px}.tracking-login-form{gap:15px}.tracking-login-form button{background:#237045}.tracking-login-visual{min-height:540px}.tracking-login-visual:after{background:linear-gradient(90deg,#08182652,#08182614),linear-gradient(0deg,#0818268a,#08182605 58%)}.tracking-login-visual-content{left:32px;right:32px;bottom:32px;max-width:520px;display:inline-flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:#ffffffeb;box-shadow:0 12px 30px #0000002e;color:#17202a}.tracking-login-visual-content img{width:46px;height:58px;padding:0;margin:0;background:transparent}.tracking-login-visual-content p{color:#1f2933;font-size:18px;font-weight:750}.tracking-login-visual-content h2{margin-top:2px;color:#56616d;font-size:14px;line-height:1.3;font-weight:650}@media (max-width: 900px){.tracking-login-shell{width:min(680px,calc(100vw - 32px));grid-template-columns:1fr}.tracking-login-card{order:2;padding:32px 26px;border-right:0}.tracking-login-visual{min-height:320px}}@media (max-width: 560px){.tracking-login-topbar{padding:8px 14px}.tracking-login-topbar-brand{font-size:15px}.tracking-login-shell{width:calc(100vw - 20px);margin:12px auto}.tracking-login-card{padding:28px 20px}.tracking-login-visual-content{left:16px;right:16px;bottom:16px}}.landing-page{--landing-bg: #f5f8f6;--landing-surface: #ffffff;--landing-surface-soft: #eef5f0;--landing-text: #17202a;--landing-muted: #53616f;--landing-border: rgba(23, 32, 42, .12);--landing-accent: #237045;--landing-accent-strong: #175b36;--landing-gold: #d49a2a;--landing-shadow: 0 18px 46px rgba(23, 32, 42, .12);min-height:100%;background:var(--landing-bg);color:var(--landing-text);font-family:inherit}.landing-page[data-theme=dark]{--landing-bg: #101820;--landing-surface: #172331;--landing-surface-soft: #1f3141;--landing-text: #f5f8fb;--landing-muted: #b5c2ce;--landing-border: rgba(229, 238, 247, .16);--landing-accent: #63c082;--landing-accent-strong: #8ed89f;--landing-gold: #e5b956;--landing-shadow: 0 18px 50px rgba(0, 0, 0, .28)}.landing-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:10px clamp(18px,4vw,56px);border-bottom:1px solid var(--landing-border);background:color-mix(in srgb,var(--landing-surface) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.landing-brand,.landing-header-actions,.landing-nav,.landing-hero__actions,.landing-login-brand{display:flex;align-items:center}.landing-brand{min-width:0;gap:12px;color:var(--landing-text);text-decoration:none}.landing-brand img{width:38px;height:48px;object-fit:contain;flex:0 0 auto}.landing-brand strong,.landing-brand small{display:block;line-height:1.2}.landing-brand strong{font-size:16px;font-weight:780}.landing-brand small{margin-top:3px;color:var(--landing-muted);font-size:12px;font-weight:650}.landing-nav{gap:10px;margin-left:auto}.landing-nav a,.landing-nav button,.landing-hero__actions a,.landing-hero__actions button,.landing-login-back,.landing-login-submit{min-height:40px;border-radius:6px;text-decoration:none;cursor:pointer}.landing-nav a{display:inline-flex;align-items:center;padding:0 12px;color:var(--landing-muted);font-size:14px;font-weight:700}.landing-nav a:hover,.landing-nav a:focus-visible{color:var(--landing-accent-strong)}.landing-nav button,.landing-hero__actions button,.landing-login-submit{border:1px solid var(--landing-accent);background:var(--landing-accent);color:#fff;font-weight:760}.landing-nav button{padding:0 18px}.landing-header-actions{gap:12px}.landing-theme-toggle{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--landing-border);border-radius:6px;background:var(--landing-surface);color:var(--landing-text);cursor:pointer}.landing-theme-toggle svg,.landing-features svg,.landing-password-field button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.landing-wfp-logo{width:92px;max-height:42px;object-fit:contain}.landing-hero{width:min(1180px,calc(100vw - 40px));min-height:560px;margin:34px auto 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:34px;align-items:center}.landing-hero__content{min-width:0}.landing-eyebrow{margin:0 0 14px;color:var(--landing-accent-strong);font-size:13px;font-weight:800;text-transform:uppercase}.landing-hero h1{max-width:760px;margin:0;color:var(--landing-text);font-size:clamp(36px,5vw,62px);line-height:1.05;font-weight:820;letter-spacing:0}.landing-hero__content>p:not(.landing-eyebrow){max-width:660px;margin:20px 0 0;color:var(--landing-muted);font-size:17px;line-height:1.65}.landing-hero__actions{gap:12px;flex-wrap:wrap;margin-top:30px}.landing-hero__actions button,.landing-hero__actions a{display:inline-flex;align-items:center;justify-content:center;padding:0 22px}.landing-hero__actions a{border:1px solid var(--landing-border);background:var(--landing-surface);color:var(--landing-text);font-weight:750}.landing-hero__visual{position:relative;min-height:500px;overflow:hidden;border-radius:8px;box-shadow:var(--landing-shadow);background:#1c2b35}.landing-hero__visual>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.landing-hero__visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a16200d,#0a16208f)}.landing-route-card{position:absolute;left:24px;bottom:24px;z-index:1;width:min(310px,calc(100% - 48px));padding:18px;border:1px solid rgba(255,255,255,.38);border-radius:8px;background:#ffffffeb;color:#17202a;box-shadow:0 16px 34px #00000038}.landing-route-card span{color:#237045;font-size:12px;font-weight:800;text-transform:uppercase}.landing-route-card strong{margin-top:4px;font-size:28px;line-height:1.05}.landing-route-card small{margin-top:6px;color:#52616f;font-size:13px}.landing-overview,.landing-features{width:min(1180px,calc(100vw - 40px));margin:34px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.landing-overview>div,.landing-features article{border:1px solid var(--landing-border);border-radius:8px;background:var(--landing-surface);color:var(--landing-text);box-shadow:0 8px 24px #17202a0f}.landing-overview>div{padding:20px}.landing-overview span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:30px;border-radius:6px;background:var(--landing-surface-soft);color:var(--landing-accent-strong);font-weight:820}.landing-overview strong,.landing-features h2{display:block;margin:14px 0 0;font-size:19px}.landing-overview p,.landing-features p{margin:9px 0 0;color:var(--landing-muted);font-size:14px;line-height:1.55}.landing-features{margin-top:18px}.landing-features article{padding:22px}.landing-features svg{width:34px;height:34px;color:var(--landing-accent-strong)}.landing-footer{width:min(1180px,calc(100vw - 40px));margin:34px auto 0;padding:20px 0 28px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--landing-border);color:var(--landing-muted);font-size:13px;font-weight:650}.landing-login-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,var(--landing-bg) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.landing-login-card{width:min(420px,100%);display:grid;gap:16px;padding:30px;border:1px solid var(--landing-border);border-radius:8px;background:var(--landing-surface);box-shadow:var(--landing-shadow)}.landing-login-back{position:absolute;left:24px;top:22px;padding:0 16px;border:1px solid var(--landing-border);background:var(--landing-surface);color:var(--landing-text);font-weight:720}.landing-login-brand{gap:12px}.landing-login-brand img{width:48px;height:60px;object-fit:contain}.landing-login-brand strong,.landing-login-brand span,.landing-login-heading p,.landing-login-heading h2{display:block;margin:0}.landing-login-brand strong{font-size:19px}.landing-login-brand span,.landing-login-heading p{color:var(--landing-muted);font-size:13px}.landing-login-heading h2{margin-top:4px;font-size:30px}.landing-field{display:grid;gap:7px;color:var(--landing-text);font-size:14px;font-weight:760}.landing-field input{box-sizing:border-box;width:100%;height:44px;padding:0 12px;border:1px solid var(--landing-border);border-radius:6px;background:var(--landing-bg);color:var(--landing-text);outline:none}.landing-field input:focus{border-color:var(--landing-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--landing-accent) 18%,transparent)}.landing-password-field{position:relative}.landing-password-field input{padding-right:44px}.landing-password-field button{position:absolute;top:50%;right:6px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--landing-muted);cursor:pointer;transform:translateY(-50%)}.landing-login-submit{width:100%;height:46px;margin-top:4px}.landing-login-submit:disabled{cursor:default;opacity:.68}.landing-login-error{margin:0;padding:10px 12px;border:1px solid #f0b8b8;border-radius:6px;background:#fff1f1;color:#9b1c1c;font-size:14px;font-weight:650}@media (max-width: 900px){.landing-header{align-items:flex-start;flex-wrap:wrap}.landing-nav{order:3;width:100%;margin-left:0}.landing-hero{grid-template-columns:1fr;min-height:0}.landing-hero__visual{min-height:360px}.landing-overview,.landing-features{grid-template-columns:1fr}}@media (max-width: 560px){.landing-header{padding:10px 14px}.landing-brand strong{font-size:14px}.landing-brand small,.landing-wfp-logo{display:none}.landing-nav{overflow-x:auto;padding-bottom:2px}.landing-hero,.landing-overview,.landing-features,.landing-footer{width:calc(100vw - 28px)}.landing-hero h1{font-size:34px}.landing-hero__content>p:not(.landing-eyebrow){font-size:15px}.landing-hero__visual{min-height:300px}.landing-footer{flex-direction:column}.landing-login-view{align-items:flex-start;padding:80px 14px 20px;overflow-y:auto}.landing-login-back{left:14px}.landing-login-card{padding:22px}}.landing-header{padding-inline:clamp(14px,2vw,28px)}.landing-hero,.landing-overview,.landing-features,.landing-footer{width:min(1360px,calc(100vw - 28px))}.landing-hero{gap:24px;margin-top:22px}.landing-header-actions{flex:0 0 auto}.landing-theme-toggle{flex:0 0 40px;background:var(--landing-surface);color:var(--landing-text);opacity:1;visibility:visible}.landing-wfp-logo{width:104px;max-height:44px;object-fit:contain}.landing-wfp-logo--dark,.landing-page[data-theme=dark] .landing-wfp-logo--light{display:none}.landing-page[data-theme=dark] .landing-wfp-logo--dark{display:block}.landing-login-view{padding:26px}.landing-login-shell{width:min(980px,calc(100vw - 52px));min-height:540px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,390px);overflow:hidden;border:1px solid var(--landing-border);border-radius:8px;background:var(--landing-surface);box-shadow:var(--landing-shadow)}.landing-login-visual{position:relative;min-height:540px;overflow:hidden;background:#17202a}.landing-login-visual>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.landing-login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#08182638,#0818260d),linear-gradient(0deg,#08182694,#08182605 58%)}.landing-login-visual-content{position:absolute;left:28px;right:28px;bottom:28px;z-index:1;display:inline-flex;align-items:center;gap:14px;max-width:540px;padding:14px 18px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:#ffffffeb;color:#17202a;box-shadow:0 12px 30px #0000002e}.landing-login-visual-content img{width:46px;height:58px;object-fit:contain;flex:0 0 auto}.landing-login-visual-content p,.landing-login-visual-content h2{margin:0}.landing-login-visual-content p{color:#1f2933;font-size:18px;font-weight:750;line-height:1.2}.landing-login-visual-content h2{margin-top:2px;color:#56616d;font-size:14px;line-height:1.3;font-weight:650}.landing-login-card{width:auto;min-height:0;align-content:center;padding:34px;border:0;border-left:1px solid var(--landing-border);border-radius:0;box-shadow:none}@media (max-width: 900px){.landing-login-shell{grid-template-columns:1fr;width:min(680px,calc(100vw - 32px))}.landing-login-visual{min-height:300px}.landing-login-card{border-left:0;border-top:1px solid var(--landing-border)}}@media (max-width: 560px){.landing-header-actions{margin-left:auto}.landing-wfp-logo{display:block;width:76px}.landing-page[data-theme=dark] .landing-wfp-logo--dark{display:block}.landing-login-view{padding:70px 10px 14px}.landing-login-shell{width:100%;min-height:0}.landing-login-card{padding:24px 20px}.landing-login-visual{min-height:240px}.landing-login-visual-content{left:14px;right:14px;bottom:14px}}.landing-page{min-height:100%;background:radial-gradient(circle at 12% 12%,rgba(37,99,235,.22),transparent 32rem),radial-gradient(circle at 82% 6%,rgba(34,197,94,.13),transparent 28rem),#07111f;color:#f8fafc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.landing-page button,.landing-page input{font:inherit}.landing-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:0;padding:.55rem clamp(1rem,3vw,2.5rem);border-bottom:1px solid rgba(148,163,184,.18);background:#07111feb;box-shadow:0 14px 40px #0000002e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.landing-brand{display:inline-flex;align-items:center;gap:.7rem;min-width:0;color:#f8fafc;text-decoration:none}.landing-brand img{width:36px;height:46px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;filter:none;object-fit:contain;flex:0 0 auto}.landing-brand span,.landing-brand strong,.landing-brand small{display:block;min-width:0}.landing-brand strong{color:#f8fafc;font-size:.9rem;line-height:1.2;font-weight:760}.landing-brand small{margin-top:.15rem;color:#b6c3d6;font-size:.74rem}.landing-nav{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;flex:0 0 auto}.landing-nav a,.landing-nav button,.landing-hero__actions a,.landing-hero__actions button,.landing-secondary-action{border:1px solid transparent;color:#dbeafe;background:transparent;text-decoration:none;font:inherit;cursor:pointer}.landing-nav a{border-radius:999px;padding:.42rem .7rem;color:#dbeafe;font-size:.84rem;font-weight:750}.landing-nav button{min-height:34px;border-radius:999px;padding:.42rem .85rem;background:#2563eb;color:#fff;font-size:.84rem;font-weight:800;box-shadow:0 10px 24px #2563eb47}.landing-nav a:hover,.landing-nav a:focus-visible,.landing-nav button:hover,.landing-nav button:focus-visible,.landing-hero__actions a:focus-visible,.landing-hero__actions button:focus-visible,.landing-submit:focus-visible,.landing-password-control button:focus-visible,.landing-secondary-action:focus-visible,.landing-theme-toggle:focus-visible{outline:3px solid rgba(96,165,250,.34);outline-offset:2px}.landing-nav a:hover{background:#60a5fa21;color:#fff}.landing-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.75rem;flex:0 0 auto}.landing-theme-toggle{width:38px;height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(96,165,250,.34);border-radius:999px;background:#60a5fa21;color:#dbeafe;line-height:1;cursor:pointer}.landing-theme-toggle:hover{border-color:#22c55e70;color:#fff}.landing-theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.landing-theme-toggle svg path:only-child{fill:currentColor;stroke:none}.landing-wfp-logo,.landing-page[data-theme=dark] .landing-wfp-logo,.landing-page:not([data-theme=light]) .landing-wfp-logo,.landing-page[data-theme=light] .landing-wfp-logo{width:150px;max-width:24vw;height:auto;max-height:none;object-fit:contain;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;filter:none}.landing-hero{width:auto;min-height:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;padding:clamp(2rem,5vw,4.5rem) clamp(1rem,5vw,4rem) 2rem}.landing-hero__content{max-width:780px}.landing-eyebrow{margin:0 0 .75rem;color:#38bdf8;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.landing-hero h1{max-width:none;margin:0;color:#f8fafc;font-size:clamp(2rem,5vw,4rem);line-height:1.05;font-weight:800;letter-spacing:0}.landing-hero__content>p:not(.landing-eyebrow){max-width:680px;margin:1.1rem 0 0;color:#b6c3d6;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.7}.landing-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.landing-hero__actions button,.landing-hero__actions a,.landing-submit{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-color:#1d4ed8;border-radius:8px;background:#2563eb;color:#fff;padding:0 1rem;font-weight:800;box-shadow:0 14px 26px #2563eb47}.landing-hero__actions a:last-child{border-color:#22c55e6b;background:#22c55e1a;color:#bbf7d0}.landing-hero__visual,.landing-login-visual{position:relative;overflow:hidden;border:1px solid rgba(96,165,250,.28);border-radius:8px;background:#0c1b2e;box-shadow:0 24px 60px #00000047}.landing-hero__visual{min-height:360px}.landing-hero__visual img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}.landing-hero__visual:after,.landing-login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#07111f14,#07111f75)}.landing-route-card{position:absolute;right:1rem;bottom:1rem;left:auto;z-index:1;width:min(260px,calc(100% - 2rem));padding:1rem;border:1px solid rgba(96,165,250,.26);border-radius:8px;background:#08172ae0;color:#e2e8f0;box-shadow:0 16px 30px #0f172a2e}.landing-route-card span,.landing-route-card strong,.landing-route-card small{display:block}.landing-route-card span,.landing-route-card small{color:#b6c3d6}.landing-route-card span{font-size:.78rem;font-weight:750;text-transform:none}.landing-route-card strong{margin-top:.2rem;color:#f8fafc;font-size:1.4rem}.landing-route-card small{margin-top:.2rem;line-height:1.4}.landing-overview,.landing-features{width:auto;margin:0 clamp(1rem,5vw,4rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.landing-overview{padding:1rem 0 2rem}.landing-features{padding:0 0 2.5rem}.landing-overview div,.landing-features article,.landing-login-card{border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#0f1e33d1;box-shadow:0 18px 46px #0000003d}.landing-overview div{padding:1.1rem}.landing-overview span{display:inline-flex;width:auto;height:auto;align-items:center;justify-content:center;margin-bottom:.6rem;border-radius:999px;background:#f9731624;color:#fdba74;padding:.25rem .55rem;font-size:.74rem;font-weight:800}.landing-overview strong{display:block;margin:0;color:#f8fafc;font-size:1rem}.landing-overview p,.landing-features p,.landing-login-card__title p,.landing-login-visual p:not(.landing-eyebrow){color:#b6c3d6;line-height:1.6}.landing-overview p{margin:.35rem 0 0}.landing-features article{padding:1.25rem}.landing-features svg{width:42px;height:42px;margin-bottom:.9rem;border-radius:12px;padding:9px;background:#2563eb;color:#fff;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.landing-features article:nth-child(2) svg{background:#16a34a}.landing-features article:nth-child(3) svg{background:#f97316}.landing-features h2,.landing-login-card h2,.landing-login-visual h1{margin:0;color:#f8fafc;font-size:1.2rem;line-height:1.25}.landing-features p{margin:.55rem 0 0}.landing-login-view{position:static;inset:auto;z-index:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,420px);grid-auto-rows:1fr;gap:clamp(1rem,4vw,2.5rem);align-items:stretch;justify-content:normal;padding:clamp(1.5rem,5vw,4rem) clamp(1rem,5vw,4rem) 3rem;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.landing-login-view>.landing-login-visual,.landing-login-view>.landing-login-card{box-sizing:border-box;min-height:clamp(500px,calc(100vh - 230px),620px);height:auto;align-self:stretch}.landing-login-visual img{width:100%;height:100%;min-height:0;object-fit:cover;display:block}.landing-login-visual>div{position:absolute;left:clamp(1rem,4vw,2rem);right:clamp(1rem,4vw,2rem);bottom:clamp(1rem,4vw,2rem);z-index:1;max-width:620px}.landing-login-visual h1{font-size:clamp(1.9rem,4vw,3.5rem);line-height:1.05;letter-spacing:0}.landing-login-visual p:not(.landing-eyebrow){max-width:560px;margin:.9rem 0 0;line-height:1.65}.landing-login-card{width:auto;overflow:hidden;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:clamp(1.15rem,3vw,1.5rem);border-left:1px solid rgba(148,163,184,.18)}.landing-login-card__title h2{font-size:1.45rem}.landing-login-card__title p{margin:.25rem 0 0}.landing-login-error{margin:0;border:1px solid rgba(248,113,113,.5);border-radius:8px;background:#7f1d1d5c;color:#fecaca;padding:.75rem;font-size:.9rem;font-weight:650}.landing-field{display:grid;gap:.35rem;color:#e2e8f0;font-size:.9rem;font-weight:750}.landing-field input{box-sizing:border-box;width:100%;min-height:42px;height:auto;border:1px solid rgba(148,163,184,.35);border-radius:8px;background:#08172a;color:#f8fafc;padding:0 .75rem;font:inherit;font-weight:500}.landing-field input:focus{border-color:#60a5fa;outline:3px solid rgba(96,165,250,.25);box-shadow:none}.landing-field input[aria-invalid=true]{border-color:#fb7185}.landing-field small{color:#fecaca;font-size:.8rem;font-weight:650}.landing-password-control{position:relative}.landing-password-control input{padding-right:3rem}.landing-password-control button{position:absolute;top:5px;right:5px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:6px;background:#60a5fa29;color:#bfdbfe;cursor:pointer}.landing-password-control svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.landing-submit{border:1px solid #1d4ed8;cursor:pointer}.landing-submit:hover:not(:disabled),.landing-nav button:hover,.landing-hero__actions button:hover{background:#1d4ed8}.landing-submit:disabled{cursor:not-allowed;opacity:.64;box-shadow:none}.landing-secondary-action{min-height:42px;border-color:#94a3b847;border-radius:8px;background:#94a3b814;color:#cbd5e1;font-weight:750}.landing-secondary-action:hover{border-color:#22c55e6b;color:#bbf7d0}.landing-footer{width:auto;margin:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,5vw,4rem);border-top:1px solid rgba(148,163,184,.18);color:#b6c3d6;font-size:.86rem}.landing-page[data-theme=light]{background:radial-gradient(circle at 10% 12%,rgba(37,99,235,.14),transparent 32rem),radial-gradient(circle at 86% 6%,rgba(34,197,94,.1),transparent 28rem),#f4f7fb;color:#0f172a}.landing-page[data-theme=light] .landing-header{background:#fffffff0;border-bottom-color:#94a3b847;box-shadow:0 14px 38px #0f172a14}.landing-page[data-theme=light] .landing-brand,.landing-page[data-theme=light] .landing-brand strong,.landing-page[data-theme=light] .landing-hero h1,.landing-page[data-theme=light] .landing-features h2,.landing-page[data-theme=light] .landing-login-card h2,.landing-page[data-theme=light] .landing-login-visual h1,.landing-page[data-theme=light] .landing-overview strong{color:#0f172a}.landing-page[data-theme=light] .landing-login-visual h1,.landing-page[data-theme=light] .landing-login-visual p:not(.landing-eyebrow){color:#f8fafc;text-shadow:0 2px 14px rgba(15,23,42,.36)}.landing-page[data-theme=light] .landing-login-visual .landing-eyebrow{color:#bfdbfe}.landing-page[data-theme=light] .landing-brand small,.landing-page[data-theme=light] .landing-hero__content>p:not(.landing-eyebrow),.landing-page[data-theme=light] .landing-overview p,.landing-page[data-theme=light] .landing-features p,.landing-page[data-theme=light] .landing-login-card__title p,.landing-page[data-theme=light] .landing-footer{color:#475569}.landing-page[data-theme=light] .landing-nav a,.landing-page[data-theme=light] .landing-secondary-action{color:#334155}.landing-page[data-theme=light] .landing-nav a:hover{background:#eff6ff;color:#1d4ed8}.landing-page[data-theme=light] .landing-theme-toggle{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.landing-page[data-theme=light] .landing-hero__visual,.landing-page[data-theme=light] .landing-login-visual{border-color:#dbe4f0;background:#dbeafe;box-shadow:0 20px 50px #0f172a24}.landing-page[data-theme=light] .landing-hero__visual:after,.landing-page[data-theme=light] .landing-login-visual:after{background:linear-gradient(180deg,#0f172a05,#0f172a47)}.landing-page[data-theme=light] .landing-route-card{border-color:#ffffffb8;background:#ffffffed}.landing-page[data-theme=light] .landing-route-card span,.landing-page[data-theme=light] .landing-route-card small{color:#64748b}.landing-page[data-theme=light] .landing-route-card strong{color:#0f172a}.landing-page[data-theme=light] .landing-overview div,.landing-page[data-theme=light] .landing-features article,.landing-page[data-theme=light] .landing-login-card{border-color:#dbe4f0;background:#fff;box-shadow:0 10px 26px #0f172a0f}.landing-page[data-theme=light] .landing-overview span{background:#eff6ff;color:#1d4ed8}.landing-page[data-theme=light] .landing-field{color:#334155}.landing-page[data-theme=light] .landing-field input{border-color:#cbd5e1;background:#fff;color:#0f172a}.landing-page[data-theme=light] .landing-field input:focus{border-color:#2563eb;outline-color:#2563eb2e}.landing-page[data-theme=light] .landing-field input[aria-invalid=true]{border-color:#dc2626}.landing-page[data-theme=light] .landing-field small{color:#b91c1c}.landing-page[data-theme=light] .landing-password-control button{background:#eff6ff;color:#1d4ed8}.landing-page[data-theme=light] .landing-login-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.landing-page[data-theme=light] .landing-secondary-action{border-color:#cbd5e1;background:#f8fafc}.landing-page[data-theme=light] .landing-secondary-action:hover{border-color:#22c55e85;color:#15803d}.landing-page[data-theme=light] .landing-hero__actions a:last-child{border-color:#1d4ed8;background:#eaf2ff;color:#174ea6;box-shadow:0 10px 22px #2563eb24}.landing-page[data-theme=light] .landing-hero__actions a:last-child:hover,.landing-page[data-theme=light] .landing-hero__actions a:last-child:focus-visible{background:#dbeafe;color:#0f3f8f}@media (max-width: 980px){.landing-header{display:grid;grid-template-columns:1fr auto;align-items:center}.landing-nav{grid-column:1 / -1;width:100%;margin-left:0}.landing-header-actions{grid-column:2;grid-row:1}.landing-hero,.landing-login-view,.landing-overview,.landing-features{grid-template-columns:1fr}.landing-login-view{grid-auto-rows:auto}.landing-login-view>.landing-login-visual,.landing-login-view>.landing-login-card{min-height:0;height:auto}.landing-login-visual,.landing-login-visual img{min-height:360px}.landing-login-card{justify-content:flex-start}}@media (max-width: 640px){.landing-header{grid-template-columns:1fr}.landing-brand{align-items:center}.landing-brand img{width:32px;height:42px}.landing-header-actions{grid-column:1;grid-row:auto;justify-content:flex-start;margin-left:0}.landing-wfp-logo{display:block;width:116px;max-width:38vw}.landing-nav{gap:.45rem;overflow-x:auto;padding-bottom:.1rem}.landing-nav a,.landing-nav button{white-space:nowrap}.landing-hero{padding-top:1.4rem}.landing-hero__visual,.landing-hero__visual img{min-height:260px}.landing-login-view{padding-top:1rem}.landing-login-visual,.landing-login-visual img{min-height:300px}.landing-theme-toggle{width:36px;height:36px;min-height:36px}.landing-footer{align-items:flex-start;flex-direction:column}}.app-shell{grid-template-rows:68px minmax(0,1fr)}.app-shell__topbar{min-height:68px}.app-shell__main{min-height:calc(100vh - 68px);height:calc(100vh - 68px)}.app-sidebar{top:68px;height:calc(100vh - 68px)}.app-shell__scrim.is-open{top:68px}.app-shell__topbar-right{gap:.75rem}.app-shell__topbar .dashboard-theme-toggle{width:38px;height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(96,165,250,.34);border-radius:999px;background:#60a5fa21;color:var(--app-accent);line-height:1;cursor:pointer;box-shadow:none}.app-shell__topbar .dashboard-theme-toggle:hover,.app-shell__topbar .dashboard-theme-toggle:focus-visible{border-color:#22c55e70;color:var(--app-text);outline:none}.app-shell__topbar .dashboard-theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.app-shell__topbar .dashboard-theme-toggle svg path:only-child{fill:currentColor;stroke:none}.app-shell__wfp-logo{width:220px;max-width:28vw;height:auto;max-height:60px;object-fit:contain;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;filter:none}@media (max-width: 860px){.app-shell,.app-shell.is-sidebar-collapsed{grid-template-rows:62px minmax(0,1fr)}.app-shell__topbar{min-height:62px}.app-shell__main{min-height:calc(100vh - 62px);height:calc(100vh - 62px)}.app-sidebar{top:62px;height:calc(100vh - 62px)}.app-shell__scrim.is-open{top:62px}.app-shell__wfp-logo{width:150px;max-width:36vw;max-height:48px}}.vehicle-details-search{display:grid;grid-template-columns:minmax(300px,480px) minmax(200px,240px);column-gap:1.75rem;row-gap:1rem;align-items:end;padding:1.25rem;background-color:var(--app-surface-soft, #f8fafc);border:1px solid var(--app-border, #e2e8f0);border-radius:6px}.vehicle-details-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1rem;padding:1rem}.vehicle-details-kv{display:grid;grid-template-columns:120px minmax(0,1fr);gap:.45rem;font-size:.88rem;overflow-wrap:anywhere}.vehicle-details-tracking-mode{display:flex;gap:1.25rem;flex-wrap:wrap}.vehicle-details-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.vehicle-details-add-box{padding:1.25rem}.vehicle-details-add-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:1rem;align-items:end}.vehicle-details-grid.location-master-grid-shell{height:480px;width:100%}@media (max-width: 620px){.vehicle-details-search{grid-template-columns:minmax(0,1fr);padding:.85rem}.vehicle-details-search .location-master-action-group{grid-template-rows:auto auto}.vehicle-details-search .location-master-action-split{grid-template-columns:1fr 1fr}.vehicle-details-cards{padding:.65rem;gap:.65rem}.vehicle-details-kv{grid-template-columns:105px minmax(0,1fr)}.vehicle-details-tracking-mode{flex-direction:column;gap:.45rem}.vehicle-details-toolbar{flex-direction:column;align-items:stretch}.vehicle-details-toolbar .location-master-quick-search{width:100%}.vehicle-details-add-box{padding:.85rem}.vehicle-details-grid.location-master-grid-shell{height:420px}}.user-management-field-grid>.user-management-actions--inline{width:auto;align-self:end;justify-content:flex-start}.user-management-field-grid>.user-management-actions--inline .location-master-button{flex:1 1 0;max-width:180px}@media (max-width: 680px){.user-management-field-grid>.user-management-actions--inline{flex-direction:row;align-items:stretch;margin-top:.35rem}.user-management-field-grid>.user-management-actions--inline .location-master-button{min-width:0;max-width:none}}.feature-mapping-grid .ag-cell{display:flex;align-items:center}.location-master-grid-shell.feature-mapping-grid{height:auto;min-height:0}@media (max-width: 420px){.location-master-action-split{grid-template-columns:1fr 1fr}}.vehicle-details-grid .ag-cell{display:flex;align-items:center}.vehicle-details-grid .ag-cell-wrap-text{padding-top:.45rem;padding-bottom:.45rem;line-height:1.3}.location-master-field-hint{color:#64748b;font-size:.75rem;font-weight:500;line-height:1.3}.app-shell[data-theme=dark] .location-master-field-hint{color:#94a3b8}.trip-details-grid-toolbar{justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;flex-wrap:wrap}.trip-details-grid-toolbar .location-master-quick-search{margin-left:auto}.trip-details-count{color:#334155;font-size:.9rem;padding-bottom:.6rem}.trip-details-count strong{color:#0f5fad;font-size:1.05rem}.app-shell[data-theme=dark] .trip-details-count{color:#cbd5e1}.app-shell[data-theme=dark] .trip-details-count strong{color:#93c5fd}.app-shell__logo.app-shell__logo--wide{width:160px;height:43px}.landing-brand img.landing-brand__logo--wide{width:170px;height:46px}@media (max-width: 620px){.app-shell__logo.app-shell__logo--wide{width:104px}.landing-brand img.landing-brand__logo--wide{width:130px;height:42px}}:root{--tm-bg: #f5f7fa;--tm-surface: #ffffff;--tm-surface-2: #f8fafc;--tm-surface-3: #f1f5f9;--tm-hover: #f1f5f9;--tm-overlay: rgba(15, 23, 42, .42);--tm-border: #e2e8f0;--tm-border-strong: #cbd5e1;--tm-input-border: #7f8b9d;--tm-divider: #eef2f6;--tm-text: #17212f;--tm-text-2: #56657a;--tm-text-3: #5b6a80;--tm-text-disabled: #a9b4c2;--tm-accent: #2563eb;--tm-accent-hover: #1d4ed8;--tm-accent-press: #1e40af;--tm-accent-soft: #eef4ff;--tm-accent-soft-2: #dbe7fe;--tm-accent-text: #1d4ed8;--tm-on-accent: #ffffff;--tm-accent-dot: #2563eb;--tm-success: #16a36a;--tm-success-soft: #e8f7f0;--tm-success-text: #0f7a4f;--tm-success-dot: #16a36a;--tm-danger: #dc2626;--tm-danger-hover: #b91c1c;--tm-danger-soft: #fdecec;--tm-danger-text: #b91c1c;--tm-warning: #d97706;--tm-warning-soft: #fdf4e4;--tm-warning-text: #9a5404;--tm-warning-dot: #d97706;--tm-info: #2563eb;--tm-info-soft: #eef4ff;--tm-info-text: #1d4ed8;--tm-neutral-soft: #f1f5f9;--tm-neutral-text: #526077;--tm-brand-tile: #2563eb;--tm-brand-truck: #ffffff;--tm-brand-window: #1e40af;--tm-brand-route: #ffffff;--tm-brand-live: #16a36a;--tm-focus-ring: 0 0 0 3px rgba(37, 99, 235, .28);--tm-focus-color: #2563eb;--tm-font: Inter, "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--tm-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--tm-fs-xs: 11.5px;--tm-fs-sm: 12.5px;--tm-fs-md: 13.5px;--tm-fs-lg: 15px;--tm-fs-xl: 18px;--tm-fs-2xl: 22px;--tm-lh: 1.45;--tm-space-1: 4px;--tm-space-2: 8px;--tm-space-3: 12px;--tm-space-4: 16px;--tm-space-5: 20px;--tm-space-6: 24px;--tm-space-8: 32px;--tm-gutter: 24px;--tm-radius-sm: 6px;--tm-radius: 8px;--tm-radius-lg: 10px;--tm-radius-pill: 999px;--tm-shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);--tm-shadow-sm: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--tm-shadow-md: 0 4px 12px rgba(16, 24, 40, .08), 0 1px 3px rgba(16, 24, 40, .06);--tm-shadow-lg: 0 12px 32px rgba(16, 24, 40, .16), 0 2px 6px rgba(16, 24, 40, .08);--tm-control-h: 36px;--tm-control-h-sm: 30px;--tm-topbar-h: 56px;--tm-sidebar-w: 248px;--tm-sidebar-w-collapsed: 64px;--tm-ease: cubic-bezier(.2, 0, 0, 1);--tm-dur: .16s;color-scheme:light}:root[data-theme=dark],[data-theme=dark]{--tm-bg: #09111e;--tm-surface: #101c2d;--tm-surface-2: #142338;--tm-surface-3: #1b2d43;--tm-hover: #1a2b41;--tm-overlay: rgba(2, 6, 12, .62);--tm-border: #26364b;--tm-border-strong: #3b506b;--tm-input-border: #6e829b;--tm-divider: #1e2d40;--tm-text: #e8eff9;--tm-text-2: #adbed3;--tm-text-3: #97a9c2;--tm-text-disabled: #5e7189;--tm-accent: #2563eb;--tm-accent-hover: #1d4ed8;--tm-accent-press: #1d4ed8;--tm-accent-soft: rgba(59, 130, 246, .16);--tm-accent-soft-2: rgba(59, 130, 246, .26);--tm-accent-text: #93baff;--tm-on-accent: #ffffff;--tm-accent-dot: #5b93f7;--tm-success: #1fb478;--tm-success-soft: rgba(31, 180, 120, .15);--tm-success-text: #5fd3a1;--tm-success-dot: #2cc486;--tm-danger: #dc2626;--tm-danger-hover: #b91c1c;--tm-danger-soft: rgba(239, 68, 68, .15);--tm-danger-text: #ff8b8b;--tm-warning: #e08a1a;--tm-warning-soft: rgba(224, 138, 26, .15);--tm-warning-text: #f2b45c;--tm-warning-dot: #f09a2a;--tm-info: #5b93f7;--tm-info-soft: rgba(59, 130, 246, .16);--tm-info-text: #8ab4ff;--tm-neutral-soft: #1c2b40;--tm-neutral-text: #b4c3d6;--tm-brand-tile: #2563eb;--tm-brand-truck: #ffffff;--tm-brand-window: #1e40af;--tm-brand-route: #ffffff;--tm-brand-live: #22c07f;--tm-focus-ring: 0 0 0 3px rgba(91, 147, 247, .38);--tm-focus-color: #5b93f7;--tm-shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--tm-shadow-sm: 0 1px 2px rgba(0, 0, 0, .32);--tm-shadow-md: 0 6px 16px rgba(0, 0, 0, .38);--tm-shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);color-scheme:dark}html,body{background:var(--tm-bg);color:var(--tm-text)}body{margin:0;min-width:320px;font-family:var(--tm-font);font-size:var(--tm-fs-md);line-height:var(--tm-lh);font-feature-settings:"cv11","ss01"}:focus-visible{outline:2px solid var(--tm-focus-color);outline-offset:2px}.tm-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tm-icon{flex:none;display:block}.tm-theme-anim,.tm-theme-anim *,.tm-theme-anim *:before,.tm-theme-anim *:after{transition:background-color .45s var(--tm-ease),border-color .45s var(--tm-ease),color .45s var(--tm-ease),fill .45s var(--tm-ease),stroke .45s var(--tm-ease),box-shadow .45s var(--tm-ease),opacity .45s var(--tm-ease)!important}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.tm-shell.app-shell{--app-bg: var(--tm-bg);--app-surface: var(--tm-surface);--app-surface-soft: var(--tm-surface-2);--app-border: var(--tm-border);--app-text: var(--tm-text);--app-muted: var(--tm-text-2);--app-accent: var(--tm-accent);--app-accent-soft: var(--tm-accent-soft);display:flex;flex-direction:row;height:100vh;height:100dvh;min-height:0;overflow:hidden;column-gap:0;background:var(--tm-bg);color:var(--tm-text);font-family:var(--tm-font);font-size:var(--tm-fs-md)}.tm-shell,.tm-shell *{scrollbar-width:thin;scrollbar-color:var(--tm-border-strong) transparent}.tm-shell__column{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.tm-topbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-4);height:var(--tm-topbar-h);padding:0 var(--tm-space-4) 0 var(--tm-space-3);background:var(--tm-surface);border-bottom:1px solid var(--tm-border);position:relative;z-index:40}.tm-topbar__start,.tm-topbar__end{display:flex;align-items:center;gap:var(--tm-space-2);min-width:0}.tm-topbar__end{flex:none;gap:var(--tm-space-2)}.tm-shell .tm-icon-btn.tm-topbar__menu--mobile{display:none}.tm-topbar__brand{display:none;padding-right:var(--tm-space-3)}.tm-shell.is-sidebar-hidden .tm-topbar__brand{display:inline-flex}.tm-shell.is-sidebar-hidden .tm-breadcrumb,.tm-shell .tm-topbar__brand~.tm-breadcrumb{padding-left:var(--tm-space-4)}.tm-shell:not(.is-sidebar-hidden) .tm-breadcrumb{border-left:0;padding-left:var(--tm-space-1)}.tm-brand{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--tm-text);white-space:nowrap}.tm-brand-mark{flex:none;display:block}.tm-brand-mark__tile{fill:var(--tm-brand-tile)}.tm-brand-mark__truck{fill:var(--tm-brand-truck)}.tm-brand-mark__window{fill:var(--tm-brand-window)}.tm-brand-mark__route{stroke:var(--tm-brand-route);stroke-opacity:.6;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:3 2.4;fill:none}.tm-brand-mark__wheel{fill:var(--tm-brand-window);stroke:var(--tm-brand-truck);stroke-width:1.2}.tm-brand-mark__live{fill:var(--tm-brand-live);stroke:var(--tm-brand-tile);stroke-width:1.4}.tm-brand__text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.tm-brand__name{font-size:14.5px;font-weight:650;letter-spacing:-.01em;color:var(--tm-text)}.tm-brand__tag{margin-top:1px;font-size:11.5px;font-weight:500;color:var(--tm-text-2)}.tm-breadcrumb{min-width:0;padding-left:var(--tm-space-4);border-left:1px solid var(--tm-border)}.tm-breadcrumb ol{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none;min-width:0;font-size:var(--tm-fs-md);white-space:nowrap}.tm-breadcrumb li{overflow:hidden;text-overflow:ellipsis}.tm-breadcrumb__section{color:var(--tm-text-3)}.tm-breadcrumb__section:after{content:"/";margin-left:6px;color:var(--tm-border-strong)}.tm-breadcrumb li[aria-current=page]{font-weight:600;color:var(--tm-text)}.tm-shell .tm-topbar__search{display:inline-flex;align-items:center;gap:8px;height:var(--tm-control-h-sm);min-width:200px;padding:0 6px 0 10px;border:1px solid var(--tm-border);border-radius:var(--tm-radius-sm);background:var(--tm-surface-2);color:var(--tm-text-3);font-size:var(--tm-fs-sm);font-weight:400;transition:border-color var(--tm-dur) var(--tm-ease),background var(--tm-dur) var(--tm-ease)}.tm-shell .tm-topbar__search:hover{border-color:var(--tm-border-strong);background:var(--tm-surface);color:var(--tm-text-2)}.tm-topbar__search span{flex:1;text-align:left}kbd{display:inline-flex;align-items:center;padding:1px 5px;border:1px solid var(--tm-border);border-bottom-width:2px;border-radius:4px;background:var(--tm-surface);color:var(--tm-text-2);font-family:var(--tm-font);font-size:10.5px;font-weight:600;line-height:1.5}.tm-user{display:flex;align-items:center;gap:10px;min-width:0;max-width:260px;padding:0 var(--tm-space-2) 0 var(--tm-space-3);margin-left:var(--tm-space-1);border-left:1px solid var(--tm-border)}.tm-user__avatar{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tm-accent-soft);color:var(--tm-accent-text);font-size:11.5px;font-weight:700;letter-spacing:.02em}.tm-user__text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.tm-user__text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tm-fs-md);font-weight:600;color:var(--tm-text)}.tm-user__text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tm-fs-xs);color:var(--tm-text-3)}.tm-shell .app-shell__main.tm-main{flex:1;min-width:0;min-height:0;height:auto;padding:0;overflow-x:hidden;overflow-y:auto;background:var(--tm-bg)}.tm-shell .tm-sidebar__brand{flex:none;display:flex;align-items:center;height:var(--tm-topbar-h);padding:0 var(--tm-space-4);border-bottom:1px solid var(--tm-border);color:var(--tm-text);text-decoration:none;font-weight:400}.tm-shell .tm-sidebar__brand:hover{color:var(--tm-text)}.tm-shell .tm-sidebar__brand:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--tm-focus-color)}.tm-sidebar.is-collapsed .tm-sidebar__brand{justify-content:center;padding:0}.tm-sidebar{flex:none;display:flex;flex-direction:column;width:var(--tm-sidebar-w);min-height:0;background:var(--tm-surface);border-right:1px solid var(--tm-border);transition:width var(--tm-dur) var(--tm-ease);z-index:30}.tm-sidebar.is-collapsed{width:var(--tm-sidebar-w-collapsed)}.tm-nav{flex:1;min-height:0;display:flex;flex-direction:column;gap:2px;padding:var(--tm-space-3) var(--tm-space-2);overflow-y:auto;overflow-x:hidden}.tm-sidebar.is-collapsed .tm-nav{overflow:visible}.tm-nav__empty{margin:var(--tm-space-3);color:var(--tm-text-3);font-size:var(--tm-fs-sm)}.tm-shell .tm-nav__link,.tm-shell .tm-sidebar__collapse{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:36px;margin:0;padding:0 10px;border:0;border-radius:var(--tm-radius-sm);background:transparent;color:var(--tm-text-2);font-size:var(--tm-fs-md);font-weight:500;line-height:1.2;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--tm-dur) var(--tm-ease),color var(--tm-dur) var(--tm-ease)}.tm-shell .tm-nav__link .tm-icon{color:var(--tm-text-3);transition:color var(--tm-dur) var(--tm-ease)}.tm-shell .tm-nav__link:hover,.tm-shell .tm-sidebar__collapse:hover{background:var(--tm-hover);color:var(--tm-text)}.tm-shell .tm-nav__link:hover .tm-icon{color:var(--tm-text-2)}.tm-shell .tm-nav__link:focus-visible,.tm-shell .tm-sidebar__collapse:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--tm-focus-color)}.tm-shell .tm-nav__link.is-active{background:var(--tm-accent-soft);color:var(--tm-accent-text);font-weight:600}.tm-shell .tm-nav__link.is-active .tm-icon{color:var(--tm-accent-text)}.tm-shell .tm-nav__link.is-active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--tm-accent)}.tm-shell .tm-nav__link.is-active-group,.tm-shell .tm-nav__link.is-active-group .tm-icon{color:var(--tm-text)}.tm-nav__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.tm-nav__chevron{color:var(--tm-text-3);transition:transform var(--tm-dur) var(--tm-ease)}.tm-nav__group.is-open>.tm-nav__link .tm-nav__chevron{transform:rotate(180deg)}.tm-nav__badge{flex:none;padding:1px 6px;border-radius:var(--tm-radius-pill);background:var(--tm-accent-soft);color:var(--tm-accent-text);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.04em}.tm-nav__submenu{position:relative;display:flex;flex-direction:column;gap:1px;margin:2px 0 6px;padding-left:20px;animation:tm-submenu-in var(--tm-dur) var(--tm-ease)}.tm-nav__submenu:before{content:"";position:absolute;left:18px;top:4px;bottom:4px;width:1px;background:var(--tm-border)}.tm-shell .tm-nav__link--child{min-height:32px;padding-left:14px;font-size:var(--tm-fs-md)}.tm-shell .tm-nav__link--child .tm-icon{width:16px;height:16px}.tm-shell .tm-nav__link--child.is-active:before{left:-3px;top:7px;bottom:7px}@keyframes tm-submenu-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.tm-shell .tm-sidebar__collapse{flex:none;width:auto;margin:var(--tm-space-2);margin-top:0;color:var(--tm-text-3);font-size:var(--tm-fs-sm);border-top:1px solid var(--tm-divider);border-radius:0 0 var(--tm-radius-sm) var(--tm-radius-sm);padding-top:2px}.tm-sidebar.is-collapsed .tm-nav__label,.tm-sidebar.is-collapsed .tm-nav__chevron,.tm-sidebar.is-collapsed .tm-nav__badge{display:none}.tm-shell .tm-sidebar.is-collapsed .tm-nav__link,.tm-shell .tm-sidebar.is-collapsed .tm-sidebar__collapse{justify-content:center;padding:0}.tm-shell .tm-sidebar.is-collapsed .tm-nav__link.is-active-group{background:var(--tm-hover)}.tm-shell .tm-sidebar.is-collapsed [data-label]:hover:after,.tm-shell .tm-sidebar.is-collapsed [data-label]:focus-visible:after{content:attr(data-label);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:5px 9px;border-radius:var(--tm-radius-sm);background:var(--tm-text);color:var(--tm-surface);font-size:var(--tm-fs-sm);font-weight:500;white-space:nowrap;box-shadow:var(--tm-shadow-md);pointer-events:none;z-index:60}.tm-sidebar-scrim{display:none}.tm-shell .tm-icon-btn,.tm-icon-btn{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:var(--tm-radius-sm);background:transparent;color:var(--tm-text-2);cursor:pointer;transition:background var(--tm-dur) var(--tm-ease),color var(--tm-dur) var(--tm-ease)}.tm-shell .tm-icon-btn:hover,.tm-icon-btn:hover{background:var(--tm-hover);color:var(--tm-text);border-color:transparent}.tm-shell .tm-icon-btn[aria-pressed=true]{background:var(--tm-surface-3);color:var(--tm-text)}.tm-shell .tm-topbar__logout{gap:6px}@media (max-width: 1280px){.tm-shell .tm-topbar__search{min-width:0;width:34px;padding:0;justify-content:center}.tm-topbar__search span,.tm-topbar__search kbd{display:none}}@media (max-width: 1100px){.tm-user__text{display:none}.tm-user{padding-right:0}}@media (max-width: 960px){.tm-topbar .tm-brand__tag,.tm-topbar__logout span{display:none}.tm-shell .tm-topbar__logout{width:34px;padding:0;justify-content:center}}@media (max-width: 860px){.tm-topbar{padding:0 var(--tm-space-3) 0 var(--tm-space-2);gap:var(--tm-space-2)}.tm-topbar__menu--desktop{display:none!important}.tm-topbar__menu--mobile{display:inline-grid!important}.tm-shell .tm-topbar__brand{display:inline-flex}.tm-shell .tm-sidebar.is-collapsed .tm-sidebar__brand{justify-content:flex-start;padding:0 var(--tm-space-4)}.tm-sidebar,.tm-sidebar.is-collapsed{position:fixed;top:0;bottom:0;left:0;width:min(86vw,290px);transform:translate(-105%);transition:transform .2s var(--tm-ease);box-shadow:var(--tm-shadow-lg);z-index:50}.tm-sidebar.is-mobile-open{transform:none}.tm-sidebar:not(.is-mobile-open){visibility:hidden;transition:transform .2s var(--tm-ease),visibility 0s linear .2s}.tm-sidebar.is-collapsed .tm-nav__label,.tm-sidebar.is-collapsed .tm-nav__chevron{display:initial}.tm-shell .tm-sidebar.is-collapsed .tm-nav__link{justify-content:flex-start;padding:0 10px}.tm-shell .tm-sidebar.is-collapsed [data-label]:hover:after{display:none}.tm-sidebar__collapse{display:none!important}.tm-sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--tm-overlay);opacity:0;pointer-events:none;transition:opacity .2s var(--tm-ease);z-index:45}.tm-sidebar-scrim.is-open{opacity:1;pointer-events:auto}.tm-breadcrumb{display:none}}.tm-brand__short{display:none;font-size:14.5px;font-weight:650;letter-spacing:-.01em;color:var(--tm-text)}@media (max-width: 520px){.tm-brand__text{display:none}.tm-topbar .tm-brand__short{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-topbar__brand{min-width:0}.tm-topbar .tm-brand-mark{flex-shrink:0}.tm-sidebar .tm-brand__text{display:flex}.tm-shell .tm-sidebar .tm-brand__tag{display:block}.tm-brand{padding-right:0}.tm-user{display:none}}.tm-page{box-sizing:border-box;width:100%;max-width:1600px;margin:0 auto;padding:var(--tm-space-6) var(--tm-gutter) var(--tm-space-8);color:var(--tm-text)}.tm-page *,.tm-page *:before,.tm-page *:after{box-sizing:border-box}.tm-page--narrow{max-width:960px}.tm-page-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--tm-space-3) var(--tm-space-6);margin-bottom:var(--tm-space-5)}.tm-page-header__text{min-width:0}.tm-page-header h1{margin:0;font-size:var(--tm-fs-2xl);font-weight:650;letter-spacing:-.015em;line-height:1.2;color:var(--tm-text)}.tm-page-header p{margin:6px 0 0;max-width:72ch;font-size:var(--tm-fs-md);color:var(--tm-text-2)}.tm-page-header__actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--tm-space-2)}.tm-stack{display:flex;flex-direction:column;gap:var(--tm-space-5)}.tm-section{background:var(--tm-surface);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-xs);min-width:0}.tm-section__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--tm-space-2) var(--tm-space-4);padding:var(--tm-space-4) var(--tm-space-5);border-bottom:1px solid var(--tm-divider)}.tm-section__header--plain{border-bottom:0;padding-bottom:0}.tm-section__title{display:flex;align-items:center;gap:var(--tm-space-2);margin:0;font-size:var(--tm-fs-lg);font-weight:600;color:var(--tm-text)}.tm-section__subtitle{margin:2px 0 0;font-size:var(--tm-fs-sm);color:var(--tm-text-3)}.tm-section__body{padding:var(--tm-space-5)}.tm-section__footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--tm-space-2);padding:var(--tm-space-3) var(--tm-space-5);border-top:1px solid var(--tm-divider);background:var(--tm-surface-2);border-radius:0 0 var(--tm-radius-lg) var(--tm-radius-lg)}.tm-count{display:inline-flex;align-items:center;padding:1px 8px;border-radius:var(--tm-radius-pill);background:var(--tm-neutral-soft);color:var(--tm-text-2);font-size:var(--tm-fs-xs);font-weight:600;font-variant-numeric:tabular-nums}.tm-btn,button.tm-btn,a.tm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--tm-control-h);padding:0 14px;border:1px solid transparent;border-radius:var(--tm-radius-sm);font-family:inherit;font-size:var(--tm-fs-md);font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background var(--tm-dur) var(--tm-ease),border-color var(--tm-dur) var(--tm-ease),color var(--tm-dur) var(--tm-ease),box-shadow var(--tm-dur) var(--tm-ease)}.tm-btn:focus-visible{outline:2px solid var(--tm-focus-color);outline-offset:2px}.tm-btn:disabled,.tm-btn[aria-disabled=true]{cursor:not-allowed;opacity:.55}.tm-btn.tm-btn--primary{background:var(--tm-accent);border-color:var(--tm-accent);color:var(--tm-on-accent);box-shadow:var(--tm-shadow-xs)}.tm-btn.tm-btn--primary:hover:not(:disabled){background:var(--tm-accent-hover);border-color:var(--tm-accent-hover);color:var(--tm-on-accent)}.tm-btn.tm-btn--primary:active:not(:disabled){background:var(--tm-accent-press)}.tm-btn.tm-btn--secondary{background:var(--tm-surface);border-color:var(--tm-border-strong);color:var(--tm-text);box-shadow:var(--tm-shadow-xs)}.tm-btn.tm-btn--secondary:hover:not(:disabled){background:var(--tm-hover);border-color:var(--tm-border-strong);color:var(--tm-text)}.tm-btn.tm-btn--ghost{background:transparent;color:var(--tm-text-2)}.tm-btn.tm-btn--ghost:hover:not(:disabled){background:var(--tm-hover);color:var(--tm-text);border-color:transparent}.tm-btn.tm-btn--danger{background:var(--tm-danger);border-color:var(--tm-danger);color:#fff}.tm-btn.tm-btn--danger:hover:not(:disabled){background:var(--tm-danger-hover);border-color:var(--tm-danger-hover);color:#fff}.tm-btn.tm-btn--sm{height:var(--tm-control-h-sm);padding:0 10px;font-size:var(--tm-fs-sm)}.tm-btn-group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--tm-space-2)}.tm-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tm-spin .7s linear infinite}@keyframes tm-spin{to{transform:rotate(360deg)}}.tm-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:var(--tm-space-4) var(--tm-space-4)}.tm-field{display:flex;flex-direction:column;gap:6px;min-width:0}.tm-field--span-2{grid-column:span 2}.tm-field--full{grid-column:1 / -1}.tm-field__label{font-size:var(--tm-fs-sm);font-weight:600;color:var(--tm-text-2)}.tm-required{margin-left:2px;color:var(--tm-danger-text)}.tm-input,.tm-field input:where(:not([type=radio]):not([type=checkbox])),.tm-field select,.tm-field textarea{box-sizing:border-box;width:100%;height:var(--tm-control-h);padding:0 11px;border:1px solid var(--tm-input-border);border-radius:var(--tm-radius-sm);background:var(--tm-surface);color:var(--tm-text);font-family:inherit;font-size:var(--tm-fs-md);outline:none;transition:border-color var(--tm-dur) var(--tm-ease),box-shadow var(--tm-dur) var(--tm-ease)}.tm-field textarea{height:auto;min-height:84px;padding:9px 11px;resize:vertical}.tm-input::placeholder,.tm-field input::placeholder,.tm-field textarea::placeholder{color:var(--tm-text-3)}.tm-input:hover,.tm-field input:hover:not(:disabled),.tm-field select:hover:not(:disabled),.tm-field textarea:hover:not(:disabled){border-color:var(--tm-text-3)}.tm-input:focus,.tm-field input:focus,.tm-field select:focus,.tm-field textarea:focus{border-color:var(--tm-accent);box-shadow:var(--tm-focus-ring)}.tm-input:disabled,.tm-field input:disabled,.tm-field select:disabled,.tm-field textarea:disabled{background:var(--tm-surface-3);border-color:var(--tm-border);color:var(--tm-text-disabled);cursor:not-allowed}.tm-field[data-invalid=true] input,.tm-field[data-invalid=true] select,.tm-field[data-invalid=true] textarea,.tm-input[aria-invalid=true]{border-color:var(--tm-danger)}.tm-field__hint{font-size:var(--tm-fs-xs);color:var(--tm-text-3)}.tm-field__error{display:flex;align-items:center;gap:4px;font-size:var(--tm-fs-xs);font-weight:500;color:var(--tm-danger-text)}.tm-search{position:relative;display:flex;align-items:center;min-width:0}.tm-search>.tm-icon{position:absolute;left:10px;color:var(--tm-text-3);pointer-events:none}.tm-search input.tm-input,.tm-search input{padding-left:34px}.tm-segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--tm-radius);background:var(--tm-surface-3);border:1px solid var(--tm-border)}.tm-segmented label{position:relative;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:5px;color:var(--tm-text-2);font-size:var(--tm-fs-sm);font-weight:600;cursor:pointer;white-space:nowrap}.tm-segmented input{position:absolute;opacity:0;pointer-events:none}.tm-segmented label:has(input:checked){background:var(--tm-surface);color:var(--tm-text);box-shadow:var(--tm-shadow-sm)}.tm-segmented label:has(input:focus-visible){outline:2px solid var(--tm-focus-color);outline-offset:1px}.tm-segmented label:has(input:disabled){cursor:not-allowed;opacity:.6}.tm-alert{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border:1px solid transparent;border-radius:var(--tm-radius);font-size:var(--tm-fs-md);line-height:1.45}.tm-alert .tm-icon{margin-top:1px}.tm-alert--error{background:var(--tm-danger-soft);border-color:color-mix(in srgb,var(--tm-danger) 28%,transparent);color:var(--tm-danger-text)}.tm-alert--success{background:var(--tm-success-soft);border-color:color-mix(in srgb,var(--tm-success) 30%,transparent);color:var(--tm-success-text)}.tm-alert--warning{background:var(--tm-warning-soft);border-color:color-mix(in srgb,var(--tm-warning) 28%,transparent);color:var(--tm-warning-text)}.tm-alert--info{background:var(--tm-info-soft);border-color:color-mix(in srgb,var(--tm-info) 28%,transparent);color:var(--tm-info-text)}.tm-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--tm-radius-pill);background:var(--tm-neutral-soft);color:var(--tm-neutral-text);font-size:var(--tm-fs-xs);font-weight:600;white-space:nowrap}.tm-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tm-badge--success{background:var(--tm-success-soft);color:var(--tm-success-text)}.tm-badge--warning{background:var(--tm-warning-soft);color:var(--tm-warning-text)}.tm-badge--danger{background:var(--tm-danger-soft);color:var(--tm-danger-text)}.tm-badge--info{background:var(--tm-info-soft);color:var(--tm-info-text)}.tm-badge--plain:before{display:none}.tm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:var(--tm-space-8) var(--tm-space-4);text-align:center;color:var(--tm-text-2)}.tm-empty__icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:4px;border-radius:50%;background:var(--tm-surface-3);color:var(--tm-text-3)}.tm-empty strong{font-size:var(--tm-fs-lg);font-weight:600;color:var(--tm-text)}.tm-empty p{margin:0;max-width:48ch;font-size:var(--tm-fs-md)}.tm-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--tm-space-3)}.tm-toolbar__start,.tm-toolbar__end{display:flex;align-items:center;flex-wrap:wrap;gap:var(--tm-space-2) var(--tm-space-3);min-width:0}.tm-toolbar__end{margin-left:auto;flex-wrap:nowrap}@media (max-width: 760px){.tm-toolbar__end{flex-wrap:wrap;margin-left:0;width:100%}.tm-toolbar .tm-search{width:100%}}.tm-toolbar .tm-search{width:min(320px,100%)}.tm-kv{display:grid;grid-template-columns:minmax(110px,max-content) minmax(0,1fr);gap:8px 16px;margin:0;font-size:var(--tm-fs-md)}.tm-kv dt{color:var(--tm-text-3)}.tm-kv dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--tm-text);font-weight:500}.tm-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);background:var(--tm-surface);color:var(--tm-text);box-shadow:var(--tm-shadow-lg);font-family:var(--tm-font)}.tm-dialog--md{width:min(560px,calc(100vw - 32px))}.tm-dialog::backdrop{background:var(--tm-overlay)}.tm-dialog[open]{animation:tm-dialog-in .16s var(--tm-ease)}@keyframes tm-dialog-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.tm-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-3);padding:var(--tm-space-4) var(--tm-space-4) var(--tm-space-2) var(--tm-space-5)}.tm-dialog__header h2{margin:0;font-size:var(--tm-fs-lg);font-weight:600}.tm-dialog__body{padding:0 var(--tm-space-5) var(--tm-space-4)}.tm-dialog__message{margin:0;color:var(--tm-text-2)}.tm-dialog__footer{display:flex;justify-content:flex-end;gap:var(--tm-space-2);padding:var(--tm-space-3) var(--tm-space-5);border-top:1px solid var(--tm-divider);background:var(--tm-surface-2);border-radius:0 0 var(--tm-radius-lg) var(--tm-radius-lg)}.tm-quicknav{margin-top:12vh}.tm-quicknav .tm-dialog__body{padding:0}.tm-quicknav .tm-dialog__header{padding-bottom:var(--tm-space-3)}.tm-quicknav__search{display:flex;align-items:center;gap:10px;margin:0 var(--tm-space-4);padding:0 12px;height:42px;border:1px solid var(--tm-input-border);border-radius:var(--tm-radius);color:var(--tm-text-3)}.tm-quicknav__search:focus-within{border-color:var(--tm-accent);box-shadow:var(--tm-focus-ring)}.tm-quicknav__search input{flex:1;min-width:0;height:100%;border:0;outline:none;background:transparent;color:var(--tm-text);font-size:var(--tm-fs-lg)}.tm-quicknav__list{max-height:min(50vh,380px);margin:var(--tm-space-2) 0 0;padding:var(--tm-space-2);list-style:none;overflow-y:auto}.tm-quicknav__list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--tm-radius-sm);color:var(--tm-text-2);cursor:pointer}.tm-quicknav__list li.is-active{background:var(--tm-accent-soft);color:var(--tm-accent-text)}.tm-quicknav__label{font-weight:600;color:var(--tm-text)}.tm-quicknav__list li.is-active .tm-quicknav__label{color:var(--tm-accent-text)}.tm-quicknav__section{margin-left:auto;font-size:var(--tm-fs-sm);color:var(--tm-text-3)}.tm-quicknav__go{opacity:0}.tm-quicknav__list li.is-active .tm-quicknav__go{opacity:1}.tm-quicknav__list .tm-quicknav__empty{justify-content:center;color:var(--tm-text-3);cursor:default}.tm-quicknav__hint{margin:0;padding:10px var(--tm-space-5);border-top:1px solid var(--tm-divider);color:var(--tm-text-3);font-size:var(--tm-fs-xs)}.tm-skeleton{display:block;border-radius:4px;background:linear-gradient(90deg,var(--tm-surface-3) 25%,var(--tm-hover) 37%,var(--tm-surface-3) 63%);background-size:400% 100%;animation:tm-shimmer 1.3s ease infinite}@keyframes tm-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (max-width: 760px){.tm-page{padding:var(--tm-space-4) var(--tm-space-4) var(--tm-space-6)}.tm-page-header h1{font-size:var(--tm-fs-xl)}.tm-field--span-2{grid-column:auto}.tm-section__body{padding:var(--tm-space-4)}.tm-section__header{padding:var(--tm-space-3) var(--tm-space-4)}}.tm-grid.ag-theme-quartz{--ag-font-family: var(--tm-font);--ag-font-size: 13px;--ag-foreground-color: var(--tm-text);--ag-secondary-foreground-color: var(--tm-text-2);--ag-data-color: var(--tm-text);--ag-background-color: var(--tm-surface);--ag-header-background-color: var(--tm-surface-2);--ag-header-foreground-color: var(--tm-text-2);--ag-header-height: 40px;--ag-header-column-separator-display: none;--ag-header-column-resize-handle-display: block;--ag-header-column-resize-handle-height: 36%;--ag-header-column-resize-handle-width: 1px;--ag-header-column-resize-handle-color: var(--tm-border);--ag-border-color: var(--tm-border);--ag-row-border-color: var(--tm-divider);--ag-odd-row-background-color: var(--tm-surface);--ag-row-hover-color: var(--tm-hover);--ag-selected-row-background-color: var(--tm-accent-soft);--ag-range-selection-border-color: var(--tm-accent);--ag-input-focus-border-color: var(--tm-focus-color);--ag-checkbox-checked-color: var(--tm-accent);--ag-active-color: var(--tm-accent);--ag-icon-font-color: var(--tm-text-3);--ag-wrapper-border-radius: var(--tm-radius-lg);--ag-border-radius: var(--tm-radius-sm);--ag-row-height: 44px;--ag-cell-horizontal-padding: 14px;--ag-control-panel-background-color: var(--tm-surface-2);--ag-modal-overlay-background-color: color-mix(in srgb, var(--tm-surface) 70%, transparent);--ag-menu-background-color: var(--tm-surface);--ag-menu-border: 1px solid var(--tm-border);--ag-popup-shadow: var(--tm-shadow-md);--ag-card-shadow: var(--tm-shadow-md);--ag-input-border-color: var(--tm-input-border);position:relative;width:100%;min-width:0;box-shadow:var(--tm-shadow-xs);border-radius:var(--tm-radius-lg)}.tm-grid .ag-root-wrapper{border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg)}.tm-grid .ag-header{border-bottom:1px solid var(--tm-border)}.tm-grid .ag-header-cell-text{font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--tm-text-2)}.tm-grid .ag-header-cell:hover{background:var(--tm-hover)}.tm-grid .ag-sort-indicator-icon .ag-icon{color:var(--tm-accent-text)}.tm-grid .ag-cell{display:flex;align-items:center;line-height:1.35}.tm-grid .ag-cell-wrap-text{word-break:normal;overflow-wrap:anywhere;padding-top:8px;padding-bottom:8px}.tm-grid .ag-cell-auto-height .ag-cell-wrapper,.tm-grid .ag-cell-auto-height .ag-cell-value{display:flex;align-items:center}.tm-grid .tm-grid-link,.tm-grid button.tm-grid-link{padding:6px 0;margin:-6px 0;border:0;background:none;color:var(--tm-accent-text);font:inherit;font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--tm-accent-text) 35%,transparent);text-underline-offset:3px;cursor:pointer}.tm-grid .tm-grid-link:hover{text-decoration-color:currentColor}.tm-grid .tm-mono{font-family:var(--tm-font-mono);font-size:12.5px;color:var(--tm-text-2)}.tm-grid .ag-paging-panel{min-height:46px;padding:0 var(--tm-space-3);border-top:1px solid var(--tm-border);background:var(--tm-surface);color:var(--tm-text-2);font-size:var(--tm-fs-sm);gap:var(--tm-space-4)}.tm-grid .ag-paging-row-summary-panel-number,.tm-grid .ag-paging-number{font-weight:600;color:var(--tm-text)}.tm-grid .ag-paging-button{display:inline-grid;place-items:center;width:30px;height:30px;margin:0 2px;border:1px solid var(--tm-border);border-radius:var(--tm-radius-sm);background:var(--tm-surface);color:var(--tm-text-2)}.tm-grid .ag-paging-button:hover:not(.ag-disabled){background:var(--tm-hover);border-color:var(--tm-border-strong)}.tm-grid .ag-paging-button.ag-disabled{opacity:.4}.tm-grid .ag-paging-page-size .ag-picker-field-wrapper{min-height:30px;border-radius:var(--tm-radius-sm)}.tm-grid .ag-overlay-no-rows-center,.tm-grid .location-master-empty,.tm-grid .tm-grid-empty{display:inline-flex;flex-direction:column;align-items:center;gap:4px;color:var(--tm-text-2);font-size:var(--tm-fs-md)}.tm-grid__loading{position:absolute;left:1px;right:1px;top:40px;height:2px;overflow:hidden;z-index:5;pointer-events:none}.tm-grid__loading span{position:absolute;top:0;right:0;bottom:0;left:0;width:35%;background:var(--tm-accent);border-radius:2px;animation:tm-grid-progress 1.1s var(--tm-ease) infinite}@keyframes tm-grid-progress{0%{transform:translate(-100%)}to{transform:translate(290%)}}.tm-grid .tm-row-actions{display:flex;align-items:center;gap:6px}.tm-grid .tm-btn.tm-btn--sm{height:28px}@media (max-width: 760px){.tm-grid.ag-theme-quartz{--ag-cell-horizontal-padding: 10px}.tm-grid .ag-paging-panel{padding:6px;min-height:auto;height:auto}.tm-grid .ag-paging-panel-content{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;max-width:100%}.tm-grid .ag-paging-panel-content>span{margin:0}.tm-grid .ag-paging-row-summary-panel{order:-1;flex-basis:100%;text-align:center}}.tm-filterbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--tm-space-4) var(--tm-space-5)}.tm-filterbar__group{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0;min-width:0}.tm-filterbar__group legend{padding:0;margin-bottom:6px}.tm-filterbar__select{width:min(260px,100%)}.tm-filterbar__note{flex:1 1 220px;margin:0 0 9px;color:var(--tm-text-3);font-size:var(--tm-fs-sm)}.tm-filterbar__actions{display:flex;align-items:center;gap:var(--tm-space-2);margin-left:auto}.tm-form-alert{margin-bottom:var(--tm-space-4)}.tm-records{display:flex;flex-direction:column;gap:var(--tm-space-3);min-width:0}.tm-records .tm-section__title{font-size:var(--tm-fs-lg)}.tm-shell.app-shell .lt-page,.tm-shell.app-shell[data-theme=dark] .lt-page{--lt-bg: var(--tm-bg);--lt-surface: var(--tm-surface);--lt-surface-2: var(--tm-surface-2);--lt-hover: var(--tm-hover);--lt-border: var(--tm-border);--lt-border-strong: var(--tm-border-strong);--lt-text: var(--tm-text);--lt-text-2: var(--tm-text-2);--lt-text-3: var(--tm-text-3);--lt-primary: var(--tm-accent);--lt-primary-hover: var(--tm-accent-hover);--lt-on-primary: var(--tm-on-accent);--lt-focus: var(--tm-focus-color);--lt-green: var(--tm-success-text);--lt-green-bg: var(--tm-success-soft);--lt-green-dot: var(--tm-success-dot);--lt-blue: var(--tm-info-text);--lt-blue-bg: var(--tm-info-soft);--lt-amber: var(--tm-warning-text);--lt-amber-bg: var(--tm-warning-soft);--lt-amber-dot: var(--tm-warning-dot);--lt-red: var(--tm-danger-text);--lt-red-bg: var(--tm-danger-soft);--lt-red-dot: var(--tm-danger);--lt-radius: var(--tm-radius-lg);--lt-radius-sm: var(--tm-radius-sm);--lt-shadow: var(--tm-shadow-xs);--lt-shadow-float: var(--tm-shadow-md);font-family:var(--tm-font)}.tm-shell.app-shell .dp-scope,.tm-shell.app-shell[data-theme=dark] .dp-scope{--lt-surface: var(--tm-surface);--lt-hover: var(--tm-hover);--lt-border: var(--tm-border);--lt-border-strong: var(--tm-border-strong);--lt-text: var(--tm-text);--lt-text-2: var(--tm-text-2);--lt-text-3: var(--tm-text-3);--lt-primary: var(--tm-accent);--lt-on-primary: var(--tm-on-accent);--lt-focus: var(--tm-focus-color);--lt-red: var(--tm-danger-text);--lt-radius: var(--tm-radius-lg);--lt-radius-sm: var(--tm-radius-sm);--lt-shadow-float: var(--tm-shadow-md)}.dashboard-page.dashboard-page--main,.dashboard-page.dashboard-page--main[data-theme=dark]{--dashboard-card: var(--tm-surface);--dashboard-border: var(--tm-border);--dashboard-value: var(--tm-text);--dashboard-muted: var(--tm-text-2);--dashboard-shadow: var(--tm-shadow-xs);--dashboard-control: var(--tm-surface);--dashboard-control-border: var(--tm-border-strong);--dashboard-control-hover: var(--tm-hover);font-family:var(--tm-font)}.vd-upper{text-transform:uppercase}.vd-upper::placeholder{text-transform:none}.vd-search{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--tm-space-3) var(--tm-space-4)}.vd-search__field{flex:1 1 360px;max-width:560px}.vd-search__error{padding:0 var(--tm-space-5) var(--tm-space-5)}.vd-reg{font-family:var(--tm-font-mono);font-size:var(--tm-fs-lg);font-weight:600;letter-spacing:.02em}.tm-shell .vd-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--tm-space-4);margin:0;padding:0}.vd-card{min-width:0;padding:var(--tm-space-4);border:1px solid var(--tm-border);border-radius:var(--tm-radius);background:var(--tm-surface-2)}.vd-card h3{margin:0 0 var(--tm-space-3);font-size:var(--tm-fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tm-text-3)}.vd-tracking{display:flex;flex-direction:column;gap:var(--tm-space-3)}.vd-tracking__mode{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0}.vd-tracking__mode legend{padding:0;margin-bottom:6px}.vd-add__grid{align-items:start}.vd-add__actions{display:flex;align-items:flex-end;min-height:58px}.vd-message{margin-top:var(--tm-space-4)}.tm-report-filters{display:grid;grid-template-columns:repeat(3,minmax(170px,220px)) auto 1fr;align-items:end;gap:var(--tm-space-4)}.tm-report-filters__check{height:var(--tm-control-h)}.tm-report-filters__actions{justify-content:flex-end}.tm-report-filters__note{margin:0;padding:0 var(--tm-space-5) var(--tm-space-4);margin-top:calc(var(--tm-space-2) * -1);color:var(--tm-text-3);font-size:var(--tm-fs-xs)}.tm-active-filters{color:var(--tm-text-2);font-size:var(--tm-fs-sm)}.tm-check{display:inline-flex;align-items:center;gap:8px;color:var(--tm-text);font-size:var(--tm-fs-md);font-weight:500;cursor:pointer;white-space:nowrap}.tm-check input{width:16px;height:16px;margin:0;accent-color:var(--tm-accent);cursor:pointer}@media (max-width: 1100px){.tm-report-filters{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.tm-report-filters__actions{grid-column:1 / -1}}.ct-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.tm-field input.ct-readonly{background:var(--tm-surface-3);color:var(--tm-text-2);cursor:default}.ct-optional{font-weight:400;color:var(--tm-text-3)}.ct-truck-hint{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.ct-destinations{display:flex;flex-direction:column;gap:var(--tm-space-3);margin:0;padding:0;list-style:none}.ct-destination{padding:var(--tm-space-4);border:1px solid var(--tm-border);border-radius:var(--tm-radius);background:var(--tm-surface-2)}.ct-destination__header{display:flex;align-items:center;gap:10px;margin-bottom:var(--tm-space-3)}.ct-destination__header strong{font-size:var(--tm-fs-md);font-weight:600}.ct-destination__index{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--tm-accent-soft);color:var(--tm-accent-text);font-size:var(--tm-fs-xs);font-weight:700}.ct-destination__remove{margin-left:auto}.tm-btn.tm-btn--ghost.ct-destination__remove:hover:not(:disabled){color:var(--tm-danger-text);background:var(--tm-danger-soft)}.ct-destination__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr))}.ct-actions{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;flex-wrap:wrap;gap:var(--tm-space-3);margin:0 calc(var(--tm-space-2) * -1);padding:var(--tm-space-3) var(--tm-space-2);background:linear-gradient(to top,var(--tm-bg) 75%,transparent)}.ct-actions__alert{flex:1 1 320px}.ct-actions__buttons{margin-left:auto}.tm-form-grid.tm-form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-fieldset{margin:0;padding:0;border:0;min-width:0}.tm-fieldset>legend{width:100%;margin-bottom:var(--tm-space-3);padding:0 0 var(--tm-space-2);border-bottom:1px solid var(--tm-divider);font-size:var(--tm-fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tm-text-3)}.tm-password{position:relative;display:flex;align-items:center}.tm-field .tm-password input{padding-right:40px}.tm-shell .tm-password__toggle{position:absolute;right:4px;display:grid;place-items:center;width:30px;height:28px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--tm-text-3)}.tm-shell .tm-password__toggle:hover:not(:disabled){background:var(--tm-hover);color:var(--tm-text)}.tm-suggest{position:relative}.tm-suggest__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:260px;overflow-y:auto;padding:4px;border:1px solid var(--tm-border);border-radius:var(--tm-radius);background:var(--tm-surface);box-shadow:var(--tm-shadow-md)}.tm-shell .tm-suggest__menu button{display:block;width:100%;padding:8px 10px;border:0;border-radius:var(--tm-radius-sm);background:transparent;color:var(--tm-text);font-size:var(--tm-fs-md);font-weight:400;text-align:left}.tm-shell .tm-suggest__menu button:hover,.tm-shell .tm-suggest__menu button:focus-visible{background:var(--tm-accent-soft);color:var(--tm-accent-text);outline:none}.tm-suggest__status{padding:8px 10px;color:var(--tm-text-3);font-size:var(--tm-fs-sm)}.tm-shell [role=listbox] [role=option][aria-selected=true]{color:var(--tm-text)}.tm-btn.tm-btn--ghost.tm-btn--danger-ghost{color:var(--tm-danger-text)}.tm-btn.tm-btn--ghost.tm-btn--danger-ghost:hover:not(:disabled){background:var(--tm-danger-soft);color:var(--tm-danger-text)}.ea-roles{display:flex;flex-direction:column;gap:var(--tm-space-4)}.ea-roles__user{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--tm-border);border-radius:var(--tm-radius);background:var(--tm-surface-2)}.ea-roles__user div{display:flex;flex-direction:column;line-height:1.25}.ea-roles__user span:not(.tm-user__avatar){color:var(--tm-text-3);font-size:var(--tm-fs-sm)}.ea-roles__list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;border:0}.ea-roles__list legend{margin-bottom:6px;padding:0}.ea-role{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border:1px solid var(--tm-border);border-radius:var(--tm-radius-sm);cursor:pointer}.ea-role input{width:16px;height:16px;margin:0;accent-color:var(--tm-accent)}.ea-role span:first-of-type{flex:1;font-weight:500}.ea-role.is-checked{border-color:color-mix(in srgb,var(--tm-accent) 40%,var(--tm-border));background:var(--tm-accent-soft)}.ea-role.is-changed{border-style:dashed}.ea-roles__summary{margin:0;color:var(--tm-text-2);font-size:var(--tm-fs-sm)}.fm-role-name{max-width:420px}.fm-access{margin:0;padding:0;border:0;min-width:0}.fm-access legend{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0}.fm-tree{border:1px solid var(--tm-border);border-radius:var(--tm-radius);overflow:hidden}.fm-tree__group+.fm-tree__group{border-top:1px solid var(--tm-divider)}.fm-tree__group summary{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;background:var(--tm-surface);cursor:pointer;list-style:none}.fm-tree__group summary::-webkit-details-marker{display:none}.fm-tree__group summary:hover{background:var(--tm-hover)}.fm-tree__chevron{color:var(--tm-text-3);transition:transform var(--tm-dur) var(--tm-ease)}.fm-tree__group[open] .fm-tree__chevron{transform:rotate(90deg)}.fm-tree__count{margin-left:auto;color:var(--tm-text-3);font-size:var(--tm-fs-xs);font-variant-numeric:tabular-nums}.fm-tree__actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px;padding:10px 12px 14px 48px;background:var(--tm-surface-2)}.fm-tree__actions .tm-check{white-space:normal;font-weight:400}@media (max-width: 640px){.tm-form-grid.tm-form-grid--2{grid-template-columns:1fr}.fm-tree__actions{padding-left:16px}}.td-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));align-items:end;gap:var(--tm-space-4)}.td-filters__check{height:var(--tm-control-h)}.td-filters__actions{grid-column:-2 / -1;justify-content:flex-end}.td-trip-id{font-family:var(--tm-font-mono);font-weight:600}.td-trip{display:flex;flex-direction:column;gap:var(--tm-space-5)}.td-trip__search{display:flex;align-items:center;gap:var(--tm-space-2);max-width:620px}.td-trip__search .tm-search{flex:1}.td-trip__search .tm-suggest__menu{right:120px}.td-trip__summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:var(--tm-space-5);align-items:start}.tm-kv.td-trip__kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--tm-space-4) var(--tm-space-5)}.td-trip__item{display:flex;flex-direction:column;gap:2px;min-width:0}.td-trip__item dt{font-size:var(--tm-fs-xs);font-weight:600;letter-spacing:.02em;color:var(--tm-text-3)}.td-trip__challan{margin:0}.td-trip__challan figcaption{margin-bottom:6px;font-size:var(--tm-fs-xs);font-weight:600;color:var(--tm-text-3)}.td-trip__challan>div{display:grid;place-items:center;min-height:160px;padding:var(--tm-space-2);border:1px dashed var(--tm-border-strong);border-radius:var(--tm-radius);background:var(--tm-surface-2);color:var(--tm-text-3);font-size:var(--tm-fs-sm);text-align:center}.td-trip__challan img{display:block;max-width:100%;max-height:320px;border-radius:var(--tm-radius-sm)}@media (max-width: 900px){.td-trip__summary{grid-template-columns:1fr}.td-filters__actions{grid-column:1 / -1}}[data-truck-overlay].is-selected:before{content:"";position:absolute;left:-26px;top:-26px;width:52px;height:52px;border-radius:50%;background:#2563eb24;box-shadow:0 0 0 2px #2563eb99;pointer-events:none}.app-shell .lt-page .lt-mapctl,.app-shell .lt-page .lt-legend,.app-shell .lt-page .lt-legend-toggle,.app-shell .lt-page .lt-map__notice{border-color:var(--tm-border);background:var(--tm-surface);color:var(--tm-text);box-shadow:var(--tm-shadow-md)}.app-shell .lt-page .lt-panel-toggle{border-color:var(--tm-border);background:var(--tm-surface);color:var(--tm-text)}.app-shell .lt-page .lt-panel-toggle:hover,.app-shell .lt-page .lt-mapctl__btn:hover:not(:disabled),.app-shell .lt-page .lt-legend-toggle:hover,.app-shell .lt-page .lt-legend__header button:hover{background:var(--tm-hover)}.app-shell .lt-page .lt-mapctl__btn+.lt-mapctl__btn{border-top-color:var(--tm-divider)}.app-shell .lt-page .lt-mapctl--type button{color:var(--tm-text-2)}.app-shell .lt-page .lt-mapctl--type button[aria-pressed=true]{background:var(--tm-text);color:var(--tm-surface)}.app-shell .lt-page .lt-mapctl--type button[aria-pressed=false]:hover{background:var(--tm-hover);color:var(--tm-text)}.app-shell .lt-page .lt-legend__header h2,.app-shell .lt-page .lt-legend__header button{color:var(--tm-text-2)}.app-shell .lt-page .lt-map__notice--warning{background:linear-gradient(var(--tm-warning-soft),var(--tm-warning-soft)),var(--tm-surface);color:var(--tm-warning-text)}.tm-shell[data-theme] .react-calendar-trigger{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;height:var(--tm-control-h);min-height:var(--tm-control-h);padding:0 10px;border:1px solid var(--tm-input-border);border-radius:var(--tm-radius-sm);background:var(--tm-surface);color:var(--tm-text);font-size:var(--tm-fs-md);font-weight:500;box-shadow:none;text-align:left}.tm-shell[data-theme] .react-calendar-trigger:hover:not(:disabled){border-color:var(--tm-text-3)}.tm-shell[data-theme] .react-calendar-trigger:focus-visible,.tm-shell[data-theme] .react-calendar-trigger[aria-expanded=true]{border-color:var(--tm-accent);box-shadow:var(--tm-focus-ring);outline:none}.tm-shell[data-theme] .react-calendar-trigger:disabled{background:var(--tm-surface-3);color:var(--tm-text-disabled)}.tm-shell[data-theme] .react-calendar-trigger span{flex:1;min-width:0;height:auto;display:block;text-align:left;justify-content:flex-start;font-variant-numeric:tabular-nums;color:inherit}.tm-shell[data-theme] .react-calendar-trigger .react-calendar-trigger__placeholder,.react-calendar-trigger__icon,.react-calendar-trigger__chevron{color:var(--tm-text-3)}.tm-shell[data-theme] .react-calendar-popover{border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);background:var(--tm-surface);color:var(--tm-text);box-shadow:var(--tm-shadow-lg)}.tm-shell[data-theme] .react-calendar-header strong{color:var(--tm-text);font-weight:600}.tm-shell[data-theme] .react-calendar-header button{display:inline-grid;place-items:center;padding:0;border:1px solid var(--tm-border);border-radius:var(--tm-radius-sm);background:var(--tm-surface);color:var(--tm-text-2)}.tm-shell[data-theme] .react-calendar-weekdays span{color:var(--tm-text-3)}.tm-shell[data-theme] .react-calendar-days button{border:0;border-radius:var(--tm-radius-sm);background:transparent;color:var(--tm-text)}.tm-shell[data-theme] .react-calendar-days button:hover,.tm-shell[data-theme] .react-calendar-days button:focus-visible{background:var(--tm-hover);color:var(--tm-text)}.tm-shell[data-theme] .react-calendar-days button.is-outside{color:var(--tm-text-3)}.tm-shell[data-theme] .react-calendar-days button.is-outside:hover,.tm-shell[data-theme] .react-calendar-days button.is-outside:focus-visible{color:var(--tm-text-2)}.tm-shell[data-theme] .react-calendar-days button.is-today{box-shadow:inset 0 0 0 1px var(--tm-accent);color:var(--tm-accent-text)}.tm-shell[data-theme] .react-calendar-days button.is-selected{background:var(--tm-accent);color:var(--tm-on-accent)}.tm-shell[data-theme] .react-calendar-footer{border-top:1px solid var(--tm-divider)}.tm-shell[data-theme] .react-calendar-footer button{border:1px solid var(--tm-border-strong);border-radius:var(--tm-radius-sm);background:var(--tm-surface);color:var(--tm-text)}.tm-shell[data-theme] .react-calendar-footer button:last-child{border-color:var(--tm-accent);background:var(--tm-accent);color:var(--tm-on-accent)}.tm-shell .dashboard-page.dashboard-page--main{box-sizing:border-box;max-width:1600px;margin:0 auto;padding:var(--tm-space-6) var(--tm-gutter) var(--tm-space-8);min-height:0}.tm-shell .dashboard-page--main .dashboard-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--tm-space-3) var(--tm-space-4);margin:var(--tm-space-5) 0 var(--tm-space-4);padding:var(--tm-space-4) var(--tm-space-5);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);background:var(--tm-surface);box-shadow:var(--tm-shadow-xs)}.tm-shell .dashboard-page--main .dashboard-date-field{width:200px;gap:6px;font-size:var(--tm-fs-sm);font-weight:600;color:var(--tm-text-2)}.tm-shell[data-theme] .dashboard-page--main .dashboard-search-button,.tm-shell[data-theme] .dashboard-page--main .dashboard-pdf-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;height:var(--tm-control-h);min-height:var(--tm-control-h);margin:0;padding:0 16px;border-radius:var(--tm-radius-sm);font-size:var(--tm-fs-md);font-weight:600;box-shadow:var(--tm-shadow-xs)}.tm-shell[data-theme] .dashboard-page--main .dashboard-search-button{border:1px solid var(--tm-accent);background:var(--tm-accent);color:var(--tm-on-accent)}.tm-shell[data-theme] .dashboard-page--main .dashboard-search-button:hover:not(:disabled){background:var(--tm-accent-hover);box-shadow:var(--tm-shadow-xs)}.tm-shell[data-theme] .dashboard-page--main .dashboard-pdf-button{margin-left:auto;border:1px solid var(--tm-border-strong);background:var(--tm-surface);color:var(--tm-text)}.tm-shell[data-theme] .dashboard-page--main .dashboard-pdf-button:hover:not(:disabled){background:var(--tm-hover)}.tm-shell .dashboard-page--main .dashboard-pdf-button svg{width:16px;height:16px}.tm-shell :is(.dashboard-page--main,.legacy-map-page) .kpi-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--tm-space-4);margin-bottom:var(--tm-space-4)}.tm-shell :is(.dashboard-page--main,.legacy-map-page) .kpi-card{min-height:0;padding:var(--tm-space-4) var(--tm-space-5);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-xs);align-items:flex-start}.tm-shell :is(.dashboard-page--main,.legacy-map-page) .kpi-card .kpi-card__icon{width:36px;height:36px;flex:0 0 36px;border-radius:var(--tm-radius);background:var(--tm-surface-3);color:var(--tm-text-2)}.tm-shell :is(.dashboard-page--main,.legacy-map-page) .kpi-card .kpi-card__icon svg{width:20px;height:20px;stroke-width:1.8}.tm-shell :is(.dashboard-page--main,.legacy-map-page) .kpi-card__label{font-size:var(--tm-fs-sm);font-weight:600;color:var(--tm-text-2)}.tm-shell :is(.dashboard-page--main,.legacy-map-page) .kpi-card__value{margin-top:4px;font-size:26px;font-weight:650;letter-spacing:-.02em;color:var(--tm-text)}.tm-shell :is(.dashboard-page--main,.legacy-map-page) .kpi-card__description{color:var(--tm-text-3);font-size:var(--tm-fs-xs)}.tm-shell .dashboard-page--main .dashboard-panel{border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);background:var(--tm-surface);box-shadow:var(--tm-shadow-xs)}.tm-shell .dashboard-page--main .dashboard-panel h2,.tm-shell .dashboard-page--main .dashboard-panel h3{font-size:var(--tm-fs-lg);font-weight:600;letter-spacing:-.005em;color:var(--tm-text)}.tm-shell[data-theme] .dashboard-page--main .dashboard-panel select{height:var(--tm-control-h-sm);min-height:var(--tm-control-h-sm);border:1px solid var(--tm-input-border);border-radius:var(--tm-radius-sm);background:var(--tm-surface);color:var(--tm-text);box-shadow:none}.tm-shell[data-theme] .dashboard-page--main .dashboard-error{border:1px solid color-mix(in srgb,var(--tm-danger) 28%,transparent);border-radius:var(--tm-radius);background:var(--tm-danger-soft);color:var(--tm-danger-text)}.tm-live-fleet{padding:var(--tm-space-4) var(--tm-space-5) var(--tm-space-5);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);background:var(--tm-surface);box-shadow:var(--tm-shadow-xs)}.tm-live-fleet__header{display:flex;align-items:center;flex-wrap:wrap;gap:var(--tm-space-2) var(--tm-space-3);margin-bottom:var(--tm-space-4)}.tm-live-fleet__meta{color:var(--tm-text-3);font-size:var(--tm-fs-sm)}.tm-live-fleet__open{margin-left:auto}.tm-live-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--tm-success-dot)}.tm-live-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--tm-success-dot);opacity:0;animation:tm-live-pulse 2.4s ease-out infinite}.tm-live-dot.is-error{background:var(--tm-warning-dot)}.tm-live-dot.is-error:after{display:none}@keyframes tm-live-pulse{0%{transform:scale(.6);opacity:.7}80%,to{transform:scale(1.4);opacity:0}}.tm-live-fleet__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--tm-space-3);margin:0;padding:0;list-style:none}.tm-live-stat{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon label" "value value" "hint hint";align-items:center;column-gap:8px;height:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--tm-border);border-radius:var(--tm-radius);background:var(--tm-surface-2);color:var(--tm-text);font-weight:400;text-decoration:none;transition:border-color var(--tm-dur) var(--tm-ease),background var(--tm-dur) var(--tm-ease)}.tm-live-stat:hover{border-color:var(--tm-border-strong);background:var(--tm-surface);color:var(--tm-text)}.tm-live-stat__icon{grid-area:icon;display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--tm-neutral-soft);color:var(--tm-text-2)}.tm-live-stat__label{grid-area:label;font-size:var(--tm-fs-sm);font-weight:600;color:var(--tm-text-2)}.tm-live-stat__value{grid-area:value;margin-top:8px;font-size:24px;font-weight:650;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tm-live-stat__skeleton{width:48px;height:24px}.tm-live-stat__hint{grid-area:hint;margin-top:2px;font-size:var(--tm-fs-xs);color:var(--tm-text-3)}.tm-live-stat--success.has-value .tm-live-stat__icon{background:var(--tm-success-soft);color:var(--tm-success-text)}.tm-live-stat--warning.has-value .tm-live-stat__icon{background:var(--tm-warning-soft);color:var(--tm-warning-text)}.tm-live-stat--warning.has-value .tm-live-stat__value{color:var(--tm-warning-text)}.tm-live-stat--danger.has-value .tm-live-stat__icon{background:var(--tm-danger-soft);color:var(--tm-danger-text)}.tm-live-stat--danger.has-value .tm-live-stat__value{color:var(--tm-danger-text)}.tm-live-fleet__error{display:flex;align-items:center;gap:8px;margin:0;color:var(--tm-warning-text)}@media (max-width: 1199px){.tm-shell :is(.dashboard-page--main,.legacy-map-page) .kpi-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-live-fleet__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 520px){.tm-shell :is(.dashboard-page--main,.legacy-map-page) .kpi-summary{grid-template-columns:minmax(0,1fr)}.tm-live-fleet__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-live-fleet__grid>:last-child:nth-child(odd){grid-column:1 / -1}}@media (max-width: 760px){.tm-shell .dashboard-page.dashboard-page--main{padding:var(--tm-space-4)}.tm-shell .dashboard-page--main .dashboard-date-field{width:calc(50% - 8px)}.tm-shell[data-theme] .dashboard-page--main .dashboard-pdf-button,.tm-live-fleet__open{margin-left:0}}@media (max-width: 480px){.tm-shell .dashboard-page--main .dashboard-date-field{width:100%}}.tm-shell .legacy-map-page{padding:var(--tm-space-5) var(--tm-gutter) var(--tm-space-6)}.tm-shell .legacy-map-panel{border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);background:var(--tm-surface);box-shadow:var(--tm-shadow-xs)}.tm-shell[data-theme] .legacy-map-filters select,.tm-shell[data-theme] .legacy-map-search input{height:var(--tm-control-h);border:1px solid var(--tm-input-border);border-radius:var(--tm-radius-sm);background:var(--tm-surface);color:var(--tm-text);box-shadow:none}.tm-shell[data-theme] .legacy-map-button{height:var(--tm-control-h);padding:0 14px;border-radius:var(--tm-radius-sm);font-size:var(--tm-fs-md);font-weight:600;box-shadow:var(--tm-shadow-xs)}.tm-shell[data-theme] .legacy-map-button--primary{border:1px solid var(--tm-accent);background:var(--tm-accent);color:var(--tm-on-accent)}.tm-shell[data-theme] .legacy-map-button--danger,.tm-shell[data-theme] .legacy-map-button--outline{border:1px solid var(--tm-border-strong);background:var(--tm-surface);color:var(--tm-text)}.tm-landing.landing-page[data-theme]{min-height:100vh;background:var(--tm-bg);color:var(--tm-text);font-family:var(--tm-font)}.tm-landing.landing-page[data-theme] .landing-login-view{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,420px);align-items:stretch;gap:clamp(20px,3vw,40px);max-width:1160px;margin:0 auto;padding:clamp(24px,5vw,56px) clamp(16px,4vw,48px);background:none}.tm-landing.landing-page[data-theme] .landing-login-visual{display:flex;flex-direction:column;min-height:420px}.tm-landing.landing-page[data-theme] .landing-login-visual img{flex:1;width:100%;min-height:200px;object-fit:cover}.tm-landing.landing-page[data-theme] .landing-login-visual>div{position:static;padding:var(--tm-space-6);background:var(--tm-surface);color:var(--tm-text)}.tm-landing.landing-page[data-theme] .landing-login-visual h1{font-size:clamp(22px,2.4vw,28px);max-width:none}.tm-landing.landing-page[data-theme] .landing-login-card{align-self:center;display:flex;flex-direction:column;gap:var(--tm-space-4);padding:var(--tm-space-8) var(--tm-space-6);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);background:var(--tm-surface);box-shadow:var(--tm-shadow-md);color:var(--tm-text)}.tm-landing.landing-page[data-theme] .landing-login-card__title h2{margin:0;color:var(--tm-text);font-size:var(--tm-fs-xl);font-weight:650}.tm-landing.landing-page[data-theme] .landing-login-card__title p{margin:4px 0 0;color:var(--tm-text-2);font-size:var(--tm-fs-md)}.tm-landing.landing-page[data-theme] .landing-field{display:flex;flex-direction:column;gap:6px;color:var(--tm-text-2);font-size:var(--tm-fs-sm);font-weight:600}.tm-landing.landing-page[data-theme] .landing-field input{box-sizing:border-box;width:100%;height:40px;padding:0 12px;border:1px solid var(--tm-input-border);border-radius:var(--tm-radius-sm);background:var(--tm-surface);color:var(--tm-text);font-size:var(--tm-fs-md);font-weight:400;box-shadow:none;outline:none}.tm-landing.landing-page[data-theme] .landing-field input:focus{border-color:var(--tm-accent);box-shadow:var(--tm-focus-ring)}.tm-landing.landing-page[data-theme] .landing-field input[aria-invalid=true]{border-color:var(--tm-danger)}.tm-landing.landing-page[data-theme] .landing-field small{color:var(--tm-danger-text);font-size:var(--tm-fs-xs);font-weight:500}.tm-landing.landing-page[data-theme] .landing-password-control{position:relative;display:flex;align-items:center}.tm-landing.landing-page[data-theme] .landing-password-control input{padding-right:42px}.tm-landing.landing-page[data-theme] .landing-password-control button{position:absolute;right:4px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--tm-text-3)}.tm-landing.landing-page[data-theme] .landing-password-control button:hover{background:var(--tm-hover);color:var(--tm-text)}.tm-landing.landing-page[data-theme] .landing-password-control svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.tm-landing.landing-page[data-theme] .landing-submit{width:100%;height:40px}.tm-landing.landing-page[data-theme] .landing-secondary-action{align-self:center;padding:6px 10px;border:0;border-radius:var(--tm-radius-sm);background:transparent;color:var(--tm-text-2);font-size:var(--tm-fs-md);font-weight:500}.tm-landing.landing-page[data-theme] .landing-secondary-action:hover{background:var(--tm-hover);color:var(--tm-text)}.tm-landing.landing-page[data-theme] .landing-login-error{padding:10px 12px;border:1px solid color-mix(in srgb,var(--tm-danger) 30%,transparent);border-radius:var(--tm-radius);background:var(--tm-danger-soft);color:var(--tm-danger-text);font-size:var(--tm-fs-md)}.tm-landing.landing-page[data-theme] .landing-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--tm-space-2);padding:var(--tm-space-5) clamp(16px,4vw,48px);border-top:1px solid var(--tm-border);background:var(--tm-surface);color:var(--tm-text-3);font-size:var(--tm-fs-sm)}.tm-landing.landing-page[data-theme=light]{--lp-bg-1: #eaf1fb;--lp-bg-2: #f6f9fe;--lp-glass: rgba(255, 255, 255, .72);--lp-glass-strong: rgba(255, 255, 255, .92);--lp-glass-border: rgba(30, 64, 120, .16);--lp-glass-shadow: 0 10px 30px rgba(24, 48, 92, .1), 0 1px 2px rgba(24, 48, 92, .06);--lp-glow: rgba(37, 99, 235, .14);--lp-grad-text: linear-gradient(90deg, #1d4ed8, #0ea5c6)}.tm-landing.landing-page[data-theme=dark]{--lp-bg-1: #070d1c;--lp-bg-2: #0d1a33;--lp-glass: rgba(18, 32, 62, .62);--lp-glass-strong: rgba(14, 26, 52, .9);--lp-glass-border: rgba(120, 160, 230, .2);--lp-glass-shadow: 0 14px 40px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .04);--lp-glow: rgba(59, 130, 246, .22);--lp-grad-text: linear-gradient(90deg, #7ea6ff, #5be0f0)}.tm-landing.landing-page[data-theme]{position:relative;isolation:isolate;background:radial-gradient(900px 520px at 78% 6%,var(--lp-glow),transparent 70%),radial-gradient(700px 480px at 6% 40%,var(--lp-glow),transparent 70%),linear-gradient(180deg,var(--lp-bg-1),var(--lp-bg-2) 55%,var(--lp-bg-1));overflow-x:hidden}.lp-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--tm-space-6);height:68px;padding:0 clamp(16px,4vw,48px);border-bottom:1px solid var(--lp-glass-border);background:var(--lp-glass);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3)}.lp-brand{display:inline-flex;align-items:center;gap:12px;min-width:0;color:var(--tm-text);text-decoration:none}.lp-brand span{display:flex;flex-direction:column;min-width:0;line-height:1.2}.lp-brand strong{overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.lp-brand small{overflow:hidden;color:var(--tm-text-2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.lp-nav{display:flex;align-items:center;gap:4px;margin:0 auto}.lp-nav a{padding:8px 14px;border-radius:var(--tm-radius-sm);color:var(--tm-text-2);font-size:var(--tm-fs-md);font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease}.lp-nav a:hover{background:var(--tm-hover);color:var(--tm-text)}.lp-nav .lp-nav__login{display:none}.lp-header__actions{display:flex;align-items:center;gap:var(--tm-space-2)}.lp-iconbtn{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--lp-glass-border);border-radius:50%;background:var(--lp-glass);color:var(--tm-text-2);cursor:pointer;transition:background .15s ease,color .15s ease}.lp-iconbtn:hover{background:var(--tm-hover);color:var(--tm-text)}.lp-iconbtn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lp-menubtn{display:none;border-radius:var(--tm-radius)}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border:1px solid transparent;border-radius:var(--tm-radius);font:inherit;font-size:var(--tm-fs-md);font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease}.lp-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lp-btn--lg{height:48px;padding:0 24px}.lp-btn--primary{background:var(--tm-accent);color:var(--tm-on-accent);box-shadow:0 6px 18px var(--lp-glow)}.lp-btn--primary:hover{background:var(--tm-accent-hover)}.lp-btn--glass{border-color:var(--lp-glass-border);background:var(--lp-glass);color:var(--tm-text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lp-btn--glass:hover{background:var(--tm-hover)}.lp-btn:focus-visible,.lp-iconbtn:focus-visible,.lp-nav a:focus-visible{outline:2px solid var(--tm-accent);outline-offset:2px}.lp-hero{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(24px,3.5vw,56px);max-width:1360px;margin:0 auto;padding:clamp(28px,4vw,56px) clamp(16px,4vw,48px) clamp(28px,4vw,48px)}.lp-hero>*{min-width:0}.lp-eyebrow{margin:0 0 14px;color:var(--tm-accent-text);font-size:var(--tm-fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.lp-hero h1,.tm-landing.landing-page[data-theme] .landing-login-visual h1{margin:0;color:var(--tm-text);font-size:clamp(32px,4.2vw,56px);font-weight:700;line-height:1.08;letter-spacing:-.025em}.tm-landing.landing-page[data-theme] .landing-login-visual h1{font-size:clamp(22px,2.4vw,28px)}.lp-hero h1 span{background:var(--lp-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-lead{max-width:54ch;margin:20px 0 0;color:var(--tm-text-2);font-size:var(--tm-fs-lg);line-height:1.6}.lp-lead--sm{margin-top:10px;font-size:var(--tm-fs-md)}.lp-actions{display:flex;flex-wrap:wrap;gap:var(--tm-space-3);margin-top:var(--tm-space-6)}.lp-highlights{display:flex;flex-wrap:wrap;gap:var(--tm-space-2) var(--tm-space-4);margin:var(--tm-space-6) 0 0;padding:var(--tm-space-4) 0 0;border-top:1px solid var(--lp-glass-border);list-style:none}.lp-highlights li{display:inline-flex;align-items:center;gap:8px;color:var(--tm-text);font-size:var(--tm-fs-sm);font-weight:600;white-space:nowrap}.lp-highlights svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--tm-accent-text);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lp-section{max-width:1360px;margin:0 auto;padding:0 clamp(16px,4vw,48px) clamp(40px,6vw,72px);scroll-margin-top:84px}.lp-section__head h2{margin:0;color:var(--tm-text);font-size:clamp(24px,3vw,36px);font-weight:700;line-height:1.15;letter-spacing:-.02em}.lp-section>.lp-section__head{margin-bottom:var(--tm-space-6)}.lp-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--tm-space-4)}.lp-card,.lp-module{padding:var(--tm-space-5);border:1px solid var(--lp-glass-border);border-radius:var(--tm-radius-lg);background:var(--lp-glass);box-shadow:var(--lp-glass-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .15s ease,transform .15s ease}.lp-card:hover,.lp-module:hover{border-color:var(--tm-accent);transform:translateY(-2px)}.lp-card__icon{display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:14px;border:1px solid var(--lp-glass-border);border-radius:12px;background:var(--tm-accent-soft);color:var(--tm-accent-text)}.lp-card__icon--sm{flex:none;width:40px;height:40px;margin:0}.lp-card__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lp-card h2{margin:0;color:var(--tm-text);font-size:var(--tm-fs-xl);font-weight:650}.lp-card p{margin:8px 0 0;color:var(--tm-text-2);font-size:var(--tm-fs-md);line-height:1.55}.lp-modules{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--tm-space-4)}.lp-module h3{margin:0 0 10px;color:var(--tm-accent-text);font-size:var(--tm-fs-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.lp-module ul{margin:0;padding:0;list-style:none}.lp-module li{padding:6px 0;border-top:1px solid var(--lp-glass-border);color:var(--tm-text);font-size:var(--tm-fs-md)}.lp-module li:first-child{border-top:0}.tm-landing.landing-page[data-theme] .landing-login-visual{min-height:0;justify-content:center;overflow:visible;border:0;background:none;box-shadow:none}.tm-landing.landing-page[data-theme] .landing-login-visual>div{margin-top:var(--tm-space-4);border:1px solid var(--lp-glass-border);border-radius:var(--tm-radius-lg);background:var(--lp-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tm-landing.landing-page[data-theme] .landing-login-view>*{min-width:0}.tm-landing.landing-page[data-theme] .landing-login-card{background:var(--lp-glass-strong)}.tm-landing.landing-page[data-theme] .landing-footer{background:var(--lp-glass)}.tm-preview{margin:0;overflow:hidden;border:1px solid var(--lp-glass-border);border-radius:18px;background:var(--lp-glass-strong);box-shadow:var(--lp-glass-shadow);color:var(--tm-text)}.tm-preview__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--lp-glass-border)}.tm-preview__bar strong{font-size:var(--tm-fs-sm);font-weight:650}.tm-preview__bar b{padding:3px 10px;border-radius:var(--tm-radius-pill);background:var(--tm-neutral-soft);color:var(--tm-neutral-text);font-size:var(--tm-fs-xs);font-weight:600;white-space:nowrap}.tm-preview__stage{position:relative}.tm-preview__mapwrap{position:relative;height:clamp(340px,32vw,440px);overflow:hidden;background:var(--tm-surface-2)}.tm-preview--compact .tm-preview__mapwrap{height:280px}.tm-preview__map-label{position:absolute;top:12px;right:12px;padding:5px 9px;border:1px solid var(--lp-glass-border);border-radius:8px;background:var(--lp-glass-strong);color:var(--tm-text-2);font-size:var(--tm-fs-xs);pointer-events:none}.tm-preview__map-fallback{display:grid;width:100%;height:100%;place-items:center;padding:24px;background:var(--tm-surface-2);color:var(--tm-text-2);text-align:center}.tm-preview__card{position:absolute;top:12px;left:12px;display:grid;gap:12px;width:min(248px,calc(100% - 24px));padding:14px;border:1px solid var(--lp-glass-border);border-radius:14px;background:var(--lp-glass-strong);box-shadow:var(--lp-glass-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:var(--tm-fs-sm)}.tm-preview__card-head,.tm-preview__vehicle,.tm-preview__progress>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.tm-preview__card small{color:var(--tm-text-3);font-size:var(--tm-fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.tm-preview__chip,.tm-preview__vehicle span,.tm-preview__progress b{padding:2px 8px;border-radius:var(--tm-radius-pill);background:var(--tm-info-soft);color:var(--tm-info-text);font-size:var(--tm-fs-xs);font-weight:600}.tm-preview__vehicle strong{font-size:var(--tm-fs-md);font-weight:650}.tm-preview__stops{display:grid;gap:10px;margin:0;padding:0;list-style:none}.tm-preview__stops li{display:grid;grid-template-columns:10px 34px minmax(0,1fr);align-items:center;gap:8px;color:var(--tm-text-3)}.tm-preview__stops li strong{overflow:hidden;color:var(--tm-text);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.tm-preview__stops i{width:10px;height:10px;border-radius:50%;background:var(--tm-accent-dot)}.tm-preview__stops .is-dest i{background:var(--tm-success-dot)}.tm-preview__progress{display:grid;gap:6px;color:var(--tm-text-3)}.tm-preview__track{display:block;height:6px;overflow:hidden;border-radius:var(--tm-radius-pill);background:var(--tm-neutral-soft)}.tm-preview__track i{display:block;width:60%;height:100%;border-radius:inherit;background:var(--tm-accent)}.tm-preview__card p{margin:0;color:var(--tm-text-3);font-size:var(--tm-fs-xs);line-height:1.45}@media (max-width: 640px){.tm-preview__mapwrap{height:260px}.tm-preview__card{position:static;width:auto;border:0;border-top:1px solid var(--lp-glass-border);border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.tm-preview__map-label{top:auto;bottom:28px;left:8px;right:auto}}@media (max-width: 1200px){.lp-hero{grid-template-columns:1fr}.lp-hero__content{max-width:720px}.lp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-modules{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.tm-landing.landing-page[data-theme] .landing-login-view{grid-template-columns:1fr}.lp-modules{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.lp-brand span{display:none}.lp-menubtn{display:inline-grid}.lp-header__login{display:none}.lp-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:var(--tm-space-3) clamp(16px,4vw,48px) var(--tm-space-4);border-bottom:1px solid var(--lp-glass-border);background:var(--tm-surface);box-shadow:var(--lp-glass-shadow)}.lp-nav.is-open{display:flex}.lp-nav a{padding:12px 10px}.lp-nav .lp-nav__login{display:inline-flex;height:44px;margin-top:var(--tm-space-2)}.lp-header__actions{margin-left:auto}.lp-iconbtn{width:44px;height:44px}.lp-cards{grid-template-columns:1fr}.lp-btn--lg{flex:1 1 100%}}@media (max-width: 640px){.lp-modules{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.lp-card,.lp-module,.lp-btn,.lp-iconbtn,.lp-nav a{transition:none}.lp-card:hover,.lp-module:hover{transform:none}}.lp-hero__visual{display:flex;flex-direction:column;align-items:center}.lp-hero__visual .tm-preview{align-self:stretch}.lp-hero{max-width:1480px}.lp-hero__content{position:relative;z-index:1}.lp-hero h1{text-wrap:balance}.lp-hero__visual{position:relative}.lp-header{background:color-mix(in srgb,var(--lp-glass) 82%,transparent)}@media (min-width: 1201px){.lp-hero{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}}@media (max-width: 900px){.lp-header{gap:12px;padding-inline:16px}.lp-header .lp-menubtn{display:inline-grid}.lp-header .lp-header__login{display:none}.lp-header .lp-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:12px 20px 18px;border-bottom:1px solid var(--lp-glass-border);background:var(--lp-glass-strong);box-shadow:var(--lp-glass-shadow)}.lp-header .lp-nav.is-open{display:flex}.lp-header .lp-nav a{padding:12px 10px}.lp-header .lp-nav .lp-nav__login{display:inline-flex;height:44px;margin-top:8px}.lp-header .lp-header__actions{margin-left:auto}}.is-login-view .lp-header__login,.is-login-view .lp-header .lp-nav__login{display:none}.tm-landing.landing-page[data-theme] .landing-login-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:center;gap:clamp(28px,6vw,96px);max-width:1160px;min-height:calc(100svh - 132px);margin:0 auto;padding:clamp(24px,5vw,64px) clamp(16px,4vw,48px)}.tm-landing.landing-page[data-theme] .landing-login-view{grid-auto-rows:auto;align-items:center;background:none}.tm-landing.landing-page[data-theme] .landing-login-view>.landing-login-visual,.tm-landing.landing-page[data-theme] .landing-login-view>.landing-login-card{min-height:0;height:auto;align-self:center}.tm-landing.landing-page[data-theme] .landing-login-visual{position:static;display:block;min-height:0;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none}.tm-landing.landing-page[data-theme] .landing-login-visual:after{content:none}.tm-landing.landing-page[data-theme] .landing-login-visual>div{position:static}.tm-landing.landing-page[data-theme] .landing-login-visual .lp-eyebrow{margin:0 0 14px;color:var(--tm-accent-text);font-size:var(--tm-fs-xs);line-height:1.4}.tm-landing.landing-page[data-theme] .landing-login-visual>div{max-width:560px;padding:0;border:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.tm-landing.landing-page[data-theme] .landing-login-visual h1{max-width:none;margin:0;font-size:clamp(30px,4vw,46px);font-weight:700;line-height:1.1;letter-spacing:-.025em;text-shadow:none;text-wrap:balance}.tm-landing.landing-page[data-theme] .landing-login-visual h1 span{background:var(--lp-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.tm-landing.landing-page[data-theme] .landing-login-visual p:not(.lp-eyebrow){max-width:46ch;margin:16px 0 0;color:var(--tm-text-2);font-size:var(--tm-fs-lg);line-height:1.6}.landing-login-visual__status{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:7px 14px;border:1px solid var(--lp-glass-border);border-radius:var(--tm-radius-pill);background:var(--lp-glass);color:var(--tm-text-2);font-size:var(--tm-fs-sm)}.landing-login-visual__status span{width:8px;height:8px;border-radius:50%;background:var(--tm-success-dot)}.tm-landing.landing-page[data-theme] .landing-login-card{align-self:center;width:100%;gap:var(--tm-space-4);padding:clamp(24px,3.5vw,36px);border:1px solid var(--lp-glass-border);border-radius:18px;background:var(--lp-glass-strong);box-shadow:var(--lp-glass-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--tm-text);justify-content:flex-start;overflow:visible}.tm-landing.landing-page[data-theme] .landing-login-card__title h2{font-size:var(--tm-fs-2xl);letter-spacing:-.015em}.tm-landing.landing-page[data-theme] .landing-field input{height:44px}.tm-landing.landing-page[data-theme] .landing-submit{height:44px;border:0;border-radius:var(--tm-radius);background:var(--tm-accent);color:var(--tm-on-accent);font-size:var(--tm-fs-lg);font-weight:650;cursor:pointer;transition:background-color .15s ease}.tm-landing.landing-page[data-theme] .landing-submit:hover:not(:disabled){background:var(--tm-accent-hover)}.tm-landing.landing-page[data-theme] .landing-submit:disabled{opacity:.6;cursor:default}@media (max-width: 820px){.tm-landing.landing-page[data-theme] .landing-login-view{grid-template-columns:minmax(0,1fr);gap:24px;min-height:0}.tm-landing.landing-page[data-theme] .landing-login-card{max-width:480px}}:root{--tm-glass-bg: rgba(249, 252, 255, .86);--tm-glass-bg-strong: rgba(252, 253, 255, .96);--tm-glass-border: rgba(196, 211, 231, .92);--tm-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .7);--tm-glass-blur: blur(14px) saturate(140%);--tm-page-backdrop: radial-gradient(900px 480px at 8% -8%, rgba(37, 99, 235, .07), transparent 60%), radial-gradient(700px 420px at 100% 0%, rgba(22, 163, 106, .05), transparent 60%), var(--tm-bg)}:root[data-theme=dark],[data-theme=dark]{--tm-glass-bg: rgba(15, 29, 47, .86);--tm-glass-bg-strong: rgba(16, 30, 49, .96);--tm-glass-border: rgba(74, 103, 139, .62);--tm-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .05);--tm-page-backdrop: radial-gradient(900px 480px at 8% -8%, rgba(59, 130, 246, .16), transparent 60%), radial-gradient(700px 420px at 100% 0%, rgba(31, 180, 120, .04), transparent 60%), var(--tm-bg)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root .tm-shell.app-shell,:root .tm-shell.app-shell .app-shell__main.tm-main{background:var(--tm-page-backdrop);background-attachment:fixed}.tm-shell.app-shell .tm-topbar,.tm-shell.app-shell .tm-sidebar,.tm-shell.app-shell .tm-section,dialog.tm-dialog{background:var(--tm-glass-bg);border-color:var(--tm-glass-border);-webkit-backdrop-filter:var(--tm-glass-blur);backdrop-filter:var(--tm-glass-blur)}.tm-shell.app-shell .tm-section{box-shadow:var(--tm-shadow-sm),var(--tm-glass-highlight)}dialog.tm-dialog{background:var(--tm-glass-bg-strong)}dialog.tm-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@media (max-width: 860px){.tm-shell.app-shell .tm-sidebar,.tm-shell.app-shell .tm-sidebar.is-collapsed{background:var(--tm-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}}@media (prefers-reduced-transparency: reduce),(prefers-contrast: more){:root .tm-shell.app-shell,:root .tm-shell.app-shell .app-shell__main.tm-main{background:var(--tm-bg)}:root .tm-shell.app-shell .tm-topbar,:root .tm-shell.app-shell .tm-sidebar,:root .tm-shell.app-shell .tm-section,:root dialog.tm-dialog{background:var(--tm-surface);border-color:var(--tm-border);-webkit-backdrop-filter:none;backdrop-filter:none}}
