:root{--ink:#162a34;--muted:#687b85;--line:#dce5e9;--teal:#087e83;--bg:#f4f7f9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}aside{position:fixed;inset:0 auto 0 0;width:236px;background:#122c36;color:#c2d1d6;padding:35px 20px}.brand{font-size:38px;letter-spacing:-2px;font-weight:750;text-decoration:none;color:#fff;display:block;padding-left:12px}.brand span{color:#68d6c6}.brand small{display:block;font-size:9px;letter-spacing:1.5px;margin-top:9px;color:#a6bec8}.navlabel{font-size:10px;letter-spacing:2px;color:#72909c;margin:55px 12px 17px}.nav{display:flex;gap:13px;width:100%;padding:15px 12px;font-size:12px;border:0;border-radius:7px;text-align:left;background:transparent;color:#9bb3bd;margin-bottom:9px;flex-wrap:wrap}.nav span{flex:1}.nav.active{background:#244650;color:#fff}.nav.future{opacity:.55}.nav small{font-size:8px;letter-spacing:1px;margin-left:29px}.asidefoot{position:absolute;bottom:26px;font-size:11px;line-height:1.8}.asidefoot i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#64d5b4;margin-right:6px}.asidefoot p{color:#7896a3}main{margin-left:236px;padding:36px 38px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--teal);font-weight:700}h1{font-size:29px;font-weight:650;letter-spacing:-.8px;margin:10px 0}header p,.panelhead p{color:var(--muted);margin:6px 0;font-size:12px}.badge{font-size:9px;letter-spacing:1.4px;border:1px solid #b8d8d5;color:var(--teal);padding:9px;border-radius:5px;white-space:nowrap}.filters,.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:21px;margin-bottom:20px}.filtertop,.filterbottom,.panelhead{display:flex;justify-content:space-between;align-items:center;gap:15px}.filtertop{margin-bottom:20px}.timezone{font-size:11px;color:var(--muted)}label{display:block;font-size:9px;font-weight:650;letter-spacing:1.1px;color:var(--muted);margin-bottom:8px}.buttons{display:flex;gap:6px}button,select,input{font:inherit;color:var(--ink);border:1px solid #d4dfe4;background:#fff;border-radius:5px;padding:9px 10px;min-width:0}button{cursor:pointer;font-size:11px}button:hover{border-color:var(--teal)}button.selected{background:#e9f6f3;border-color:#6eb6ac;color:#086d64}button.primary{background:var(--teal);color:white;border-color:var(--teal)}button:disabled{opacity:.5;cursor:wait}input,select{width:100%;font-size:12px}.filtergrid{display:grid;grid-template-columns:1fr 1fr 1.4fr 1.2fr 1fr 1fr;gap:15px}.filterbottom{border-top:1px solid #edf1f3;padding-top:15px;margin-top:20px}.filterbottom>span{font-size:11px;color:var(--muted)}#status{font-size:12px;margin:0 0 16px;color:var(--teal);min-height:17px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.metrics>div{padding:16px 20px;border-left:3px solid #b5d9d5;background:#eaf0f2;border-radius:3px}.metrics strong{font-size:25px;font-weight:600}h2{font-size:15px;margin:0 0 7px;font-weight:650}.panelhead{margin-bottom:12px}.panelhead select{width:165px}.legend{display:flex;gap:10px;align-items:center;font-size:10px;color:var(--muted);margin:8px 0}.ramp{display:inline-block;width:110px;height:6px;background:linear-gradient(90deg,#276ea8,#20a6a0,#e8c853,#d76545);border-radius:3px}canvas{width:100%;display:block;touch-action:none}.readout{font:11px ui-monospace,monospace;color:var(--muted);min-height:20px;margin-top:10px}.twocol{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.playcontrols{display:flex;align-items:center;gap:10px}.playcontrols input{padding:0;flex:1}.playcontrols select{width:65px}#clock{font:11px ui-monospace,monospace;white-space:nowrap}#vehicle{margin-bottom:8px}.note,footer{font-size:11px;line-height:1.7;color:var(--muted)}footer{padding:2px 5px 20px}footer strong{color:var(--ink)}:focus-visible{outline:2px solid #098f9a;outline-offset:3px}@media(max-width:1150px){aside{width:190px}main{margin-left:190px;padding:25px}.filtergrid{grid-template-columns:repeat(3,1fr)}.twocol{grid-template-columns:1fr}}@media(max-width:720px){aside{position:relative;width:100%;padding:15px}.brand{font-size:26px}.brand small,.navlabel,.asidefoot,.future{display:none}.nav{margin:10px 0 0;width:auto}.nav.active{display:inline-flex}main{margin:0;padding:18px}h1{font-size:24px}.badge{display:none}.filtergrid{grid-template-columns:repeat(2,1fr)}.filtertop,.filterbottom{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:repeat(2,1fr)}.panel{padding:15px}.timezone{font-size:10px}}
.filtergrid>div{min-width:0}input[type=time]{min-width:0;max-width:100%}@media(max-width:720px){.filtergrid{grid-template-columns:repeat(2,minmax(0,1fr))}.filterbottom .buttons{flex-wrap:wrap}.filtertop .buttons{flex-wrap:wrap}}
.fleetcontrols{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.fleetcontrols>div{min-width:240px;flex:1}.trailtoggle{display:flex;gap:7px;align-items:center;letter-spacing:0;font-size:11px;margin:8px 0}.trailtoggle input{width:auto}.fleetlegend{display:flex;flex-wrap:wrap;gap:16px;margin-top:13px;font-size:10px;color:var(--muted)}.fleetlegend span:nth-child(1){color:#087e83}.fleetlegend span:nth-child(2){color:#bb8133}#fleetStatus{font-size:12px;color:var(--teal)}#fleetMapLink{font-size:11px;color:var(--teal)}

h3{font-size:13px;margin:0 0 6px}.corridorOverview{background:#f7fafb;border:1px solid #dce8e9;border-radius:7px;padding:15px;margin:15px 0}.corridorOverview .panelhead{align-items:flex-start}.locationTools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.locationTools label{margin:0;font-size:9px}.locationTools input{width:130px}.windowLabel{font-size:12px;font-weight:600;color:#087e83;border-left:3px solid #087e83;padding:8px 12px;margin:14px 0;background:#eef8f5}#corridor{cursor:crosshair}.corridorOverview .note{margin-bottom:0}@media(max-width:720px){.locationTools input{width:100%}.corridorOverview .panelhead{flex-direction:column}}

.locationContextGrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:center}#cameraMap{display:block;width:100%;max-height:420px;background:#fff;border:1px solid #dce5e9;border-radius:4px}.mapcredit{font-size:10px;color:#687b85;line-height:1.6;margin:7px 0}.mapcredit a{color:#087e83}@media(max-width:900px){.locationContextGrid{grid-template-columns:1fr}}

.qualityMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.qualityMetrics>div{background:#f0f5f6;padding:12px;border-radius:5px;font-size:11px;color:#687b85}.qualityMetrics strong{display:block;font-size:21px;color:#162a34;margin-top:5px}.qualitylegend{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:#7b8990;margin:14px 0}.qualitylegend span:first-child{color:#c34848}.qualitylegend span:nth-child(2){color:#c98b36}.avNavigator{border:1px solid #dce5e9;border-radius:7px;background:#f8fafb;padding:18px;margin:18px 0 25px}.avGrid{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:5px;margin:15px 0}.avGrid button{padding:8px 0;font-size:11px}.avGrid button:disabled{cursor:not-allowed;background:#e9edef;color:#a8b0b5}.avGrid button.active{background:#087e83;color:white;border-color:#087e83}.neighborControls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:end;gap:10px;margin:20px 0}#avStatus{color:#087e83;font-size:12px}#avPasses{flex-wrap:wrap;margin-top:12px}@media(max-width:1100px){.avGrid{grid-template-columns:repeat(10,minmax(0,1fr))}.neighborControls{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.avGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.neighborControls{grid-template-columns:repeat(2,minmax(0,1fr))}.qualityMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

[hidden]{display:none!important}.linkedViews{background:#f0f4f5;padding:13px 15px;border:1px solid #e0e6e9;border-radius:6px;margin:15px 0 8px}.linkedViews label{margin-bottom:8px}.variableTabs{display:flex;gap:6px;flex-wrap:wrap}.variableTabs button{font-size:12px;font-weight:600;padding:9px 14px;color:#687b85}.variableTabs button.active{background:#183e4c;border-color:#183e4c;color:#fff}.variableTabs button[aria-pressed=true]{box-shadow:0 0 0 1px #b7d3d8}#mainQualityView .qualityMetrics{margin-top:12px}#mainVariableNote:empty,#avVariableNote:empty{display:none}@media(max-width:650px){.variableTabs button{font-size:11px;padding:8px 10px}}

.qualityReport{margin:15px 0}.qualityHeadline{font-size:14px;line-height:1.7;background:#edf5f4;border-left:3px solid #087e83;padding:14px 17px;border-radius:3px;margin-bottom:16px}.qualityCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.qualityCards>div{background:#f2f6f7;border:1px solid #e4ebee;padding:14px;border-radius:6px}.qualityCards span{display:block;font-size:10px;color:#687b85;line-height:1.5}.qualityCards strong{display:block;font-size:26px;margin:7px 0;color:#162a34}.qualityCards small{font-size:10px;color:#687b85}.qualityTable{width:100%;border-collapse:collapse;font-size:12px;margin:12px 0 20px}.qualityTable th,.qualityTable td{padding:10px;border-bottom:1px solid #e2e9ed;text-align:left}.qualityTable th{font-size:10px;color:#687b85;background:#f5f8f9}.qualityTable td:not(:first-child),.qualityTable th:not(:first-child){text-align:right}.qualityChartGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.qualityChart{border:1px solid #e1e8eb;border-radius:6px;padding:15px;background:#fff}.qualityChart h3{line-height:1.5}.qualityChart svg{width:100%;height:auto;display:block}.qualityDistribution{font-size:11px;line-height:1.7;color:#687b85}.qualityStack{display:flex;min-height:24px;border-radius:4px;overflow:hidden;margin:14px 0}.qualityStack>span{min-width:0}.qualityStackLegend{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#687b85}.qualityEmpty{padding:35px 10px;text-align:center;color:#687b85;font-size:12px;line-height:1.8;background:#f7fafb}.qualityMethods{font-size:11px;line-height:1.8;color:#687b85}.qualityMetrics:empty{display:none}@media(max-width:950px){.qualityChartGrid{grid-template-columns:1fr}}@media(max-width:650px){.qualityCards{grid-template-columns:repeat(2,minmax(0,1fr))}.qualityTable{font-size:11px}.qualityTable td,.qualityTable th{padding:8px 5px}}

.avContextControls{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;margin:18px 0}.avSpatialControls{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr auto;gap:12px;align-items:end;margin:15px 0}.avPresets{flex-wrap:wrap;margin:15px 0}.avAlignment,.avGeography{font-size:12px;line-height:1.7;border-top:1px solid #e0e8ec;padding:12px 0;margin:12px 0}.avAlignment summary,.avGeography summary{cursor:pointer;color:#087e83}.avGrid button:disabled{opacity:1;background:repeating-linear-gradient(135deg,#f0f3f5,#f0f3f5 4px,#e7ecef 4px,#e7ecef 5px);color:#9aa6ad}.avResultCards{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.avResultCards>span{background:#e9f4f1;padding:8px 12px;border-radius:5px;color:#087e83;font-size:12px}@media(max-width:950px){.avSpatialControls{grid-template-columns:repeat(2,minmax(0,1fr))}.avContextControls{grid-template-columns:1fr 1fr}.avContextControls>div:last-child{grid-column:1/-1}}@media(max-width:550px){.avSpatialControls,.avContextControls{grid-template-columns:1fr}.avContextControls>div:last-child{grid-column:auto}}

.connectionPanel{display:flex;align-items:center;gap:24px;justify-content:space-between}.connectionPanel p{margin:8px 0}.connectionPanel button{flex-shrink:0}#connectionStatus[data-connected="true"]{color:#087e82}@media(max-width:700px){.connectionPanel{align-items:flex-start;flex-direction:column}}
