:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--mobile-overlay-bottom:max(0.75rem,var(--safe-bottom))}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;padding-left:var(--safe-left);padding-right:var(--safe-right)}button,input,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:360px 1fr;min-height:100vh}.app-shell--embedded{height:100%;min-height:0;grid-template-columns:minmax(300px,360px) 1fr}.sidebar{flex-direction:column;min-width:0;padding:1rem;border-right:1px solid var(--panel-border);background:var(--ui-sidebar-bg)}.sidebar,.sidebar__body{display:flex;gap:.75rem;overflow:hidden}.sidebar__body{flex:1 1;flex-direction:column;min-height:0}.sidebar__error{flex-shrink:0}.sidebar__header h1,.sidebar__header h2{margin:0 0 .35rem;font-size:1.15rem}.sidebar__header--compact{flex-shrink:0;margin-bottom:0}.sidebar__header--compact .muted{margin:0;font-size:.82rem}.sidebar__header-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sidebar__header-row h2{margin:0}.sidebar__header-actions{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.45rem;margin-left:auto}.sidebar__collapse-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;padding:0;border:1px solid var(--ui-control-border);border-radius:8px;background:var(--ui-control-bg);color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer}.sidebar__collapse-toggle:hover{color:var(--text);border-color:var(--ui-control-hover-border);background:var(--ui-control-hover-bg)}.sidebar__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.1rem .45rem;border-radius:999px;background:var(--ui-control-hover-bg);color:var(--muted);font-size:.75rem;font-weight:600}.device-search{display:flex;align-items:center;gap:.45rem;margin-top:.65rem}.device-search__input{flex:1 1;min-width:0;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--panel-border);background:var(--ui-surface-subtle);color:var(--text);font-size:.8125rem}.device-search__input::placeholder{color:var(--muted)}.device-search__input:focus{outline:none;border-color:rgba(79,140,255,.55)}.device-search__clear{flex-shrink:0;min-height:auto;padding:.35rem .55rem;background:transparent;border:1px solid var(--panel-border);border-radius:8px;color:var(--muted);font-size:.75rem;font-weight:600;cursor:pointer}.device-search__hint{margin:.35rem 0 0;font-size:.75rem}.fleet-filter-toggle{display:inline-flex;align-items:center;gap:.45rem;margin-top:.55rem;color:var(--muted);font-size:.8125rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar__header-row .fleet-filter-toggle{margin-top:0;margin-left:0;min-width:0;font-size:.75rem;line-height:1.2}.fleet-filter-toggle__meta{color:var(--muted);white-space:nowrap}.fleet-filter-toggle input{margin:0;flex-shrink:0}@media (min-width:961px){.app-shell--embedded.app-shell--fleet-sidebar-collapsed{grid-template-columns:2.75rem 1fr}.app-shell--fleet-sidebar-collapsed .sidebar--collapsed{align-items:center;padding:.75rem .35rem}.sidebar__collapsed-rail{display:flex;flex:1 1;flex-direction:column;align-items:center;gap:.65rem;min-height:0;padding-top:.15rem}.sidebar__count--collapsed{writing-mode:vertical-rl;transform:rotate(180deg);min-width:0;padding:.35rem .2rem}}.sidebar__meta{display:grid;grid-gap:.75rem;gap:.75rem;padding:.9rem;border:1px solid var(--panel-border);border-radius:12px;background:var(--ui-surface-subtle)}.eyebrow{margin:0;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.label,.muted{color:var(--muted)}.label{display:block;margin-bottom:.2rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}code{font-size:.82rem;word-break:break-all}.error-banner{padding:.85rem 1rem;border:1px solid rgba(255,123,123,.35);border-radius:12px;background:rgba(255,123,123,.08);color:#ffd4d4}.device-list{display:flex;flex-direction:column;gap:.45rem;flex:1 1;min-height:0;overflow-y:auto}.device-list__empty{margin:0;padding:.5rem 0}.device-card{display:flex;align-items:center;gap:.65rem;box-sizing:border-box;width:100%;height:3.625rem;min-height:3.625rem;max-height:3.625rem;min-width:0;padding:.55rem .9rem;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel);color:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.device-card--active,.device-card:hover{border-color:var(--accent);background:var(--ui-selected-bg)}.device-card--inactive{background:color-mix(in srgb,var(--panel-bg) 88%,var(--muted) 12%);border-color:color-mix(in srgb,var(--panel-border) 70%,var(--muted) 30%);color:var(--muted)}.device-card--inactive.device-card--active,.device-card--inactive:hover{background:color-mix(in srgb,var(--ui-selected-bg) 82%,var(--muted) 18%);border-color:color-mix(in srgb,var(--accent) 55%,var(--muted) 45%)}.device-card--inactive .device-card__title{color:var(--muted)}.device-card--inactive .device-card__title:after{content:" · Inactive";color:var(--muted);font-size:.72rem;font-weight:600}.device-card__indicator{flex-shrink:0;align-self:center;width:2.35rem;height:2.35rem;border:none;border-radius:999px;background:var(--muted);color:#ffffff;box-shadow:0 1px 4px rgba(15,23,42,.2)}.device-card__indicator,.device-card__indicator-glyph{display:inline-flex;align-items:center;justify-content:center}.device-card__indicator-glyph{line-height:0}.device-card__indicator-glyph svg{display:block;width:1.15rem;height:1.15rem}.device-card__indicator--inline{width:1.65rem;height:1.65rem;box-shadow:0 1px 3px rgba(15,23,42,.16)}.device-card__indicator--inline .device-card__indicator-glyph svg{width:.9rem;height:.9rem}.device-card__indicator--moving{background:#2e7d32;box-shadow:0 1px 5px rgba(46,125,50,.35)}.device-card__indicator--online,.device-card__indicator--parked{background:#c62828;box-shadow:0 1px 5px rgba(198,40,40,.3)}.device-card__indicator--idle{background:#b45309;box-shadow:0 1px 5px rgba(180,83,9,.3)}.device-card__indicator--offline{background:#64748b;box-shadow:0 1px 4px rgba(100,116,139,.28)}.device-card__indicator--waiting{background:#94a3b8;box-shadow:0 1px 4px rgba(148,163,184,.28)}.device-card__content{display:grid;flex:1 1;grid-template-columns:minmax(0,1fr) auto;grid-column-gap:.45rem;column-gap:.45rem;grid-row-gap:.12rem;row-gap:.12rem;align-items:center;min-width:0;overflow:hidden}.device-card__status-stack{grid-column:2;grid-row:1/span 2;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:end;align-self:center;gap:.18rem}.device-card__meta--speed{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.device-card__title{grid-row:1;min-width:0;font-size:.9rem;font-weight:700;line-height:1.3}.device-card__meta,.device-card__title{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-card__meta{grid-row:2;padding-right:.1rem;color:var(--muted);font-size:.76rem;line-height:1.1}.device-battery-chip{display:inline-flex;flex-shrink:0;align-items:center;gap:1px;color:#22c55e}.device-battery-chip--high{color:#22c55e}.device-battery-chip--medium{color:#eab308}.device-battery-chip--low{color:#ef4444}.device-battery-chip--offline{color:#9ca3af}.device-battery-chip__shell{display:inline-flex;align-items:center;box-sizing:border-box;padding:2px 3px;border:1.5px solid;border-radius:3px;background:transparent}.device-battery-chip__segments{display:inline-flex;align-items:center;gap:1px}.device-battery-chip__segment{width:2.5px;height:7px;border-radius:1px;background:color-mix(in srgb,currentColor 22%,transparent)}.device-battery-chip__segment--active{background:currentColor}.device-battery-chip__cap{flex-shrink:0;width:2px;height:4px;border-radius:0 1px 1px 0;background:currentColor;opacity:.85}.device-battery-chip--compact .device-battery-chip__shell{padding:2px 3px;border-width:1.5px;border-radius:3px}.device-battery-chip--compact .device-battery-chip__segment{width:2.75px;height:6.5px}.device-battery-chip--compact .device-battery-chip__cap{width:2px;height:3.5px}.cellular-signal{display:inline-flex;align-items:center;justify-content:flex-end;gap:.45rem;color:#22c55e}.cellular-signal--high{color:#22c55e}.cellular-signal--medium{color:#eab308}.cellular-signal--low{color:#ef4444}.cellular-signal--none{color:#9ca3af}.cellular-signal__bars{display:inline-flex;align-items:flex-end;gap:2px}.cellular-signal__bar{width:3px;border-radius:1px;background:color-mix(in srgb,currentColor 22%,transparent)}.cellular-signal__bar--active{background:currentColor}.cellular-signal__label{font-size:.8125rem;line-height:1.35;color:var(--text)}.device-status{flex-shrink:0;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.device-status--moving{background:rgba(95,211,141,.16);color:#9ef0bf}.device-status--online,.device-status--parked{background:rgba(229,57,53,.16);color:#ff8a80}.device-status--idle{background:rgba(245,158,11,.16);color:#fcd34d}.device-status--offline{background:rgba(107,114,128,.2);color:#c5cad3}.device-status--waiting{background:rgba(163,173,194,.16);color:#c5cad3}.detail-panel{flex-shrink:0;box-sizing:border-box;padding:.85rem .95rem;border:1px solid var(--panel-border);border-radius:14px;background:rgba(255,255,255,.03);overflow-y:auto}.fleet-detail-overlay{position:absolute;right:.75rem;bottom:.75rem;z-index:4;box-sizing:border-box;width:auto;max-width:min(420px,calc(100% - 1.5rem));border:1px solid var(--ui-overlay-border);border-radius:14px;background:var(--ui-overlay-bg);box-shadow:0 12px 32px var(--ui-shadow),0 0 0 1px rgba(255,255,255,.04) inset;color:var(--text);pointer-events:auto}.fleet-detail-overlay--collapsed{display:flex;align-items:center;gap:.35rem;min-height:2.75rem;padding:.35rem .35rem .35rem .5rem}.fleet-detail-overlay__summary{display:flex;flex:1 1;align-items:center;gap:.55rem;min-width:0;padding:.45rem .55rem;border:none;border-radius:10px;background:transparent;color:inherit;text-align:left;cursor:pointer;white-space:nowrap}.fleet-detail-overlay__summary:hover{background:var(--ui-surface-hover)}.fleet-detail-overlay__summary-main{display:flex;flex:1 1;flex-wrap:nowrap;align-items:center;gap:.45rem;min-width:0;overflow:hidden}.fleet-detail-overlay__summary-main .device-status{flex-shrink:0}.fleet-detail-overlay__title{margin:0;flex:0 1 auto;min-width:0;overflow:hidden;font-size:.92rem;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.fleet-detail-overlay__meta{color:var(--muted);flex-shrink:0;font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fleet-detail-overlay__meta--speed,.fleet-detail-overlay__motion-speed{color:var(--text);font-size:.82rem;font-weight:700}.fleet-detail-overlay__motion-speed{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}.fleet-detail-overlay__toggle-label{color:var(--muted);flex-shrink:0;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.fleet-detail-overlay__chevron{color:var(--muted);flex-shrink:0;font-size:.85rem;line-height:1}.fleet-detail-overlay__close,.fleet-detail-overlay__icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;padding:0;border:1px solid var(--ui-control-border);border-radius:8px;background:var(--ui-control-bg);color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer}.fleet-detail-overlay__close:hover,.fleet-detail-overlay__icon-button:hover{color:var(--text);border-color:var(--ui-control-hover-border);background:var(--ui-control-hover-bg)}.fleet-detail-overlay--expanded{display:flex;flex-direction:column;gap:.65rem;width:100%;min-width:17rem;max-width:min(320px,calc(100% - 1.5rem));padding:.85rem}.fleet-detail-overlay__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.fleet-detail-overlay__header-main{min-width:0}.fleet-detail-overlay__header-actions{display:inline-flex;flex-shrink:0;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:.35rem}.fleet-detail-overlay__imei{margin:.25rem 0 0;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fleet-detail-overlay__motion-stack{display:flex;flex-direction:column;align-items:flex-end;gap:.12rem}.fleet-detail-overlay__list{display:flex;flex-direction:column;gap:.45rem;margin:0;align-self:stretch}.fleet-detail-overlay__row{display:grid;grid-template-columns:auto max-content;align-items:baseline;grid-gap:.5rem .75rem;gap:.5rem .75rem;min-width:0}.fleet-detail-overlay__row--address{grid-template-columns:1fr;align-items:start;gap:.2rem}.fleet-detail-overlay__row dt{margin:0;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.fleet-detail-overlay__value{margin:0;font-size:.8125rem;line-height:1.35;text-align:right;word-break:normal}.fleet-detail-overlay__value--address{text-align:left;word-break:break-word;overflow-wrap:anywhere}.fleet-detail-overlay__value--mono,.fleet-detail-overlay__value--time{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}.fleet-detail-overlay__value--time{color:var(--muted)}.fleet-detail-overlay__value--state{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fleet-detail-overlay__value--gps-low{color:var(--warning-text,#b45309)}.fleet-detail-overlay__position-fix{display:inline-flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.fleet-detail-overlay__empty{margin:0;font-size:.8125rem;line-height:1.45}.fleet-detail-overlay__actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.35rem;gap:.35rem;align-self:stretch;width:100%;box-sizing:border-box;padding-top:.35rem;border-top:1px solid var(--ui-overlay-divider)}.fleet-detail-overlay__actions--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-detail-overlay__actions .button-secondary{min-width:0;padding-inline:.35rem;font-size:.78rem}.live-tracking-shell{grid-template-columns:1fr minmax(280px,320px)}.live-tracking-shell .live-panel{border-right:none;border-left:1px solid var(--panel-border)}.live-tracking-map,.live-tracking-map-shell{position:absolute;inset:0;min-height:0;width:100%;height:100%}.admin-shell--map .live-tracking-map,.admin-shell--map .live-tracking-map-shell{min-height:0}.map-panel .live-tracking-map-shell{position:absolute;inset:0;height:auto}.live-course-marker{position:relative;width:0;height:0;border:none;background:none;padding:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:visible}.live-course-marker__halo{width:46px;height:46px}.live-course-marker__disc,.live-course-marker__halo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:999px;pointer-events:none}.live-course-marker__disc{z-index:2;width:26px;height:26px;background:#ffffff;box-shadow:0 0 0 1px rgba(255,255,255,.95),0 1px 6px rgba(15,23,42,.24)}.live-course-marker__arrow,.live-course-marker__disc{display:inline-flex;align-items:center;justify-content:center}.live-course-marker__arrow{width:22px;height:22px;color:#2e7d32;transform-origin:center center;transition:transform .18s ease}.live-course-marker__arrow svg{display:block;width:22px;height:22px}.live-course-marker--moving .live-course-marker__halo{background:rgba(95,211,141,.42);box-shadow:0 0 14px rgba(95,211,141,.55)}.live-course-marker--moving .live-course-marker__arrow{color:#2e7d32}.live-course-marker--idle .live-course-marker__halo{background:transparent;box-shadow:none}.live-course-marker--idle .live-course-marker__arrow{color:#d97706}.live-course-marker--parked .live-course-marker__halo{background:transparent;box-shadow:none}.live-course-marker--parked .live-course-marker__arrow{color:#c62828}.live-course-marker--offline .live-course-marker__halo,.live-course-marker--waiting .live-course-marker__halo{background:transparent;box-shadow:none}.live-course-marker--offline .live-course-marker__arrow,.live-course-marker--waiting .live-course-marker__arrow{color:#6b7280}.live-panel__device-name{margin:.15rem 0 0;font-size:.95rem;font-weight:600}.live-panel__device-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.live-panel__device-header .live-panel__device-name{margin:.15rem 0 0}.live-panel__body{display:flex;flex-direction:column;gap:1rem}.live-panel__list{margin:0;display:grid;grid-gap:.85rem;gap:.85rem}.live-panel__list dt{margin:0 0 .2rem;color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.live-panel__list dd{margin:0;font-size:.92rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.live-panel__status{text-transform:capitalize}.live-panel__actions{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--panel-border)}.live-panel__action{display:inline-flex;width:100%;justify-content:center;text-decoration:none}.live-tracking-status{position:absolute;left:.85rem;bottom:.85rem;z-index:3;display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .65rem;border-radius:999px;background:var(--ui-float-bg);border:1px solid var(--ui-float-border);font-size:.78rem;text-transform:capitalize}.live-tracking-status__dot{width:.55rem;height:.55rem;border-radius:999px;background:#64748b}.live-tracking-status__dot--online{background:var(--success);box-shadow:0 0 0 3px rgba(95,211,141,.18)}.live-tracking-back{margin-top:.75rem;display:inline-flex;text-decoration:none}.detail-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.detail-panel__header-badges{display:inline-flex;flex-shrink:0;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:.4rem}.detail-panel__motion-stack{display:flex;flex-direction:column;align-items:flex-end;gap:.12rem}.detail-panel__motion-speed{color:#9ef0bf;font-size:.72rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}.detail-panel__header h2{margin:0;font-size:1rem;line-height:1.3}.detail-panel__imei{margin:.25rem 0 0;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-panel__list{display:flex;flex-direction:column;gap:.45rem;margin:0}.detail-panel__row{display:grid;grid-template-columns:minmax(5.5rem,38%) 1fr;align-items:baseline;grid-gap:.5rem .75rem;gap:.5rem .75rem;min-width:0}.detail-panel__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem .85rem;gap:.65rem .85rem;margin:0}.detail-panel__item{min-width:0}.detail-panel__item--full{grid-column:1/-1}.detail-panel__grid dt,.detail-panel__row dt{margin:0;color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.detail-panel__value{margin:0;font-size:.75rem;line-height:1.4;word-break:break-word}.detail-panel__row .detail-panel__value{min-width:0;text-align:right;word-break:break-word}.detail-panel__value--mono,.detail-panel__value--time{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}.detail-panel__empty{margin:0;font-size:.8125rem;line-height:1.45}.detail-panel__actions{display:flex;gap:.5rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border)}.command-result{margin-top:.75rem}.command-result__status{margin:0 0 .5rem;font-size:.875rem}.command-result__response{margin:0;padding:.65rem .7rem;border-radius:.5rem;background:var(--surface-2);border:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:min(40vh,14rem);overflow:auto}.admin-drawer-form--command .command-result__response{width:100%;box-sizing:border-box}.detail-panel h2{margin:0 0 .65rem;font-size:1rem;word-break:break-word}.detail-panel dl{margin:0}.map-panel{position:relative;height:100vh;min-height:100vh}.map-panel .track-map-shell{position:absolute;inset:0;min-height:0;height:auto}.map-panel .track-map-shell .track-map{min-height:0}.map-panel .track-playback-bar{z-index:4}.admin-shell--map .fleet-map,.admin-shell--map .fleet-map-shell,.admin-shell--map .map-panel{height:100%;min-height:0}.admin-shell--map .sidebar{height:100%;min-height:0;overflow:hidden}.admin-shell--map .fleet-map-shell{min-height:0}.fleet-map-shell{position:relative;width:100%;height:100%;min-height:100vh}.fleet-map-shell>.fleet-map,.fleet-map-shell>.geofence-draw__map,.fleet-map-shell>.live-tracking-map,.fleet-map-shell>.track-map{position:relative;z-index:1}.fleet-map-shell>.map-basemap-control,.fleet-map-shell>.map-sync-control{z-index:5;pointer-events:auto}.fleet-map{width:100%;height:100%;min-height:100vh;background:#e8eef5}.fleet-map .maplibregl-canvas{outline:none}.google-map-host{position:relative;overflow:hidden}.google-map-host .gm-style,.google-map-host>div{width:100%!important;height:100%!important}.google-map-host__loading{display:grid;place-items:center;width:100%;height:100%;min-height:12rem}.google-map-host .live-course-marker,.google-map-host .map-device-marker,.google-map-host .track-stop-marker-root,.google-map-host .track-trip-marker-root{pointer-events:auto}.google-geofence-draw-marker{display:block;width:12px;height:12px;border:2px solid #ffffff;border-radius:999px;box-shadow:0 2px 8px rgba(15,23,42,.35)}.google-map-controls{display:flex;flex-direction:column;align-items:center;gap:.45rem;margin:.45rem .65rem 0 0;pointer-events:auto}.google-map-controls__zoom{display:flex;flex-direction:column;width:2rem;border:1px solid rgba(15,23,40,.12);border-radius:8px;overflow:hidden;box-shadow:0 2px 10px rgba(15,23,40,.18);background:rgba(255,255,255,.96)}.google-map-controls__zoom-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;min-height:0;padding:0;border:0;border-bottom:1px solid rgba(15,23,40,.1);background:transparent;color:#0f1728;font-size:1.1rem;line-height:1;cursor:pointer}.google-map-controls__zoom-btn:last-child{border-bottom:0}.google-map-controls__zoom-btn:hover{background:rgba(79,140,255,.08)}.google-map-controls .map-basemap-control{position:relative;top:auto;right:auto}.google-map-controls .map-basemap-control__toggle{width:2rem;height:2rem}.google-map-controls .map-basemap-control--embedded button.map-basemap-control__toggle{background:rgba(255,255,255,.96);border:1px solid rgba(15,23,40,.12);border-radius:8px;box-shadow:0 2px 10px rgba(15,23,40,.18)}.google-map-host button.map-device-marker{display:block;border:0;background:none;font-weight:inherit}.google-map-host button.map-device-marker,.google-map-host button.track-stop-marker,.google-map-host button.track-trip-marker{min-height:0;min-width:0;padding:0;opacity:1}.google-map-host .google-marker-pin__content,.google-map-host .map-device-marker__dot,.google-map-host .map-device-marker__glyph,.google-map-host .map-device-marker__halo,.google-map-host .map-device-marker__label{opacity:1}.google-map-host .map-device-marker__glyph{isolation:isolate}.google-marker-pin{position:relative;display:block;width:0;height:0}.google-marker-pin__point{display:block;width:1px;height:1px;opacity:0;pointer-events:none}.google-marker-pin__content{position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:auto}.fleet-map__notice{position:absolute;top:.75rem;left:.75rem;z-index:2;padding:.35rem .6rem;border-radius:999px;background:var(--ui-float-bg);font-size:.8rem}.map-sync-control{position:absolute;left:.75rem;bottom:2.5rem;z-index:5;pointer-events:auto;display:inline-flex;align-items:center;gap:.55rem;padding:.3rem .45rem .3rem .55rem;border-radius:8px;border:1px solid rgba(15,23,40,.12);background:rgba(255,255,255,.96);box-shadow:0 2px 10px rgba(15,23,40,.18);color:#0f1728;font-size:.8125rem}.map-sync-control__status{display:inline-flex;align-items:center;gap:.35rem;padding-right:.15rem;font-size:.75rem;font-weight:600;letter-spacing:.02em}.map-sync-control__status-dot{width:7px;height:7px;border-radius:50%}.map-sync-control__status--live{color:#1b7a4a}.map-sync-control__status--live .map-sync-control__status-dot{background:#34c759;box-shadow:0 0 0 2px rgba(52,199,89,.22);animation:map-sync-status-pulse 2.4s ease-in-out infinite}.map-sync-control__status--connecting{color:#9a6700}.map-sync-control__status--connecting .map-sync-control__status-dot{background:#f5a623;box-shadow:0 0 0 2px rgba(245,166,35,.22);animation:map-sync-status-pulse 1.2s ease-in-out infinite}.map-sync-control__status--offline{color:#8b3a3a}.map-sync-control__status--offline .map-sync-control__status-dot{background:#e05252;box-shadow:0 0 0 2px rgba(224,82,82,.18)}@keyframes map-sync-status-pulse{0%,to{opacity:1}50%{opacity:.55}}.map-sync-control__sync{display:inline-flex;align-items:center;gap:.35rem;margin:0}.map-sync-control__sync-label{font-size:.75rem;color:#5b6475}.map-sync-control__countdown{min-width:2rem;font-size:.8125rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#0f1728;text-align:center}.map-sync-control select{min-width:4.5rem;padding:.2rem .45rem;border-radius:6px;border:1px solid rgba(15,23,40,.14);background:#ffffff;color:#0f1728;font-size:.8125rem;line-height:1.3}.map-basemap-control{position:absolute;top:5rem;right:.65rem;z-index:5;pointer-events:auto}.map-basemap-control-host{position:relative;clear:both;margin-top:.45rem;border:0;background:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.1);border-radius:4px;overflow:visible!important;pointer-events:auto}.fleet-map .maplibregl-ctrl-top-right,.geofence-draw__map .maplibregl-ctrl-top-right,.track-map .maplibregl-ctrl-top-right{overflow:visible}.map-basemap-control--embedded,.map-basemap-control-host .map-basemap-control{position:relative;top:auto;right:auto;z-index:2;overflow:visible}.map-basemap-control__toggle{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:2rem;height:2rem;min-height:0;padding:0;border:1px solid rgba(15,23,40,.12);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 2px 10px rgba(15,23,40,.18);color:#0f1728;cursor:pointer}.map-basemap-control--embedded .map-basemap-control__toggle,.map-basemap-control-host .map-basemap-control__toggle{width:29px;height:29px;min-height:29px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.map-basemap-control__icon{display:block;width:20px;height:20px;background-position:50%;background-repeat:no-repeat;background-size:20px 20px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 2 7l10 5 10-5-10-5Z'/%3E%3Cpath d='m2 17 10 5 10-5'/%3E%3Cpath d='m2 12 10 5 10-5'/%3E%3C/svg%3E")}.map-basemap-control-host .map-basemap-control__icon{width:100%;height:100%;background-size:18px 18px}.map-basemap-control__toggle--active .map-basemap-control__icon,.map-basemap-control__toggle:hover .map-basemap-control__icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 2 7l10 5 10-5-10-5Z'/%3E%3Cpath d='m2 17 10 5 10-5'/%3E%3Cpath d='m2 12 10 5 10-5'/%3E%3C/svg%3E")}.map-basemap-control-host .map-basemap-control__toggle--active,.map-basemap-control-host .map-basemap-control__toggle:hover{background:rgb(0 0 0/5%)}.map-basemap-control__toggle--active,.map-basemap-control__toggle:hover{border-color:rgba(79,140,255,.45);color:#2563eb}.map-basemap-control__menu{position:absolute;top:0;right:calc(100% + .45rem);z-index:6;pointer-events:auto;display:flex;flex-direction:column;gap:.35rem;box-sizing:border-box;width:auto;min-width:11.75rem;max-width:none;padding:.55rem;border:1px solid rgba(15,23,40,.12);border-radius:10px;background:#fff;color:#0f1728;box-shadow:0 10px 28px rgba(15,23,40,.2)}.map-basemap-control:not(.map-basemap-control--embedded) .map-basemap-control__menu{top:calc(100% + .4rem);right:0}.map-basemap-control__option{display:flex;align-items:center;gap:.75rem;width:100%;min-height:0;padding:.55rem .75rem;border:0;border-left:3px solid transparent;border-radius:8px;background:transparent;color:#0f1728;font-size:inherit;font-weight:400;line-height:normal;white-space:normal;text-align:left;justify-content:flex-start;cursor:pointer}.map-basemap-control__option--active,.map-basemap-control__option:hover{background:rgba(79,140,255,.08)}.map-basemap-control__option--active{border-left-color:#2563eb}.map-basemap-control__radio{flex-shrink:0;width:.85rem;height:.85rem;margin-top:0;border:1.5px solid #94a3b8;border-radius:999px;background:#fff}.map-basemap-control__radio--active{border-color:#2563eb;background:#2563eb;box-shadow:inset 0 0 0 2px #fff}.map-basemap-control__option-copy{display:flex;flex-direction:column;gap:.3rem;min-width:0;flex:1 1}.map-basemap-control__option-label{display:block;color:#0f1728;font-size:.875rem;font-weight:600;line-height:1.4;white-space:nowrap}.fleet-map--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.5rem;text-align:center}.map-marker-anchor{transform:translate(-50%,-50%)}.map-marker{width:18px;height:18px;border:3px solid #ffffff;border-radius:999px;background:var(--accent);box-shadow:0 0 0 4px rgba(79,140,255,.25);cursor:pointer}.map-marker--selected{background:var(--success);box-shadow:0 0 0 6px rgba(95,211,141,.28)}.map-device-marker{position:relative;width:0;height:0;border:none;background:none;padding:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:visible}.map-device-marker__hit{position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% - 16px));width:136px;height:78px;cursor:pointer;z-index:5;background:transparent}.map-device-marker:focus-visible,.map-device-marker:hover{cursor:pointer}.map-device-marker:focus-visible .map-device-marker__glyph,.map-device-marker:hover .map-device-marker__glyph{transform:translateX(-50%) scale(1.08);box-shadow:0 0 0 2px rgba(255,255,255,.92),0 3px 10px rgba(15,23,42,.48)}.map-device-marker:focus-visible .map-device-marker__label,.map-device-marker:hover .map-device-marker__label{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 2px 6px rgba(0,0,0,.5)}.map-device-marker__label{bottom:calc(50% + 44px);display:block;max-width:132px;padding:2px 7px;border-radius:3px;font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 4px rgba(0,0,0,.45)}.map-device-marker__glyph,.map-device-marker__label{position:absolute;left:50%;transform:translateX(-50%);color:#ffffff;pointer-events:none}.map-device-marker__glyph{bottom:calc(50% + 10px);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:2px solid #ffffff;border-radius:999px;background:#334155;line-height:0;box-shadow:0 2px 8px rgba(15,23,42,.42);transition:transform .12s ease,box-shadow .12s ease}.map-device-marker__glyph svg{display:block;width:18px;height:18px}.map-device-marker--moving .map-device-marker__glyph{background:#2e7d32}.map-device-marker--online .map-device-marker__glyph,.map-device-marker--parked .map-device-marker__glyph{background:#c62828}.map-device-marker--idle .map-device-marker__glyph{background:#b45309}.map-device-marker--offline .map-device-marker__glyph,.map-device-marker--waiting .map-device-marker__glyph{background:#64748b}.map-device-marker__halo{width:24px;height:24px;border-radius:999px}.map-device-marker__dot,.map-device-marker__halo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}.map-device-marker__dot{width:7px;height:7px;border:2px solid #ffffff;border-radius:999px;box-sizing:content-box;z-index:3}.map-device-marker--moving .map-device-marker__halo{background:rgba(95,211,141,.28)}.map-device-marker--moving .map-device-marker__dot{background:#5fd38d}.map-device-marker--online .map-device-marker__halo,.map-device-marker--parked .map-device-marker__halo{background:rgba(79,140,255,.22)}.map-device-marker--online .map-device-marker__dot,.map-device-marker--parked .map-device-marker__dot{background:#4f8cff}.map-device-marker--idle .map-device-marker__halo{background:rgba(245,158,11,.24)}.map-device-marker--idle .map-device-marker__dot{background:#f59e0b}.map-device-marker--offline .map-device-marker__halo,.map-device-marker--waiting .map-device-marker__halo{background:rgba(156,163,175,.24)}.map-device-marker--offline .map-device-marker__dot,.map-device-marker--waiting .map-device-marker__dot{background:#9ca3af}.map-device-marker--selected .map-device-marker__halo{width:30px;height:30px}.map-device-marker--selected.map-device-marker--moving .map-device-marker__halo{background:rgba(95,211,141,.32)}.map-device-marker--selected.map-device-marker--offline .map-device-marker__halo,.map-device-marker--selected.map-device-marker--waiting .map-device-marker__halo{background:rgba(156,163,175,.32)}.map-device-marker__label--moving{background:#2e7d32}.map-device-marker__label--online,.map-device-marker__label--parked{background:#e53935}.map-device-marker__label--idle{background:#d97706}.map-device-marker__label--offline,.map-device-marker__label--waiting{background:#6b7280}.map-device-marker--selected .map-device-marker__label{box-shadow:0 0 0 2px rgba(255,255,255,.95),0 1px 4px rgba(0,0,0,.45)}.map-device-marker--selected .map-device-marker__glyph{width:34px;height:34px;box-shadow:0 0 0 2px rgba(255,255,255,.95),0 3px 10px rgba(15,23,42,.45)}.map-device-marker--selected .map-device-marker__glyph svg{width:20px;height:20px}.track-search-form{display:grid;grid-gap:.75rem;gap:.75rem;flex-shrink:0;padding:0 0 1rem;border-bottom:1px solid var(--panel-border)}.track-results,.track-search-empty{padding-top:1rem}.track-results{display:flex;flex:1 1;flex-direction:column;gap:0;min-height:0;overflow:hidden}.track-summary{flex-shrink:0}.track-summary h3{margin:0 0 .75rem}.track-summary__grid{flex-shrink:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.65rem .75rem;gap:.65rem .75rem;margin:0}.track-summary__grid dt{font-size:.75rem;color:var(--muted)}.track-summary__grid dd{margin:.15rem 0 0;font-weight:600}.track-summary__note{flex-shrink:0;margin:.75rem 0 0;font-size:.82rem}.track-timeline{display:flex;flex:1 1;flex-direction:column;min-height:0;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--panel-border);overflow:hidden}.track-timeline--sidebar{min-height:12rem}.track-timeline h4{flex-shrink:0;margin:0 0 .65rem;font-size:.92rem}.track-timeline__list{display:flex;flex:1 1;flex-direction:column;gap:.45rem;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:.2rem}.track-timeline-panel{position:absolute;top:.75rem;left:.75rem;z-index:3;box-sizing:border-box;width:min(320px,calc(100% - 1.5rem));border:1px solid var(--ui-overlay-border);border-radius:12px;background:var(--ui-float-bg);box-shadow:0 10px 30px var(--ui-shadow);pointer-events:auto}.track-timeline-panel--expanded{display:flex;flex-direction:column;max-height:calc(100% - 10.5rem);overflow:hidden}.track-timeline-panel--collapsed{width:auto;max-width:min(320px,calc(100% - 1.5rem))}.track-timeline-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0;padding:.65rem .75rem .55rem;border-bottom:1px solid var(--ui-overlay-divider)}.track-timeline-panel__header-main{display:flex;align-items:baseline;gap:.5rem;min-width:0}.track-timeline-panel__header h4{margin:0;font-size:.92rem}.track-timeline-panel__header-main .muted{font-size:.75rem}.track-timeline-panel__collapse{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border:1px solid var(--ui-control-border);border-radius:8px;background:var(--ui-control-bg);color:var(--muted);cursor:pointer}.track-timeline-panel__collapse:hover{color:var(--text);border-color:var(--ui-control-hover-border)}.track-timeline-panel__list{display:flex;flex:1 1;flex-direction:column;gap:.45rem;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.55rem .65rem .65rem}.track-timeline-panel__collapsed-trigger{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border:none;border-radius:12px;background:transparent;color:inherit;cursor:pointer;white-space:nowrap}.track-timeline-panel__collapsed-trigger:hover{background:rgba(255,255,255,.04)}.track-timeline-panel__collapsed-label{font-size:.88rem;font-weight:700}.track-timeline-panel__collapsed-count{color:var(--muted);font-size:.75rem}.track-timeline-item{display:flex;flex:0 0 auto;flex-direction:column;align-items:stretch;gap:.16rem;width:100%;min-height:0;padding:.5rem .6rem;border-radius:9px;background:rgba(255,255,255,.02);color:inherit;text-align:left;cursor:pointer;isolation:isolate}.track-timeline-item__head{display:flex;align-items:center;justify-content:space-between;gap:.45rem;min-width:0}.track-timeline-item--day-start{border-left:3px solid #22c55e}.track-timeline-item--day-end{border-left:3px solid #ef4444}.track-timeline-group{display:flex;flex-direction:column;gap:.35rem}.track-timeline-group__header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.35rem;gap:.35rem;align-items:start}.track-timeline-group__header .track-timeline-item{min-width:0}.track-timeline-group__toggle{flex-shrink:0;width:1.75rem;height:1.75rem;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-bg);color:var(--muted);font-size:1rem;line-height:1;cursor:pointer}.track-timeline-group__toggle:hover{color:var(--text);border-color:var(--accent)}.track-timeline-group__children{display:flex;flex-direction:column;gap:.35rem;margin-left:.65rem;padding-left:.65rem;border-left:2px solid var(--panel-border)}.track-timeline-item--nested{font-size:.92em}.track-timeline-item--marker{background:var(--panel-bg)}.track-timeline-item--trip{border:1px solid rgba(79,140,255,.22)}.track-timeline-item--trip:hover{border-color:rgba(79,140,255,.45);background:rgba(79,140,255,.08)}.track-timeline-item--trip.track-timeline-item--selected{border-color:rgba(79,140,255,.55);background:rgba(79,140,255,.12);box-shadow:inset 3px 0 0 #4f8cff}.track-timeline-item--trip.track-timeline-item--selected:hover{border-color:rgba(79,140,255,.62);background:rgba(79,140,255,.16)}.track-timeline-item--stop{border:1px dashed rgba(255,193,94,.28);background:rgba(255,193,94,.04)}.track-timeline-item--idle{border:1px dashed rgba(245,158,11,.32);background:rgba(245,158,11,.06)}.track-timeline-item--idle:hover{border-color:rgba(245,158,11,.62);background:rgba(245,158,11,.12)}.track-timeline-item--focused,.track-timeline-item--stop:hover{border-color:rgba(255,193,94,.62);background:rgba(255,193,94,.1)}.track-timeline-item__type{min-width:0;font-size:.78rem;font-weight:700;line-height:1.2}.track-timeline-item__time{min-width:0;color:var(--muted);font-size:.7rem;line-height:1.35}.track-timeline-item__meta{min-width:0;font-size:.7rem;font-weight:600;line-height:1.25}.track-timeline-item__badge{flex-shrink:0;padding:.08rem .38rem;border-radius:999px;background:rgba(79,140,255,.14);color:#aecdff;font-size:.66rem;font-weight:700;line-height:1.2;white-space:nowrap}.track-timeline-item--stop .track-timeline-item__badge{background:rgba(255,193,94,.18);color:#ffd89a}.track-timeline-item--idle .track-timeline-item__badge{background:rgba(245,158,11,.22);color:#fcd34d}.track-trip-card{display:grid;flex-shrink:0;grid-gap:.45rem;gap:.45rem;width:100%;min-height:5.5rem;padding:.75rem .8rem;border:1px solid var(--panel-border);border-radius:10px;background:rgba(255,255,255,.02);color:inherit;text-align:left;cursor:pointer;isolation:isolate}.track-trip-card:hover{border-color:rgba(79,140,255,.45)}.track-stop-card__head,.track-trip-card__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.track-stop-card__title,.track-trip-card__title{font-weight:600;font-size:.88rem}.track-stop-card__badge,.track-trip-card__badge{flex-shrink:0;padding:.12rem .45rem;border-radius:999px;background:rgba(79,140,255,.14);color:#aecdff;font-size:.72rem;font-weight:700;white-space:nowrap}.track-stop-card__time,.track-trip-card__time{margin:0;color:var(--muted);font-size:.76rem;line-height:1.45;word-break:break-word}.track-trip-card__stats{display:flex;flex-wrap:wrap;gap:.35rem .65rem;color:#dbe8ff;font-size:.78rem;font-weight:600}.track-stop-card{display:grid;flex-shrink:0;grid-gap:.4rem;gap:.4rem;width:100%;min-height:5rem;padding:.75rem .8rem;border:1px dashed rgba(255,193,94,.35);border-radius:10px;background:rgba(255,193,94,.05);color:inherit;text-align:left;cursor:pointer;isolation:isolate}.track-stop-card--focused,.track-stop-card:hover{border-color:rgba(255,193,94,.65);background:rgba(255,193,94,.1)}.track-stop-card__badge{background:rgba(255,193,94,.18);color:#ffd89a}.track-stop-card__hint{margin:0;font-size:.72rem}.track-trips{display:flex;flex:1 1;flex-direction:column;min-height:0;margin-top:1rem}.track-trips h4{flex-shrink:0;margin:0 0 .5rem;font-size:.92rem}.track-trips__list{display:grid;flex:1 1;grid-gap:.5rem;gap:.5rem;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:.15rem}.track-trip-card__meta{font-size:.8rem;color:var(--muted)}.track-playback-bar{position:absolute;left:50%;bottom:1rem;z-index:3;width:min(720px,calc(100% - 2rem));transform:translateX(-50%);display:grid;grid-gap:.65rem;gap:.65rem;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--ui-overlay-border);background:var(--ui-float-bg);box-shadow:0 10px 30px var(--ui-shadow)}.track-playback-bar__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.track-playback-bar__speed{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;font-size:.85rem}.track-playback-bar__speed select{min-width:72px}.track-playback-bar__slider{width:100%}.track-playback-bar__meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.82rem;color:var(--muted)}.track-stop-marker-root{width:28px;height:28px;pointer-events:auto}.track-stop-marker{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:2px solid #ffffff;border-radius:999px;background:#e53935;color:#ffffff;box-shadow:0 2px 8px rgba(15,23,42,.35);cursor:pointer}.track-stop-marker--focused{box-shadow:0 0 0 3px rgba(229,57,53,.28),0 3px 10px rgba(15,23,42,.35)}.track-stop-marker__badge{font-size:.72rem;font-weight:800;line-height:1}.track-trip-marker-root{width:28px;height:28px;pointer-events:auto}.track-trip-marker{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:2px solid #ffffff;border-radius:999px;background:#e53935;color:#ffffff;box-shadow:0 2px 8px rgba(15,23,42,.35);cursor:pointer}.track-trip-marker--end{background:#c62828}.track-trip-marker--focused{box-shadow:0 0 0 3px rgba(229,57,53,.28),0 3px 10px rgba(15,23,42,.35)}.track-trip-marker__badge{font-size:.72rem;font-weight:800;line-height:1}.track-trip-marker__badge--end{font-size:.66rem;letter-spacing:.02em}.track-stop-popup .maplibregl-popup-content,.track-trip-popup .maplibregl-popup-content{padding:.65rem .75rem;border-radius:10px;background:var(--ui-float-bg);color:var(--text);box-shadow:0 10px 24px var(--ui-shadow)}.track-stop-popup__title,.track-trip-popup__title{margin-bottom:.45rem;font-size:.82rem;font-weight:700}.track-trip-popup__list{display:grid;grid-gap:.35rem;gap:.35rem;margin:0}.track-trip-popup__list div{display:grid;grid-template-columns:4.2rem 1fr;grid-gap:.45rem;gap:.45rem;font-size:.76rem}.track-trip-popup__list dt{color:var(--muted)}.track-stop-popup__list{display:grid;grid-gap:.35rem;gap:.35rem;margin:0}.track-stop-popup__list div{display:grid;grid-template-columns:4.2rem 1fr;grid-gap:.45rem;gap:.45rem;font-size:.76rem}.track-stop-popup__list dt{color:var(--muted)}.track-stop-popup__list dd{margin:0;font-weight:600}.mobile-map-toggle{display:inline-flex;gap:.25rem;margin-left:auto;padding:.2rem;border:1px solid var(--panel-border);border-radius:999px;background:rgba(255,255,255,.04)}.mobile-map-toggle__btn{min-height:auto;padding:.3rem .65rem;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.75rem;font-weight:600;cursor:pointer}.mobile-map-toggle__btn--active{background:var(--accent-soft);color:var(--text)}.map-panel__mobile-toggle .mobile-map-toggle{border:1px solid var(--ui-overlay-border);background:var(--ui-float-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px var(--ui-shadow)}.map-panel__mobile-toggle .mobile-map-toggle__btn{color:var(--text)}.map-panel__mobile-toggle .mobile-map-toggle__btn--active{background:var(--ui-selected-bg);color:var(--text)}.map-panel__mobile-toggle{position:absolute;top:.65rem;left:50%;z-index:5;transform:translateX(-50%)}@media (max-width:960px){.app-shell,.app-shell--embedded{display:flex;flex-direction:column;grid-template-columns:unset;height:100%;min-height:0}.sidebar{flex:1 1;min-height:0;border-right:none;border-bottom:1px solid var(--panel-border);padding-bottom:calc(.75rem + var(--safe-bottom))}.sidebar__header-row{flex-wrap:wrap;row-gap:.45rem}.sidebar__header-row .mobile-map-toggle{margin-left:0}.sidebar__header-row .fleet-filter-toggle{margin-left:0;flex:1 1 auto}.map-panel{flex:1 1;min-height:0;height:auto}.app-shell--embedded.app-shell--mobile-map .sidebar,.app-shell--embedded.app-shell--mobile-panel .map-panel,.live-tracking-shell.app-shell--mobile-map .sidebar,.live-tracking-shell.app-shell--mobile-panel .map-panel,.share-live-shell.app-shell--mobile-map .sidebar,.share-live-shell.app-shell--mobile-panel .map-panel{display:none}.share-live-shell .live-panel,.share-live-shell .share-live-panel{border-left:none;border-top:1px solid var(--panel-border)}.share-page__header{padding-top:calc(.65rem + var(--safe-top))}.share-page__header-meta{align-items:flex-end}.share-live-panel .live-panel__device-name{display:none}.fleet-map,.fleet-map-shell{min-height:0}.fleet-detail-overlay{right:max(.5rem,var(--safe-right));left:max(.5rem,var(--safe-left));bottom:var(--mobile-overlay-bottom);width:auto}.fleet-detail-overlay--expanded{max-width:min(320px,calc(100% - 1rem))}.fleet-detail-overlay__actions{padding-bottom:.15rem}.admin-drawer--fleet-overlay .admin-drawer__panel,.admin-drawer--fleet-overlay .admin-drawer__panel--compact{right:max(.5rem,var(--safe-right));left:max(.5rem,var(--safe-left));bottom:var(--mobile-overlay-bottom);width:auto;min-width:0;max-width:none;max-height:min(18rem,calc(100dvh - 8rem - var(--safe-top) - var(--safe-bottom)))}.admin-drawer{align-items:flex-end}.admin-drawer__panel,.admin-drawer__panel--compact,.admin-drawer__panel--wide{width:100%;max-width:100%;height:auto;max-height:min(92dvh,calc(100dvh - var(--safe-top) - .5rem));align-self:flex-end;border-left:none;border-top:1px solid var(--panel-border);border-radius:16px 16px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.35)}.admin-drawer__body{padding-bottom:calc(1rem + var(--safe-bottom))}.map-sync-control{top:calc(3.35rem + var(--safe-top));bottom:auto;left:max(.65rem,var(--safe-left));max-width:calc(100% - 1.3rem - var(--safe-left) - var(--safe-right))}.live-tracking-status{left:max(.85rem,var(--safe-left));bottom:var(--mobile-overlay-bottom)}.map-basemap-control{right:max(.65rem,var(--safe-right))}.track-playback-bar{bottom:var(--mobile-overlay-bottom);left:max(.5rem,var(--safe-left));right:max(.5rem,var(--safe-right));width:auto;max-width:none;transform:none;z-index:6;padding:.65rem .75rem calc(.65rem + var(--safe-bottom));gap:.45rem}.track-playback-bar__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.35rem;gap:.35rem}.track-playback-bar__controls .button-secondary{width:100%;justify-content:center}.track-playback-bar__speed{grid-column:1/-1;margin-left:0;justify-content:space-between}.track-playback-bar__meta{display:none}.track-timeline-panel{top:calc(3.35rem + var(--safe-top));left:max(.5rem,var(--safe-left));width:min(300px,calc(100% - 1rem - var(--safe-left) - var(--safe-right)))}.track-timeline-panel,.track-timeline-panel--expanded{max-height:min(38vh,calc(100dvh - 16rem - var(--safe-top) - var(--safe-bottom)))}.track-playback-bar__meta{gap:.45rem;font-size:.75rem}.admin-header{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;min-height:0;padding:calc(.35rem + var(--safe-top)) max(.65rem,var(--safe-right)) .35rem max(.65rem,var(--safe-left))}.admin-header__brand-row{flex:1 1 auto;min-width:0}.admin-header__brand.eyebrow{font-size:.95rem}.admin-header__logo{width:1.65rem;height:1.65rem}.admin-header__actions{display:flex;flex:1 1 100%;width:100%;flex-wrap:nowrap;align-items:center;gap:.35rem;min-width:0;justify-content:flex-start}.admin-header__actions>.field-inline{flex:1 1 auto;min-width:0;max-width:none}.admin-header__actions>.field-inline .label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-header__actions>.field-inline select{width:100%;min-width:0;max-width:none;padding:.3rem .45rem;font-size:.75rem}.admin-header__actions .alert-bell{flex:0 0 auto}.admin-header__user-menu-wrap{flex:0 1 auto;min-width:0}.admin-header__user-trigger{flex:0 1 auto;min-width:0;max-width:10.5rem;padding:.28rem .45rem;font-size:.72rem}.admin-header__user-trigger>span:not(.admin-header__user-caret){overflow:hidden;text-overflow:ellipsis}.admin-header__user-caret{flex-shrink:0}.admin-shell--map .admin-header{padding-bottom:.25rem}.admin-shell--map .admin-nav{padding-top:.15rem;padding-bottom:.15rem}.admin-nav{padding-left:max(.5rem,var(--safe-left));padding-right:max(.5rem,var(--safe-right))}.admin-content{padding:1rem max(1rem,var(--safe-right)) calc(1rem + var(--safe-bottom)) max(1rem,var(--safe-left))}.admin-panel__header--split{flex-direction:column;align-items:stretch}.admin-panel__header-action,.admin-panel__header-action .button-primary,.admin-panel__header-action .button-secondary{width:100%}.admin-table-wrap{margin-left:calc(-1 * max(1rem, var(--safe-left)));margin-right:calc(-1 * max(1rem, var(--safe-right)));padding-left:max(1rem,var(--safe-left));padding-right:max(1rem,var(--safe-right));-webkit-overflow-scrolling:touch}.admin-table{min-width:36rem}.admin-table td:nth-child(2),.admin-table th:nth-child(2){white-space:nowrap}.admin-table td:last-child,.admin-table th:last-child{position:static;box-shadow:none}.admin-table__actions-col{min-width:7.5rem;white-space:normal}.row-actions{flex-wrap:wrap;justify-content:flex-start;max-width:9rem;gap:.3rem}.row-actions .button-danger,.row-actions .button-secondary{min-height:2.35rem;padding-inline:.55rem}.settings-log-tabs-row{flex-direction:column;align-items:stretch}.settings-log-tabs-row .button-compact{width:100%}.settings-log-filters{display:grid;grid-template-columns:1fr}.settings-log-filters .button-compact{width:100%}.settings-log-live--end{margin-left:0;justify-self:end}.field--compact{min-width:0;width:100%}.settings-log-table-wrap--protocol{overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-log-table--protocol{table-layout:auto;min-width:100%}.settings-log-table--protocol td:first-child,.settings-log-table--protocol th:first-child{width:auto;min-width:6.5rem}.settings-log-table--protocol td:nth-child(2),.settings-log-table--protocol th:nth-child(2){width:auto;min-width:8.5rem}.settings-log-table--protocol td.protocol-log-row__summary,.settings-log-table--protocol th:nth-child(3){display:none}.settings-log-table--protocol td.protocol-log-row__action,.settings-log-table--protocol th:nth-child(4){width:2.5rem;min-width:2.5rem}.settings-log-table{min-width:100%}.settings-log-table td,.settings-log-table th{vertical-align:top}.settings-log-table td:last-child{overflow-wrap:anywhere;word-break:break-word}.alert-bell__menu{position:fixed;top:auto;right:max(.75rem,var(--safe-right));left:max(.75rem,var(--safe-left));bottom:var(--mobile-overlay-bottom);width:auto;max-height:min(24rem,calc(100dvh - 6rem - var(--safe-top) - var(--safe-bottom)))}.account-layout{grid-template-columns:1fr}.account-nav{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem}.account-nav__button{flex:0 0 auto}.account-push-status__button{width:100%}.admin-drawer__close,.button-danger,.button-primary,.button-secondary,.device-card{min-height:2.75rem}.field-inline--row input[type=checkbox]{width:1.1rem;height:1.1rem}.live-panel__actions{padding-bottom:var(--safe-bottom)}.detail-panel__actions .button-primary,.detail-panel__actions .button-secondary{width:100%}}.login-page{position:relative;display:grid;min-height:100vh;place-items:center;padding:1.5rem;overflow:hidden;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(79,140,255,.2),transparent),radial-gradient(circle at 100% 100%,rgba(79,140,255,.08),transparent),var(--bg)}.login-page:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,black 15%,transparent 72%);mask-image:radial-gradient(ellipse at center,black 15%,transparent 72%);pointer-events:none}.admin-panel,.login-card{width:min(100%,720px);padding:1.5rem;border:1px solid var(--panel-border);border-radius:16px;background:var(--panel)}.login-card{position:relative;z-index:1;display:flex;flex-direction:column;gap:1.25rem;width:min(100%,420px);padding:2rem 2rem 1.75rem;border:1px solid rgba(79,140,255,.22);border-radius:20px;background:linear-gradient(165deg,rgba(24,34,54,.96),rgba(14,21,36,.98));box-shadow:0 24px 80px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.04)}.login-card__header{text-align:center}.login-card__header .eyebrow{font-size:.72rem;letter-spacing:.14em}.login-card h1{margin:.4rem 0 0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.login-card__subtitle{margin:.65rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:1.1rem}.login-card input[type=email],.login-card input[type=password]{width:100%;padding:.7rem .9rem;font-size:.9375rem;border-radius:12px;background:rgba(8,14,28,.85);transition:border-color .15s ease,box-shadow .15s ease}.login-card input::placeholder{color:rgba(147,161,187,.65)}.login-card input:focus{outline:none;border-color:rgba(79,140,255,.65);box-shadow:0 0 0 3px rgba(79,140,255,.14)}.login-card .button-primary,.login-card__submit{width:100%;min-height:2.75rem;margin-top:.15rem;border-radius:12px;font-size:.9375rem;font-weight:600;box-shadow:0 10px 28px rgba(79,140,255,.22);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.login-card__submit:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(79,140,255,.28)}.login-card__submit:disabled{opacity:.72;cursor:not-allowed}.admin-shell{min-height:100vh;display:flex;flex-direction:column}.admin-shell--map{height:100dvh;min-height:100dvh;overflow:hidden}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;padding:.55rem 1rem;border-bottom:1px solid var(--panel-border);background:var(--panel)}.admin-header__brand{margin:0;flex-shrink:0;font-size:1.125rem;letter-spacing:.05em}.admin-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.admin-header__user{display:flex;align-items:center;gap:.35rem;font-size:.875rem;white-space:nowrap}.admin-header__user-sep{color:var(--muted)}.admin-header__user-menu-wrap{position:relative}.admin-header__user-trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid transparent;border-radius:999px;background:transparent;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}.admin-header__user-trigger:hover,.admin-header__user-trigger[aria-expanded=true]{border-color:var(--panel-border);background:var(--ui-surface-hover)}.admin-header__user-caret{color:var(--muted);font-size:.75rem}.admin-header__user-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:30;min-width:11rem;padding:.35rem;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel);box-shadow:0 12px 32px rgba(0,0,0,.28)}.admin-header__user-menu-item{display:block;width:100%;padding:.55rem .75rem;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.admin-header__user-menu-item:hover{background:rgba(255,255,255,.06)}.admin-header__user-menu-item--danger{color:#ff8f8f}.account-layout{display:grid;grid-gap:1.25rem;gap:1.25rem}@media (min-width:900px){.account-layout{grid-template-columns:220px minmax(0,1fr);align-items:start}}.account-push-status{display:grid;grid-gap:.5rem;gap:.5rem}.account-push-status__button{justify-self:start}.account-sidebar{display:flex;flex-direction:column;gap:.5rem}.account-sidebar__title{margin:0;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.account-sidebar__nav{display:flex;flex-direction:column;gap:.25rem}.account-sidebar__link{padding:.65rem .85rem;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.account-sidebar__link:hover{background:rgba(255,255,255,.04)}.account-sidebar__link--active{background:rgba(96,165,250,.14);color:#93c5fd}.account-content{min-width:0}.account-card{max-width:42rem}.account-form{display:flex;flex-direction:column;gap:.85rem}.account-fieldset{margin:0;padding:0;border:0}.account-choice-row{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.account-choice{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer}.account-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:.35rem}.field__required{color:#ff8f8f}.alert-bell{position:relative;flex-shrink:0}.alert-bell__trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--panel-border);border-radius:999px;background:var(--ui-surface-subtle);color:var(--text);cursor:pointer}.alert-bell__trigger--active,.alert-bell__trigger:hover{border-color:rgba(79,140,255,.45);background:var(--ui-selected-bg);color:var(--text)}.alert-bell__icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.alert-bell__badge{position:absolute;top:-.2rem;right:-.2rem;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:#ef4444;color:#ffffff;font-size:.625rem;font-weight:700;line-height:1.1rem;text-align:center}.alert-bell__badge--overflow{min-width:1.35rem;padding:0 .2rem;font-size:.5625rem;letter-spacing:-.02em}.alert-bell__menu{position:absolute;top:calc(100% + .45rem);right:0;z-index:40;display:flex;flex-direction:column;width:min(22rem,calc(100vw - 2rem));max-height:min(24rem,calc(100vh - 6rem));overflow:hidden;border:1px solid var(--panel-border);border-radius:.75rem;background:var(--panel);box-shadow:0 12px 32px rgba(0,0,0,.35)}.alert-bell__menu-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;border-bottom:1px solid var(--panel-border)}.alert-bell__menu-title{font-size:.875rem;font-weight:700}.alert-bell__menu-count{font-size:.75rem}.alert-bell__menu-header-actions{display:flex;align-items:center;gap:.55rem;flex-shrink:0}.alert-bell__ack-all{border:none;background:transparent;color:var(--accent);font-size:.75rem;font-weight:600;padding:0;cursor:pointer;white-space:nowrap}.alert-bell__ack-all:hover:not(:disabled){text-decoration:underline}.alert-bell__ack-all:disabled{opacity:.65;cursor:default}.alert-bell__menu-body{display:flex;flex-direction:column;gap:.55rem;padding:.65rem;overflow-y:auto}.alert-bell__empty{margin:0;padding:.75rem .35rem;font-size:.8125rem;text-align:center}.alert-bell__item{display:grid;grid-gap:.3rem;gap:.3rem;padding:.65rem .7rem;border:1px solid var(--panel-border);border-radius:.6rem;background:rgba(255,255,255,.02)}.alert-bell__item-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.alert-bell__item-time{font-size:.72rem;white-space:nowrap}.alert-bell__item-message{margin:0;font-size:.8125rem;line-height:1.45}.alert-bell__item-meta{margin:0;font-size:.72rem}.alert-bell__menu-footer{padding:.65rem .9rem .75rem;border-top:1px solid var(--panel-border);text-align:center}.alert-bell__see-more{color:var(--accent);font-size:.8125rem;font-weight:600;text-decoration:none}.alert-bell__see-more:hover{text-decoration:underline}.admin-nav{display:flex;gap:.35rem;padding:.35rem 1rem;border-bottom:1px solid var(--panel-border);overflow-x:auto}.admin-nav__link{padding:.35rem .7rem;border-radius:999px;color:var(--muted);text-decoration:none;font-size:.875rem;white-space:nowrap}.admin-nav__link--active{color:var(--text);background:var(--ui-selected-bg)}.admin-section-nav{display:flex;flex-wrap:wrap;gap:.35rem;margin:-.35rem 0 1rem}.admin-section-nav__link{padding:.4rem .75rem;border:1px solid var(--panel-border);border-radius:999px;background:transparent;color:var(--muted);font-size:.8125rem;font-weight:600;text-decoration:none;white-space:nowrap}.admin-section-nav__link--active{border-color:var(--accent);background:var(--ui-selected-bg);color:var(--text)}.trip-report-filters{display:grid;grid-gap:.85rem;gap:.85rem;margin-bottom:1rem}@media (min-width:960px){.trip-report-filters{grid-template-columns:minmax(14rem,1.4fr) minmax(10rem,1fr) auto;align-items:end}.trip-report-filters:has(input[type=datetime-local]){grid-template-columns:repeat(2,minmax(12rem,1fr)) minmax(10rem,1fr) auto}}.trip-report-filters__actions{display:flex;align-items:flex-end}.trip-report-summary{display:grid;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}@media (min-width:720px){.trip-report-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}.trip-report-summary__card{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;border:1px solid var(--panel-border);border-radius:12px;background:var(--ui-surface-subtle)}.trip-report-summary__label{color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.trip-report-footnote,.trip-report-notice{margin:0 0 1rem;font-size:.875rem}.admin-content{flex:1 1;padding:1.25rem}.admin-content--map{padding:0;overflow:hidden;display:flex;flex-direction:column}.admin-content--map,.admin-content--map>.app-shell--embedded{min-height:0;flex:1 1}.admin-panel__header--split{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-panel__header-action{flex-shrink:0}.admin-panel{width:100%;max-width:none}.admin-panel__header{margin-bottom:1rem}.admin-panel__header h2{margin:0 0 .25rem;font-size:1.25rem}.admin-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.admin-form__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem}.admin-form__actions{display:flex;justify-content:flex-end;gap:.65rem}.field,.field-inline{display:flex;flex-direction:column;gap:.35rem}.field-inline{min-width:220px}.field-inline--compact{min-width:180px}.field-inline--row{flex-direction:row;align-items:center;gap:.5rem}.field-inline--row .label{margin:0;white-space:nowrap;font-size:.8125rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}button,input,select{border-radius:10px;border:1px solid var(--panel-border);background:var(--ui-input-bg);color:var(--text);font-size:.8125rem;line-height:1.3}input,select{padding:.4rem .6rem}.field-inline--row select{flex:1 1;min-width:0;max-width:11rem;padding:.35rem .55rem}.field--compact select,.field-inline--compact select{padding:.35rem .55rem;font-size:.8125rem}.button-primary,button{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.45rem .95rem;background:var(--accent);border-color:transparent;cursor:pointer;font-size:.875rem;font-weight:600;line-height:1.2;white-space:nowrap}.map-basemap-control button.map-basemap-control__toggle{min-height:0;padding:0;background:rgba(255,255,255,.96);border:1px solid rgba(15,23,40,.12);font-size:inherit;font-weight:400;white-space:normal}.map-basemap-control--embedded button.map-basemap-control__toggle,.map-basemap-control-host .map-basemap-control button.map-basemap-control__toggle{background:transparent;border:0}.map-basemap-control__menu button.map-basemap-control__option{display:flex;align-items:flex-start;width:100%;height:auto;min-height:0;padding:.75rem .9rem;border:0;border-left:3px solid transparent;border-radius:8px;background:transparent;font-size:inherit;font-weight:400;line-height:normal;white-space:normal;text-align:left;justify-content:flex-start}.map-basemap-control__menu button.map-basemap-control__option--active{border-left-color:#2563eb}.maplibregl-ctrl-group .map-basemap-control__menu button.map-basemap-control__option{width:100%;height:auto;display:flex}.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.45rem .95rem;background:transparent;border:1px solid var(--panel-border);border-radius:10px;color:var(--text);cursor:pointer;font-size:.875rem;font-weight:600;line-height:1.2;white-space:nowrap}.admin-toolbar{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:1rem}.admin-toolbar__field{min-width:12rem;margin:0}.device-group-tags{display:flex;flex-wrap:wrap;gap:.25rem}.device-group-tag{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text);font-size:.75rem;line-height:1.3}.fleet-filter-row{display:flex;align-items:center;gap:.45rem;margin-top:.65rem}.fleet-filter-row__search{flex:1 1;min-width:0;margin-top:0}.fleet-group-filter__select{flex-shrink:0;width:auto;min-width:7.5rem;max-width:9.5rem;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--panel-border);background:var(--ui-surface-subtle);color:var(--text);font-size:.8125rem}.fleet-group-filter__select:focus{outline:none;border-color:rgba(79,140,255,.55)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table td,.admin-table th{padding:.65rem .75rem;border-bottom:1px solid var(--panel-border);text-align:left;vertical-align:middle}.admin-table th{color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.admin-table__primary{display:block;font-weight:600}.admin-table__name-col{max-width:14rem;width:18%}.admin-table__devices-col{max-width:18rem;min-width:10rem;vertical-align:middle;word-break:break-word}.admin-drawer-form__select-all{margin-top:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--panel-border)}.admin-table__imei-col{width:9.5rem;white-space:nowrap}.admin-table__name-with-status{display:flex;align-items:center;gap:.55rem;min-width:0;max-width:100%}.admin-table__name-with-status .device-card__indicator{margin-top:0;flex-shrink:0}.admin-table__name-with-status .admin-table__primary{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table__secondary{display:block;margin-top:.15rem;font-size:.8125rem}.admin-table__actions-col{width:1%;min-width:max-content;white-space:nowrap;vertical-align:middle}.admin-table__numeric-col{width:5.5rem;text-align:right}.admin-table__numeric-col,.admin-table__time-col{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;vertical-align:middle}.admin-table__time-col{min-width:11.5rem}.admin-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem}.admin-pagination__summary{margin:0;font-size:.8125rem}.admin-pagination__controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.45rem}.admin-pagination__limit{min-width:5.5rem}.admin-pagination__page{min-height:2rem;padding:0 .35rem;color:var(--muted);font-size:.8125rem;white-space:nowrap}.admin-pagination__page,.row-actions{display:inline-flex;align-items:center}.row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.35rem}.row-actions .button-danger,.row-actions .button-secondary{min-height:2rem;padding:.35rem .7rem;font-size:.8125rem;white-space:nowrap}.button-compact,.button-danger{min-height:2.25rem;padding:.45rem .95rem;font-size:.875rem}.button-danger{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,123,123,.45);border-radius:10px;background:rgba(255,123,123,.12);color:#ffd4d4;cursor:pointer;font-weight:600;line-height:1.2;white-space:nowrap}.admin-empty{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;padding:1.5rem;border:1px dashed var(--panel-border);border-radius:14px;background:rgba(255,255,255,.02)}.admin-empty h3{margin:0;font-size:1rem}.role-badge,.status-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize;background:rgba(255,255,255,.06);color:var(--muted)}.role-badge--admin{background:rgba(79,140,255,.18);color:#b9d0ff}.role-badge--manager{background:rgba(95,211,141,.16);color:#b8f0d0}.role-badge--client{background:rgba(147,161,187,.16);color:#c5d0e4}.status-badge--active{background:rgba(95,211,141,.16);color:var(--success)}.status-badge--warning{background:rgba(255,193,79,.18);color:#ffdca0}.status-badge--error{background:rgba(255,107,107,.18);color:#ffb3b3}.system-health{display:flex;flex-direction:column;gap:1.25rem}.system-health__section-head{display:flex;flex-direction:column;gap:.35rem}.system-health__section-head h3,.system-health__section-head p{margin:0}.system-health__table-wrap{margin-top:.15rem}.system-health__table td:first-child,.system-health__table th:first-child{width:12rem;min-width:9rem}.system-health__table td:nth-child(2),.system-health__table th:nth-child(2){width:6.75rem;text-align:center}.system-health__table td:nth-child(3),.system-health__table th:nth-child(3){width:5.75rem;text-align:right}.system-health__latency{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.system-health__detail{min-width:10rem}.system-health__stats{margin-top:.15rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:720px){.system-health__stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.system-health__footer{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;margin:0;padding:0 .15rem;font-size:.8125rem;line-height:1.45}.power-source-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:rgba(255,255,255,.06);color:var(--muted);white-space:nowrap}.power-source-badge--vehicle{background:rgba(79,140,255,.16);color:#b9d0ff}.power-source-badge--battery{background:rgba(255,184,77,.16);color:#ffd89a}.power-source-badge--auto{background:rgba(147,161,187,.14);color:#c5d0e4}.power-source-badge--detected{max-width:7.5rem;font-size:.6875rem}.field-hint{display:block;margin-top:.35rem;font-size:.8125rem;line-height:1.45}.device-share-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.1rem .45rem;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted);font-size:.75rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.device-share-count--active{background:rgba(59,130,246,.16);color:#93c5fd}.admin-drawer{position:fixed;inset:0;z-index:50;display:flex;justify-content:flex-end}.admin-drawer__backdrop{position:absolute;inset:0;border:0;background:rgba(4,8,16,.62);cursor:pointer}.admin-drawer__panel{position:relative;z-index:1;display:flex;flex-direction:column;width:min(100%,420px);height:100%;border-left:1px solid var(--panel-border);background:var(--panel);box-shadow:-12px 0 40px rgba(0,0,0,.28)}.admin-drawer__panel--wide{width:min(100%,680px)}.admin-drawer__panel--compact{width:min(100%,320px);height:auto;max-height:100%;align-self:flex-start}.admin-drawer__panel--compact .admin-drawer__body{flex:0 1 auto;padding:.85rem}.admin-drawer--fleet-overlay{position:absolute;inset:0;z-index:5;display:block;pointer-events:none}.admin-drawer--fleet-overlay .admin-drawer__backdrop{position:absolute;inset:0;background:transparent;pointer-events:auto}.admin-drawer--fleet-overlay .admin-drawer__panel{position:absolute;right:.75rem;bottom:.75rem;left:auto;top:auto;display:flex;flex-direction:column;box-sizing:border-box;border:1px solid var(--ui-overlay-border);border-radius:14px;background:var(--ui-overlay-bg);box-shadow:0 12px 32px var(--ui-shadow),0 0 0 1px rgba(255,255,255,.04) inset;pointer-events:auto}.admin-drawer--fleet-overlay .admin-drawer__panel,.admin-drawer--fleet-overlay .admin-drawer__panel--compact{width:min(320px,calc(100% - 1.5rem));min-width:17rem;max-width:min(320px,calc(100% - 1.5rem));max-height:min(24rem,calc(100vh - 6rem));height:auto}.admin-drawer--fleet-overlay .admin-drawer__panel--compact{align-self:auto}.admin-drawer--fleet-overlay .admin-drawer__header{padding:.85rem .85rem .65rem;border-bottom:1px solid var(--ui-overlay-divider)}.admin-drawer--fleet-overlay .admin-drawer__header h3{font-size:.92rem;font-weight:700}.admin-drawer--fleet-overlay .admin-drawer__close{width:2rem;height:2rem;min-width:2rem;padding:0;border:1px solid var(--ui-control-border);border-radius:8px;background:var(--ui-control-bg);color:var(--muted)}.admin-drawer--fleet-overlay .admin-drawer__close:hover{color:var(--text);border-color:var(--ui-control-hover-border);background:var(--ui-control-hover-bg)}.admin-drawer--fleet-overlay .admin-drawer__body{flex:1 1 auto;min-height:0;overflow:auto;padding:0 .85rem .85rem}.admin-drawer-form--share .admin-form__actions{justify-content:flex-start}.admin-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--panel-border)}.admin-drawer__header h3{margin:0;font-size:1.05rem}.admin-drawer__close{min-width:2.25rem;padding-inline:.65rem;font-size:1.1rem;line-height:1}.admin-drawer__body{flex:1 1;overflow:auto;padding:1rem}.admin-drawer-form{display:flex;flex-direction:column;gap:.85rem}.admin-drawer-form__hint{margin:0;font-size:.875rem}.admin-drawer-form__fieldset{border:1px solid var(--panel-border);border-radius:.5rem;margin:0;padding:.75rem 1rem}.admin-drawer-form__fieldset legend{font-weight:600;padding:0 .25rem}.admin-drawer-form__checkbox-grid{display:grid;grid-gap:.35rem 1rem;gap:.35rem 1rem;margin-top:.5rem;max-height:12rem;overflow:auto}@media (min-width:640px){.admin-drawer-form__checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-drawer-form .admin-form__actions{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--panel-border)}.settings-notice-inline{margin:.5rem 0 0;font-size:.8125rem}.settings-grid{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:960px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}}.settings-layout{display:flex;flex-direction:column;gap:1.75rem}.settings-section{display:flex;flex-direction:column;gap:.75rem}.settings-section__title{margin:0;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.settings-section--danger .settings-section__title{color:rgba(255,123,123,.85)}.settings-grid--full{grid-template-columns:minmax(0,1fr)}@media (min-width:960px){.settings-grid--overview{grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr)}}.settings-card{display:flex;flex-direction:column;gap:.75rem;height:100%;padding:1.25rem;border:1px solid var(--panel-border);border-radius:14px;background:rgba(255,255,255,.02)}.settings-card h3{margin:0;font-size:1rem}.settings-card--danger{border-color:rgba(255,123,123,.35);background:rgba(255,123,123,.05)}.settings-form-grid{display:grid;grid-gap:.75rem;gap:.75rem}@media (min-width:720px){.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-form-actions{display:flex;flex-wrap:wrap;gap:.65rem;grid-column:1/-1}.settings-footnote{margin:0;font-size:.82rem}.settings-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin:0}@media (min-width:720px){.settings-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.settings-stat{padding:.75rem;border:1px solid var(--panel-border);border-radius:10px;background:rgba(255,255,255,.02)}.settings-stat dt{margin:0 0 .25rem;color:var(--muted);font-size:.8125rem}.settings-stat dd{margin:0;font-size:1.25rem;font-weight:600}.settings-reset-form{display:flex;flex-direction:column;gap:.85rem;margin-top:auto}.settings-notice{margin-bottom:1rem;padding:1rem 1.25rem;border:1px solid var(--panel-border);border-radius:14px;background:rgba(255,255,255,.02)}.settings-notice--success{border-color:rgba(95,211,141,.35);background:rgba(95,211,141,.08)}.settings-notice h3{margin:0 0 .35rem}.settings-steps{margin:.75rem 0 1rem;padding-left:1.25rem;color:var(--muted)}.settings-steps li+li{margin-top:.35rem}.button-danger:disabled{opacity:.45;cursor:not-allowed}.settings-card--wide{grid-column:1/-1}.settings-card__header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.settings-card__header-row--end{justify-content:flex-end}.settings-log-count{color:var(--muted);font-size:.8125rem;white-space:nowrap}.settings-log-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem}.settings-log-tabs{display:flex;flex-wrap:wrap;gap:.35rem;min-width:0}.settings-log-tabs-row .button-compact{flex-shrink:0}.settings-log-tab{padding:.4rem .75rem;border:1px solid var(--panel-border);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-size:.8125rem}.settings-log-tab--active{border-color:var(--accent);background:var(--ui-selected-bg);color:var(--text)}.settings-log-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem;margin-top:.85rem}.settings-log-tracks-link{margin:.65rem 0 0;font-size:.8125rem;line-height:1.45}.settings-log-tracks-link a{color:var(--accent);text-decoration:none}.settings-log-tracks-link a:hover{text-decoration:underline}.field--compact{min-width:160px}.field--compact .label{margin-bottom:.15rem}.settings-log-checkbox{flex-direction:row;gap:.4rem;color:var(--muted);font-size:.8125rem}.settings-log-checkbox,.settings-log-live{display:inline-flex;align-items:center;min-height:2.25rem;white-space:nowrap}.settings-log-live{gap:.35rem;font-size:.75rem;font-weight:600;letter-spacing:.02em;color:#1b7a4a}.settings-log-live--paused{font-weight:500;color:var(--muted)}.settings-log-live--end{margin-left:auto}.settings-log-live__dot{width:7px;height:7px;border-radius:50%;background:#34c759;box-shadow:0 0 0 2px rgba(52,199,89,.22);animation:map-sync-status-pulse 2.4s ease-in-out infinite}.settings-log-table-wrap{margin-top:.85rem;overflow-x:auto}.settings-log-table-wrap--protocol{overflow-x:visible}.settings-log-table--protocol{table-layout:fixed}.settings-log-table--protocol td:first-child,.settings-log-table--protocol th:first-child{width:9.5rem}.settings-log-table--protocol td:nth-child(2),.settings-log-table--protocol th:nth-child(2){width:10.75rem}.settings-log-table--protocol td:nth-child(4),.settings-log-table--protocol th:nth-child(4){width:2.25rem;padding-left:.25rem;padding-right:.25rem;text-align:center}.settings-log-table--gps{table-layout:fixed;min-width:52rem}.settings-log-table--gps td:first-child,.settings-log-table--gps th:first-child{width:10.5rem}.settings-log-table--gps td:nth-child(2),.settings-log-table--gps th:nth-child(2){width:8rem}.settings-log-table--gps td:nth-child(3),.settings-log-table--gps th:nth-child(3){width:10.5rem}.settings-log-table--gps td:nth-child(4),.settings-log-table--gps th:nth-child(4){width:12rem;white-space:nowrap}.settings-log-table--gps td:nth-child(5),.settings-log-table--gps th:nth-child(5){width:5.5rem;white-space:nowrap}.settings-log-table--gps td:nth-child(6),.settings-log-table--gps th:nth-child(6){min-width:8rem}.protocol-log-row__time{white-space:nowrap}.protocol-log-row__event{min-width:0}.protocol-log-row__imei{margin-top:.2rem;white-space:nowrap}.protocol-log-row__summary{min-width:0}.protocol-log-row__decoded{margin:0;font-family:inherit;font-size:inherit;line-height:1.45;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}.protocol-log-row__error,.protocol-log-row__meta{margin:.2rem 0 0;font-size:.72rem;line-height:1.35}.protocol-log-row__error{color:#ffb4b4}.protocol-log-row__toggle{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:1px solid var(--panel-border);border-radius:.35rem;background:transparent;color:var(--muted);cursor:pointer;font-size:.75rem;line-height:1}.protocol-log-row__toggle:hover{color:var(--foreground);border-color:rgba(255,255,255,.18)}.protocol-log-row--expanded td{padding-top:0;border-bottom:1px solid var(--panel-border)}.protocol-log-row__details{display:grid;grid-gap:.55rem;gap:.55rem;padding:.35rem 0 .65rem}.protocol-log-row__block{min-width:0}.protocol-log-row__label{margin-bottom:.2rem;color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.protocol-log-row__text{word-break:break-word}.protocol-log-row__hex,.protocol-log-row__text{margin:0;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.protocol-log-row__hex{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;word-break:break-all}.settings-log-table{width:100%;border-collapse:collapse;font-size:.8125rem}.settings-log-table td,.settings-log-table th{padding:.45rem .55rem;border-bottom:1px solid var(--panel-border);text-align:left;vertical-align:top}.settings-log-table th{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.settings-log-table__primary{font-weight:600}.settings-log-table__mono{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;letter-spacing:.02em;line-height:1.45}.settings-log-pill{display:inline-flex;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.settings-log-pill--info{background:rgba(79,140,255,.16);color:#aecdff}.settings-log-pill--warn{background:rgba(255,193,94,.16);color:#ffd89a}.settings-log-pill--outbound{background:rgba(95,211,141,.16);color:#9ee8bf}.admin-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.admin-form__checks{display:flex;flex-wrap:wrap;gap:1rem}.admin-form__checks .field-inline--row{min-width:0}.field__hint{font-size:.8125rem}.button-secondary--danger{border-color:rgba(255,123,123,.35);color:#ffb4b4}.alert-severity{display:inline-flex;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.alert-severity--info{background:rgba(79,140,255,.16);color:#aecdff}.alert-severity--warning{background:rgba(255,193,94,.16);color:#ffd89a}.alert-severity--critical{background:rgba(255,123,123,.16);color:#ffb4b4}.live-alerts{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.25rem}.live-alert{display:grid;grid-gap:.25rem;gap:.25rem;padding:.65rem .75rem;border:1px solid rgba(255,193,94,.25);border-radius:.65rem;background:rgba(255,193,94,.08)}.live-alert__message{font-size:.875rem;line-height:1.4}.live-alert__time{font-size:.75rem}.geofence-draw{display:flex;flex-direction:column;gap:.75rem}.geofence-draw__toolbar{align-items:center;justify-content:space-between}.geofence-draw__toolbar,.geofence-draw__tools{display:flex;flex-wrap:wrap;gap:.5rem}.geofence-draw__tool{border:1px solid var(--panel-border);border-radius:.55rem;background:rgba(255,255,255,.03);color:var(--text);padding:.45rem .75rem;cursor:pointer}.geofence-draw__tool:hover:not(:disabled){border-color:rgba(79,140,255,.45)}.geofence-draw__tool--active{border-color:rgba(79,140,255,.55);background:var(--accent-soft);color:#dbe8ff}.geofence-draw__tool:disabled{opacity:.45;cursor:not-allowed}.geofence-draw__finish{flex-shrink:0}.geofence-draw__hint{margin:0;font-size:.8125rem;line-height:1.45}.geofence-draw__map-shell{position:relative;overflow:hidden;border:1px solid var(--panel-border);border-radius:.75rem;background:#0a101b}.geofence-draw__map-shell .map-basemap-control-host{clear:both;margin-top:.45rem}.geofence-draw__map{width:100%;height:280px}.geofence-draw__summary{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .85rem;border:1px solid rgba(79,140,255,.22);border-radius:.65rem;background:rgba(79,140,255,.08);font-size:.875rem}.geofence-draw__summary--empty{border-style:dashed;border-color:var(--panel-border);background:rgba(255,255,255,.02)}.geofence-draw__summary-label{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.geofence-draw__summary-detail{font-size:.8125rem}.device-icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));grid-gap:.5rem;gap:.5rem}.device-icon-picker__item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.55rem .35rem;border:1px solid var(--panel-border);border-radius:.65rem;background:rgba(255,255,255,.03);color:var(--text);cursor:pointer}.device-icon-picker__item:hover{border-color:rgba(79,140,255,.45)}.device-icon-picker__item--active{border-color:rgba(79,140,255,.55);background:var(--accent-soft)}.device-icon-picker__glyph{display:inline-flex;align-items:center;justify-content:center;color:var(--text);line-height:0}.device-icon-picker__glyph svg{display:block}.device-icon-picker__label{font-size:.68rem;color:var(--muted);text-align:center}.share-drawer__section{display:grid;grid-gap:.85rem;gap:.85rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.share-drawer__section:last-child{border-bottom:0;padding-bottom:0}.share-drawer__heading{margin:0;font-size:.95rem;font-weight:600}.share-drawer__hint{margin:0;font-size:.88rem;line-height:1.45}.share-drawer__section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.share-drawer__clear{padding-inline:.75rem;min-height:2rem;font-size:.82rem}.share-drawer__display{border:1px solid var(--border);border-radius:.75rem;padding:.75rem .9rem;display:grid;grid-gap:.55rem;gap:.55rem;margin:0}.share-drawer__display legend{padding:0 .2rem;font-size:.82rem;color:var(--muted)}.share-drawer__link-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.share-drawer__link-item{border:1px solid var(--border);border-radius:.75rem;padding:.85rem .9rem;display:grid;grid-gap:.45rem;gap:.45rem;background:rgba(255,255,255,.02)}.share-drawer__link-item--removed{opacity:.88}.share-drawer__link-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.share-drawer__link-meta{font-size:.82rem;white-space:nowrap}.share-drawer__link-detail{margin:0;font-size:.88rem;line-height:1.4}.share-drawer__link-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.25rem}.share-link-status{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.share-link-status--active{background:rgba(95,211,141,.16);color:var(--success)}.share-link-status--expired,.share-link-status--revoked{background:rgba(148,163,184,.16);color:var(--muted)}.share-link-status--outside_hours{background:rgba(251,191,36,.16);color:#fcd34d}.share-drawer__schedule{display:grid;grid-gap:.85rem;gap:.85rem}.share-drawer__slots,.share-drawer__weekdays{border:1px solid var(--border);border-radius:.75rem;padding:.75rem .9rem;margin:0;display:grid;grid-gap:.65rem;gap:.65rem}.share-drawer__slots legend,.share-drawer__weekdays legend{padding:0 .2rem;font-size:.82rem;color:var(--muted)}.share-drawer__weekday-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.45rem;gap:.45rem}.share-drawer__weekday{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem}.share-drawer__slot-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem}.share-drawer__slot-row{display:grid;grid-gap:.45rem;gap:.45rem}.share-drawer__slot-label{font-size:.8rem}.share-drawer__slot-times{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.share-drawer__slot-times input[type=time]{min-height:2.35rem;border-radius:.55rem;border:1px solid var(--border);background:rgba(255,255,255,.03);color:inherit;padding:.35rem .55rem}.share-drawer__slot-add,.share-drawer__slot-remove{justify-self:start}.share-drawer__slot-remove{padding-inline:.65rem;min-height:2rem;font-size:.82rem}.share-page__badge--scheduled{background:#fef3c7;color:#b45309}.share-page__badge--scheduled .share-page__badge-dot{background:#f59e0b}.share-page{display:flex;flex-direction:column;min-height:100dvh;background:#ffffff;color:#0f172a}.share-page__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;padding:calc(.85rem + var(--safe-top)) max(1.25rem,var(--safe-right)) .85rem max(1.25rem,var(--safe-left));border-bottom:3px solid #2288ff;background:#ffffff;box-shadow:0 1px 0 #e2e8f0}.share-page__brand{display:inline-flex;align-items:center;gap:.65rem;flex-shrink:0}.share-page__logo{display:block;width:2.5rem;height:2.5rem;flex:0 0 auto;object-fit:contain}.share-page__brand-text{color:#2288ff;font-size:clamp(1.1rem,2.4vw,1.45rem);font-weight:700;letter-spacing:.02em;line-height:1.1;text-transform:uppercase;white-space:nowrap}.share-page__header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;min-width:0;text-align:right}.share-page__title{margin:0;font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.15;font-weight:700}.share-page__device{margin:0;color:#64748b;font-size:.95rem;font-weight:500}.share-page__badge{display:inline-flex;align-items:center;gap:.4rem;margin-top:.15rem;padding:.28rem .65rem;border-radius:999px;background:#dcfce7;color:#15803d;font-size:.75rem;font-weight:600;white-space:nowrap}.share-page__badge-dot{width:.5rem;height:.5rem;border-radius:999px;background:#16a34a;box-shadow:none}.share-page .share-live-shell{flex:1 1;min-height:0;height:auto}.share-page .share-live-shell.app-shell--embedded{min-height:0}.share-page .map-panel{position:relative;flex:1 1;min-height:0}.share-page .map-panel .fleet-map--placeholder,.share-page .map-panel .live-tracking-map,.share-page .map-panel .live-tracking-map-shell{position:absolute;inset:0;min-height:0;width:100%;height:100%}.share-page .share-live-panel{max-width:none;border-right:none;border-left:1px solid #e2e8f0;background:#f8fafc;color:#0f172a}.share-page .share-live-panel .live-panel__body{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow-y:auto;padding-bottom:calc(.75rem + var(--safe-bottom))}.share-page .live-panel__device-name{margin:.35rem 0 0;font-size:.98rem;font-weight:700}.share-page .live-panel__list dt{color:#64748b}.share-page .live-panel__list dd{color:#0f172a}.share-page .muted{color:#64748b}.share-page__footer{margin-top:auto;padding-top:1rem;font-size:.75rem;text-align:center}.share-page .fleet-map--placeholder{display:grid;place-items:center;padding:1.5rem;text-align:center;background:#f1f5f9}.share-page .fleet-map--placeholder .error-banner{color:#991b1b;background:rgba(254,226,226,.96);border-color:rgba(220,38,38,.45);box-shadow:0 8px 24px rgba(15,23,42,.12)}.share-page .fleet-map--placeholder .muted{color:#334155}@media (min-width:961px){.share-page .share-live-panel{max-width:22rem}}