@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--gray-50:#f9f9f9;--gray-100:#f0f0f0;--gray-200:#e3e3e3;--gray-300:#c4c4c4;--gray-400:#a8a8a8;--gray-600:#595959;--gray-900:#212121;--green-100:#eef8cf;--green-200:#ddf2a4;--green-400:#b1db4d;--green-500:#92c922;--green-600:#6e9818;--green-800:#445c18;--red-100:#ffe4e1;--red-400:#fe786b;--red-600:#e71e1b;--yellow-50:#fff9eb;--yellow-300:#f9c050;--yellow-600:#d66109;--blue-100:#dfe9fa;--blue-600:#3b60d5;--bg:var(--gray-100);--card:#fff;--text:var(--gray-900);--muted:var(--gray-600);--line:var(--gray-200);--radius:8px;--header-h:0px;--context-h:44px;--dock-h:calc(var(--header-h) + var(--context-h));--hover:#0000000a}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Montserrat Variable,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:500}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.nowrap{white-space:nowrap}.grow{flex:1}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.num{text-align:right;font-variant-numeric:tabular-nums}.table-flush.ant-card>.ant-card-body{padding:0}.table-flush .ant-table-wrapper .ant-table{border-radius:inherit}.report-groups .ant-table-wrapper+.ant-table-wrapper .ant-table-title{border-top:1px solid var(--line)}.report-groups .ant-table-title{background:var(--gray-50);padding:8px 12px;font-weight:600}.app{height:100vh}.app>.ant-layout-content{min-width:0;overflow:hidden}.page{flex-direction:column;flex:auto;min-height:0;display:flex}.page-scroll{flex:auto;min-height:0;overflow:auto}.ant-card.page-scroll{flex-direction:column;display:flex;overflow:hidden}.ant-card.page-scroll>.ant-card-body{flex:auto;min-height:0;overflow:auto}.page>.ant-card:not(.page-scroll){flex-shrink:0}.sidebar.ant-layout-sider{z-index:1000;background:0 0;height:100vh;position:sticky;top:0}.sidebar>.ant-layout-sider-children{height:100%;padding:16px 0 16px 16px}.sidebar-plate{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;height:100%;padding:12px;display:flex;overflow:hidden}.sidebar-head{border-bottom:1px solid var(--line);gap:10px;min-width:0;margin-bottom:8px;padding:4px 4px 12px;display:grid}.brand-row{align-items:center;gap:8px;min-width:0;display:flex}.brand-row .app-version{flex:auto}.sidebar-fold{color:var(--muted);flex:none}.brand-mark{width:32px;height:32px;display:block}.sidebar.folded .sidebar-plate{padding:8px}.sidebar.folded .sidebar-head{padding:4px 0 8px}.sidebar.folded .brand-row{flex-direction:column;gap:6px}.sidebar.folded .main-nav .ant-menu-item{justify-content:center;display:flex;padding-inline:0!important}.sidebar.folded .user-menu.ant-btn{justify-content:center;padding-inline:0}.sidebar.folded .sidebar-fold{width:100%}.brand{flex-shrink:0;align-items:center;display:flex}.app-version{white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden}.brand-logo{width:110px;height:auto;display:block}.stats{grid-template-columns:1fr 1fr;gap:6px;min-width:0;display:grid}.stats-cell{background:var(--bg);border-radius:6px;gap:1px;min-width:0;padding:6px 8px;font-size:11px;line-height:1.3;display:grid}.stats-cell b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.stats-cell .ant-typography{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.stats-wide{grid-column:1/-1}.stats-warn{background:var(--yellow-50)}.stats .freshness{background:0 0;border:0;max-width:100%;margin:0;padding:0;font-size:11px;line-height:18px}.sidebar .main-nav{background:0 0;font-weight:600;border-inline-end:0!important}.sidebar .main-nav .ant-menu-item{width:100%;margin-inline:0}.user-menu.ant-btn{text-align:left;justify-content:flex-start;gap:10px;height:auto;padding:8px 6px;font-weight:600}.user-menu.ant-btn>span:not(.ant-avatar):not(.anticon){text-align:left;flex:auto;min-width:0}.user-text{min-width:0;line-height:1.25;display:grid}.user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-role{font-size:11px;font-weight:500}.main{flex-direction:column;width:100%;min-width:0;height:100%;padding:20px;display:flex;overflow:auto;container:main/inline-size}.main>*{flex-shrink:0}.main>.page{flex-shrink:1}.page-head{margin-bottom:12px}.crumbs.ant-breadcrumb{font-size:24px;font-weight:700;line-height:1.35}.crumbs.ant-breadcrumb .ant-breadcrumb-separator{font-weight:400}.crumbs .ant-typography{font-size:inherit;font-weight:inherit}.crumbs .crumb-segments{vertical-align:middle;font-size:14px;font-weight:600}:not(.summary):not(.tiles):not(.event-cards):not(.devices-layout):not(.places-layout):not(.fleet-cards)>.ant-card+.ant-card{margin-top:16px}.ant-card.flat>.ant-card-body{padding:0}.freshness{flex-shrink:0;min-width:0}@media (width<=991px){.sidebar>.ant-layout-sider-children{padding:12px 0 12px 12px}.main{padding:12px}}.summary{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:16px;display:grid}.stat-chip.ant-tag{font-variant-numeric:tabular-nums;margin-inline-end:0;padding-inline:10px;font-size:14px;line-height:28px}.stat-chip.ant-tag .anticon{margin-inline-end:6px}.overview-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.tiles{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;display:grid}.tile.ant-card{border-width:2px}.tile-warn.ant-card{border-color:var(--yellow-300);background:var(--yellow-50)}.tile-bad.ant-card{border-color:var(--red-400);background:var(--red-100)}.tile-active.ant-card{border-color:var(--green-500);box-shadow:0 0 0 2px var(--green-200)}.tile .spark{color:var(--gray-400);width:100%;height:26px;margin-top:4px}.tile-active .spark{color:var(--green-500)}.ant-table-cell.cell-warn{box-shadow:inset 2px 0 0 var(--yellow-300);background:var(--yellow-50)!important}.ant-table-cell.cell-bad{box-shadow:inset 2px 0 0 var(--red-400);background:var(--red-100)!important}.ant-table-tbody>tr.row-selected>td{background:var(--green-200)!important}.ant-table-tbody>tr.row-clickable{cursor:pointer}.ant-table-tbody>tr.row-muted>td{color:var(--muted)}.ant-table-tbody>tr.row-total>td{font-weight:600}@media (width<=800px){.tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}}.charts{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.chart{height:220px}.overview-chart{height:260px}.health-trend .chart{height:220px}@media (width<=800px){.charts{grid-template-columns:minmax(0,1fr)}.overview-chart{height:220px}}.devices-layout{flex:auto;grid-template-columns:minmax(0,5fr) minmax(360px,4fr);align-items:stretch;gap:16px;min-height:0;display:grid}.places-layout{flex:auto;grid-template-columns:minmax(0,1fr) minmax(360px,42%);align-items:stretch;gap:16px;min-height:0;display:grid}.map-card.ant-card{flex-direction:column;min-height:0;display:flex}.map-card.ant-card>.ant-card-body{flex-direction:column;flex:auto;min-height:0;padding:0;display:flex;position:relative}.map-card .map-shell{flex-direction:column;flex:auto;min-height:0;display:flex}.map{width:100%;height:100%;min-height:420px;position:relative}.map-card .map{flex:auto;height:auto;min-height:320px}.fleet-selection{z-index:800;border:1px solid var(--line);background:#f9f9f9f0;border-radius:8px;padding:12px 14px;line-height:1.4;position:absolute;bottom:44px;left:12px;right:12px;box-shadow:0 2px 8px #0000001f}.fleet-selection-name{margin-bottom:2px;font-size:16px;font-weight:700}.fleet-selection-state{font-size:13px}.fleet-selection-when{font-size:12px}.mobile-view{display:none}.fleet-list.ant-card>.ant-card-head{padding-block:8px}.card-with-foot.ant-card.page-scroll>.ant-card-body{flex-direction:column;padding-bottom:0;display:flex;overflow:hidden}.card-rows{flex:auto;min-height:0;overflow:auto}.card-foot{border-top:1px solid var(--line);background:var(--gray-50);flex:none;margin:0 -12px;padding:8px 12px;font-size:12.5px}.fleet-tools{font-weight:500}.branch-toggle{align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.fleet-name{font-size:14px;font-weight:700}.fleet-sub{font-size:12px;display:block}.fleet-mileage{margin-top:4px;font-size:12px}.fleet-table .ant-table-tbody>tr>td{vertical-align:top}.fleet-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.fleet-card.ant-card{cursor:pointer;border-width:2px;height:100%}.fleet-list .ant-collapse>.ant-collapse-item>.ant-collapse-header{background:var(--gray-100);border-radius:8px;margin-bottom:8px;padding-block:8px}.fleet-list .ant-collapse>.ant-collapse-item{margin-bottom:8px}.fleet-list .ant-collapse>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding-inline:0;padding-top:0}.fleet-card.selected.ant-card{border-color:var(--green-500);background:var(--green-100)}.fleet-card-state{margin-top:8px;font-size:13px}.fleet-card-readings{margin-top:4px;font-size:12px;display:block}@media (width<=1200px){.devices-layout{grid-template-columns:1fr;display:grid;overflow:auto}.devices-layout>.fleet-list.page-scroll,.devices-layout>.fleet-list.page-scroll>.ant-card-body{overflow:visible}.map-card .map{flex:none;height:420px}}@media (width<=960px){.map-card .map{flex:none;height:360px}}@media (width<=1100px){.places-layout{grid-template-columns:1fr;overflow:auto}.places-layout>.page-scroll,.places-layout>.page-scroll>.ant-card-body{overflow:visible}}@media (width<=800px){.mobile-view{margin-bottom:12px;display:inline-flex}.fleet-view-list .fleet-map,.fleet-view-map .fleet-list{display:none}.devices-layout{display:block}.fleet-map .map{flex:none;height:55dvh;min-height:320px}}.ymap-host{position:absolute;inset:0}.ymap-host>div,.ymap{width:100%;height:100%}.map-placeholder{text-align:center;color:var(--muted);background:#e9ede4;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.map-anchor{box-sizing:border-box;width:22px;height:22px;display:block;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.vehicle-marker{cursor:pointer;width:26px;height:26px}.vehicle-marker svg{filter:drop-shadow(0 1px 3px #00000073);display:block}.map-dot{border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0006}.map-dot.start{background:#92c922}.map-dot.end{background:#e71e1b}.map-stop{cursor:pointer;background:#f9c050;border:3px solid #d66109;border-radius:50%;width:16px;height:16px}.map-stop.selected{border-color:#3b60d5;width:22px;height:22px}.map-place{cursor:pointer;background:#6b5ad6;border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0006}.map-place.selected{background:#3b60d5;width:18px;height:18px}.map-place.draft{background:#92c922}.map-place-label{white-space:nowrap;color:var(--text);pointer-events:none;background:#ffffffeb;border-radius:4px;padding:1px 6px;font-size:12px;font-weight:600;position:absolute;top:50%;left:16px;transform:translateY(-50%);box-shadow:0 1px 3px #0003}.map-popup,.map-tip{color:var(--text);border:1px solid var(--line);white-space:nowrap;pointer-events:none;background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.map-popup b{display:block}.vehicle-label{white-space:nowrap;pointer-events:none;color:#17251f;text-shadow:0 1px #ffffffe6;background:#ffffffd1;border-radius:4px;padding:0 6px;font-size:11px;font-weight:600;line-height:18px;position:absolute;top:50%;left:calc(100% + 4px);transform:translateY(-50%)}.vehicle-label.offline{color:#4a4f52}.vehicle-label.selected{color:#fff;text-shadow:none;background:#3b60d5}.map-cluster{color:#17251f;cursor:pointer;background:#ffc400;border:2px solid #17251f;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid;box-shadow:0 1px 4px #0006}.map-tip{display:none}.map-anchor:hover .map-tip{display:block}.map-option{z-index:800;border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 10px;position:absolute;top:24px;left:24px;box-shadow:0 1px 4px #00000026}.map-zoom{z-index:800;position:absolute;top:52px;right:12px}.map-shell{position:relative}.map-expand{z-index:800;position:absolute;top:12px;right:12px}.map-shell.expanded{z-index:2000;background:var(--card);position:fixed;inset:0}body.map-fullscreen .sidebar{display:none}body.map-fullscreen .fleet-map,body.map-fullscreen .journey-map,body.map-fullscreen .device-context,body.map-fullscreen .device-panel{position:static}.map-shell.expanded .map{height:100dvh}.device-head{margin-bottom:16px}.device-switch{min-width:180px;max-width:260px}.device-context{top:var(--header-h);z-index:900;margin-bottom:12px;position:sticky}.device-context-period{min-width:0}.device-context.custom .day-nav{display:none}.time-range{min-width:0}.range-presets{flex-wrap:wrap;min-width:0}.range-custom{max-width:100%}.range-custom-compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;width:100%;display:none}.range-custom-compact>label{min-width:0;color:var(--muted);gap:4px;font-size:12px;display:grid}.range-custom-compact input{width:100%;min-width:0}@container main (width<=1000px){.device-context .day-quick,.device-context .day-zone{display:none}}@container main (width<=720px){.range-custom{display:none}.range-custom-compact{display:grid}}.device-screen{scroll-margin-top:calc(var(--dock-h) + 12px);grid-template-columns:minmax(0,1fr) clamp(340px,30vw,460px);align-items:start;gap:16px;margin-bottom:16px;display:grid}.device-screen>.journey-map{top:var(--dock-h);position:sticky}.device-panel{min-width:0;top:var(--dock-h);height:calc(100vh - var(--dock-h) - 16px);flex-direction:column;display:flex;position:sticky;margin:0!important}.device-panel.ant-card>.ant-card-body{flex-direction:column;flex:1;min-height:0;padding:8px 16px 16px;display:flex}.panel-tabs{background:var(--card);z-index:1;position:sticky;top:0}.panel-body{flex:1;min-height:0;padding-top:4px;overflow:auto}.readings-moment{z-index:1;background:var(--card);border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;margin:0 0 8px;padding:4px 0 8px;font-size:14px;position:sticky;top:-4px}.panel-fill{flex-direction:column;min-height:100%;display:flex}.panel-foot{background:var(--card);border-top:1px solid var(--line);margin-top:8px;padding:8px 0 0;position:sticky;bottom:0}.panel-foot-note{text-align:center;font-variant-numeric:tabular-nums;margin-top:6px;font-size:12px;display:block}.panel-fill>.event-analysis{margin-top:12px}.panel-handle{display:none}.journey-map.ant-card>.ant-card-body{padding:0}.device-page>.device-screen{flex:auto;align-items:stretch;min-height:0;margin-bottom:0}.device-page>.device-screen>.journey-map{flex-direction:column;min-height:0;display:flex;position:static}.device-page .journey-map.ant-card>.ant-card-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.device-page .journey-map .map-stage,.device-page .journey-map .map-shell{flex-direction:column;flex:auto;min-height:0;display:flex}.device-page .journey-map .map{flex:auto;height:auto;min-height:240px}@media (width>=801px){.device-page .device-panel{height:auto;min-height:0;position:static}}.journey-map .map{height:480px;min-height:360px}.journey-map .map-modes{padding:8px 12px}.map-stage{position:relative}.map-empty{z-index:850;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffb8;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.journey-map .journey-notice{margin:12px}.metrics{display:grid}.metric{border-bottom:1px solid var(--line);padding:8px 0 10px}.metric:last-child{border-bottom:0}.metrics.compact .metric{border-bottom:0;padding:5px 0}.metric-row{align-items:baseline;gap:6px;display:flex}.metric-label{flex:none;font-size:16px;font-weight:400}.metric-leader{border-bottom:1px dotted var(--gray-400);flex:auto;min-width:16px;transform:translateY(-3px)}.metric-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px;font-weight:600}.metric-hint{font-size:12px;display:block}.metric .chart.compact{height:96px;margin-top:6px}.event-context-actions{margin-top:4px}.maneuver-context .map{height:280px;min-height:280px}.journey-map.ant-card>.ant-card-head{border-bottom:0;min-height:0;padding-block:12px}.journey-map.ant-card>.ant-card-head .ant-card-head-wrapper{flex-wrap:wrap;gap:4px 12px}.journey-map.ant-card>.ant-card-head .ant-card-head-title{white-space:normal;flex:auto;overflow:visible}.map-head{gap:2px;display:grid}.stat-chip.ant-tag{text-align:center}.journey-map.ant-card>.ant-card-head .ant-card-extra{margin-inline-start:0}.journey-map.mode-live.ant-card>.ant-card-head{background:var(--green-100)}.journey-map.mode-live .stat-chip.ant-tag-success{color:var(--green-800);border:1px solid var(--green-400);background:#ffffffd9}.journey-map.mode-history.ant-card>.ant-card-head{background:var(--blue-100)}.journey-map .primary-chips{margin:0}@media (width<=1100px){.device-screen{grid-template-columns:minmax(0,1fr) clamp(300px,34vw,380px);gap:12px}.journey-map .map{height:420px}}@media (width<=800px){.device-page{display:block}.device-screen{grid-template-columns:minmax(0,1fr)}.journey-map .map{height:360px;min-height:320px}.map-shell.expanded .map{height:100dvh}.device-context,.device-context-period{display:contents}.device-screen>.journey-map{position:static}.device-panel{z-index:1100;border-radius:12px 12px 0 0;height:auto;max-height:82vh;position:fixed;inset:auto 0 0;box-shadow:0 -6px 20px #0000002e;margin:0!important}.device-panel:not(.open) .panel-body,.device-panel:not(.open) .panel-tabs{display:none}.panel-handle{width:100%;display:block}.device-panel.open .panel-handle{margin-bottom:8px}.panel-body{max-height:62vh}.main{padding-bottom:72px}}.day-nav{align-items:center;display:inline-flex}.day-zone{font-variant-numeric:tabular-nums;font-size:12px}.day-picker{min-width:170px}.day-cell{justify-items:center;gap:2px;padding-top:3px;line-height:1;display:grid}.day-cell-dot,.day-scale i{border-radius:50%;width:7px;height:7px;display:block}.day-cell.l-1 .day-cell-dot{background:0 0}.day-cell.l0 .day-cell-dot,.day-scale i.l0{box-shadow:inset 0 0 0 1px var(--gray-300);background:0 0}.day-cell.l1 .day-cell-dot,.day-scale i.l1{background:var(--green-100);box-shadow:inset 0 0 0 1px var(--green-400)}.day-cell.l2 .day-cell-dot,.day-scale i.l2{background:var(--green-400)}.day-cell.l3 .day-cell-dot,.day-scale i.l3{background:var(--green-500)}.day-cell.l4 .day-cell-dot,.day-scale i.l4{background:var(--green-600)}.ant-picker-cell-selected .day-cell .day-cell-dot{box-shadow:none;background:#fff}.ant-picker-cell-selected .day-cell.l0 .day-cell-dot,.ant-picker-cell-selected .day-cell.l-1 .day-cell-dot{background:0 0;box-shadow:inset 0 0 0 1px #ffffffb3}.day-picker-foot{justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.day-scale{align-items:center;gap:3px;display:flex}@media (width<=800px){.day-picker{min-width:150px}}.day-feed{padding-top:8px}.feed-day{color:var(--muted);text-transform:capitalize;padding:6px 0 2px;font-size:11.5px;font-weight:600}.feed-row{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:0 8px;padding:4px 8px 8px 4px;display:grid}.feed-row:hover{background:var(--hover)}.feed-row.active{background:var(--green-100);box-shadow:inset 2px 0 0 var(--green-600)}.feed-time{font-variant-numeric:tabular-nums;justify-items:end;gap:2px;padding-top:2px;display:grid}.feed-time b{font-size:12.5px;font-weight:600}.feed-time i{color:var(--muted);font-size:11px;font-style:normal}.feed-body{gap:3px;min-width:0;padding-top:2px;display:grid}.feed-title{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px;display:flex}.feed-title b{color:var(--text);font-size:14px;font-weight:700}.feed-route{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.feed-sub{color:var(--muted);font-size:11px;line-height:1.6}.feed-detail{color:var(--muted);gap:4px;margin-top:4px;font-size:11.5px;line-height:1.5;display:grid}.feed-within{margin-top:4px}.feed-within .feed-row{font-size:12.5px}.event-cards{gap:6px;display:grid}.ant-table-tbody>tr.day-row>td{background:var(--gray-50);font-family:inherit;font-size:13px;font-weight:600}.event-card.ant-card{border-width:2px}.event-card.active.ant-card{border-color:var(--green-600);background:var(--green-100)}.playback{border-top:2px solid var(--line);background:var(--card);gap:10px;padding:10px 12px;display:grid}.playback-controls{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.playback-center{justify-content:center;align-items:center;gap:10px;display:flex}.playback-speed{justify-self:end}@media (width<=800px){.playback-controls{grid-template-columns:1fr;justify-items:center}.playback-speed{justify-self:center}}.timeline{min-width:0;padding:4px 6px 0;position:relative}.timeline-segments{border-radius:6px;height:34px;margin:0 0 2px;display:flex}.timeline-segment{cursor:pointer;opacity:.85;border:0;min-width:0;height:100%;padding:0;transition:opacity .1s,box-shadow .1s;position:relative}.timeline-segment:first-child{border-radius:6px 0 0 6px}.timeline-segment:last-child{border-radius:0 6px 6px 0}.timeline-segment:hover{opacity:1}.timeline-segment.active{opacity:1;z-index:2;box-shadow:inset 0 0 0 2px #fff, 0 0 0 2px var(--blue-600);border-radius:4px}.timeline-segment:focus-visible{box-shadow:inset 0 0 0 2px #fff, 0 0 0 3px var(--blue-500);outline:none}.segment-moving{background:var(--green-500)}.segment-stop{background:var(--yellow-300)}.segment-gap{background:repeating-linear-gradient(135deg,#c4c4c4,#c4c4c4 3px,#f0f0f0 3px 6px)}.timeline-labels{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;display:flex}.device-identity{border-bottom:1px solid var(--line);gap:8px;margin-bottom:12px;padding-bottom:12px;display:grid}.help-icon{color:var(--muted);cursor:help;font-size:16px}.type-option{align-items:center;gap:8px;display:inline-flex}.type-option-icon{width:18px;color:var(--muted);justify-content:center;display:inline-flex}.help-icon:hover{color:var(--blue-600)}.rows-item{border-bottom:1px solid var(--line);padding:6px 0;line-height:1.6}.rows>:last-child>.rows-item,.rows-item:last-child{border-bottom:0}.speed-legend{flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.speed-legend-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.speed-legend-swatch{border-radius:2px;width:14px;height:4px;display:inline-block}.icon-check-engine{vertical-align:-2px;flex:none}.ant-tag .icon-check-engine{margin-right:3px}.tabular{font-variant-numeric:tabular-nums}.check-engine-title{align-items:center;gap:6px;display:inline-flex}.fault-codes.ant-card{border-color:var(--yellow-300);background:var(--yellow-50)}.fault-codes.ant-card>.ant-card-head{border-bottom-color:var(--yellow-300)}.response{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.cmd-example{cursor:pointer}.event-analysis{margin:16px 0;scroll-margin-top:90px}.event-samples pre{max-width:350px;max-height:180px;margin:0;font-size:11px;overflow:auto}.speed-band{grid-template-columns:100px minmax(30px,1fr) 180px;align-items:center;gap:12px;font-size:12px;display:grid}.speed-band>span:last-child{text-align:right}@media (width<=800px){.speed-band{grid-template-columns:90px minmax(20px,1fr)}.speed-band>span:last-child{text-align:left;grid-column:1/-1}}
