.instrument-dashboard{--signal:#007b82;--signal-light:#66ddd0}.machine-banner{background:#18294c;color:#fff;border:0;border-radius:12px;padding:28px 32px;align-items:start;position:relative;overflow:hidden}.machine-banner:after{content:"";position:absolute;bottom:0;left:32px;right:32px;height:2px;background:#009199}.machine-banner .back-link{color:#a8e4e1;text-decoration:none}.machine-banner h2{color:#fff;font-size:38px;line-height:1.2;margin:19px 0 10px;font-weight:650;letter-spacing:-.03em}.machine-banner p,.machine-banner small,.machine-banner .device-last-seen>span{color:#c9d7e9}.machine-banner p span{margin:0 5px;color:#7c97b9}.machine-banner .device-last-seen strong{color:#fff;font-size:17px;font-weight:500}.machine-banner .device-last-seen{gap:9px;padding-top:6px}.machine-banner .button-link{align-self:end;background:#263d61;color:#fff;border:1px solid #57708e;gap:10px;margin-top:10px}.machine-banner .button-link:hover{background:#335077}.machine-banner .button-link svg{width:18px;height:18px}.machine-banner .status-badge{font-size:12px;padding:6px 9px}.instrument-timeline{display:flex;gap:12px 22px;flex-wrap:wrap;padding:16px 3px 4px;color:#58677b;font-size:12px;font-variant-numeric:tabular-nums}.collector-indicator{display:flex;gap:7px;align-items:center}.collector-indicator:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#9c4758}.collector-indicator.healthy:before{background:#007b82}.instrument-dashboard .device-context{padding:23px 4px 26px}.instrument-board{display:grid;grid-template-columns:minmax(230px,1fr) 2fr;background:#fff;border:1px solid #dce2e9;border-radius:12px;overflow:hidden}.instrument-meters{padding:27px 28px;background:#f4f9fa;display:grid;gap:30px;border-right:1px solid #dce2e9}.instrument-meter>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.instrument-meter span{font-size:13px;color:#455c71}.instrument-meter strong{font-size:28px;font-weight:600;color:#18294c;font-variant-numeric:tabular-nums}.instrument-meter strong small{font-size:13px;margin-left:5px;color:#58677b}.instrument-meter-track{position:relative;height:8px;background:#d5e3e8;margin-top:14px;border-radius:2px;overflow:hidden}.instrument-meter-track>span{display:block;height:100%;background:#007b82}.meter-scale{display:flex;justify-content:space-between;margin-top:8px}.meter-scale span{font-size:10px;color:#58677b}.instrument-readings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.instrument-readings .device-reading{padding:25px 22px;min-height:120px;border-bottom:1px solid #e4ebf0}.instrument-readings .device-reading:nth-child(n+4){border-bottom:0}.instrument-readings .device-reading strong{font-size:28px}.instrument-dashboard .device-maintenance{padding:18px 3px 22px;margin:0;border-bottom:1px solid #dce2e9;gap:12px 22px}.instrument-dashboard .device-chart-panel{border-radius:12px;padding:22px;overflow:visible}.instrument-dashboard .device-chart-body{margin-top:22px;min-height:220px}.instrument-dashboard .device-chart-grid{gap:22px}.chart-heading h3{color:#18294c}.telemetry-chart{position:relative;padding-top:6px;min-width:0;--chart-color:#007b82}.chart-y-labels{position:absolute;left:0;top:0;width:45px;height:212px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;font-size:11px;color:#58677b;font-variant-numeric:tabular-nums}.chart-plot{height:200px;margin-left:58px;position:relative;outline-offset:6px;touch-action:pan-y;border-radius:1px}.chart-plot:focus-visible{outline:2px solid #007b82}.chart-plot svg{width:100%;height:200px;display:block;overflow:visible;max-height:none}.telemetry-grid path{fill:none;stroke:#dce6ec;stroke-width:1;vector-effect:non-scaling-stroke}.telemetry-line{fill:none;stroke:var(--chart-color);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.telemetry-area{fill:var(--chart-color);fill-opacity:.055;stroke:none}.telemetry-point{fill:var(--chart-color)}.chart-time{margin-left:58px;margin-top:16px;font-size:10px;line-height:1.6;color:#58677b;font-variant-numeric:tabular-nums}.chart-cursor{position:absolute;inset:0 auto 0;border-left:1px solid #536a84;pointer-events:none}.chart-focus-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--chart-color);border:2px solid #fff;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 2px 6px #18294c35}.chart-tooltip{position:absolute;z-index:4;transform:translateX(-50%);background:#18294c;color:white;padding:11px 13px;border-radius:7px;pointer-events:none;min-width:170px;max-width:100%;box-shadow:0 5px 18px #18294c26;font-variant-numeric:tabular-nums}.chart-tooltip span,.chart-tooltip time{display:block;font-size:11px;color:#d1dceb;white-space:nowrap}.chart-tooltip strong{display:block;font-size:20px;font-weight:600;margin:3px 0 5px}.chart-tooltip[hidden],.chart-cursor[hidden],.chart-focus-dot[hidden]{display:none}.device-chart-panel[data-metric=power_kw]{--chart-color:#315b94}.device-chart-panel[data-metric=battery_v]{--chart-color:#8b5b16}.device-chart-panel[data-metric=start_count]{--chart-color:#6254a1}.device-chart-panel .telemetry-chart{--chart-color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.export-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.export-heading a{font-size:12px}.export-machine{display:grid;gap:9px;margin:8px 0 22px;padding:20px 0;border-block:1px solid #dce2e9}.export-machine strong{font-size:26px;color:#18294c}.export-machine span{font-size:13px;color:#58677b}.export-machine a{font-size:13px;justify-self:start}.fleet-summary{background:#18294c;border-color:#18294c}.fleet-summary-item{background:transparent;border-right:1px solid #33476a}.fleet-summary-item>span{color:#cbd7e9}.fleet-summary-item strong{color:#fff}.fleet-summary-item:hover{background:#263d61}.fleet-summary-item.selected{background:#263d61;box-shadow:inset 0 -3px #59cfc7}.fleet-summary-item.selected strong{color:#82e2d7}#chart .telemetry-chart{margin:28px 4px 20px}
.fleet-map-workspace .map-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:22px;background:#f9fbfc}.map-filter-actions{display:flex;align-items:end;justify-content:end}.map-filter-actions button{min-width:130px}.pm-range-control{grid-column:span 3;background:white;padding:18px 20px;border:1px solid #d2dce5;border-radius:8px;min-width:0}.pm-range-heading{display:flex;gap:16px;justify-content:space-between;align-items:center;font-size:13px}.pm-range-heading select{width:auto;max-width:55%;height:36px;font-size:12px;padding:6px}.pm-range-track{position:relative;height:36px;margin:8px 10px 2px}.pm-range-track:before{content:"";position:absolute;left:0;right:0;top:17px;height:4px;background:#d5e1e7;border-radius:2px}.pm-range-fill{position:absolute;top:17px;height:4px;background:#007b82;border-radius:2px}.pm-range-track input[type=range]{position:absolute;inset:0;width:100%;height:36px;appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;margin:0;pointer-events:none;border-radius:0;z-index:2;cursor:pointer}.pm-range-track input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;pointer-events:auto;width:20px;height:20px;background:#007b82;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 5px #18294c40}.pm-range-track input[type=range]::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;background:#007b82;border:2px solid #fff;border-radius:50%}.pm-range-track input[type=range]:focus-visible{outline:2px solid #007b82;outline-offset:3px}.pm-range-track input[type=range]:disabled{opacity:.4}.pm-range-values{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#58677b}.pm-range-values label{display:block;font-size:0;margin:0}.pm-range-values input{width:104px!important;height:36px!important;font-size:13px;font-variant-numeric:tabular-nums;padding:6px 9px}.pm-range-values small{margin-left:auto;font-size:11px}.fleet-marker.compact>span{width:22px;height:22px;border-width:2px;font-size:10px;box-shadow:0 1px 4px #18294c40}.fleet-marker.compact svg{width:13px;height:13px}.fleet-marker.compact.grouped>span{width:26px;height:26px;font-size:10px}.map-records .map-row-pm{font-size:16px;color:#18294c;font-variant-numeric:tabular-nums;text-align:right}.map-records .map-row-pm.overdue{color:#a32937}.map-row-pm small{font-size:10px;font-weight:400;color:#58677b}.map-record>.table-badges{grid-column:1/-1;max-width:none;min-width:0}.map-record .status-badge{font-size:10px}.map-records h2{position:sticky;top:0;background:#fff;z-index:1;font-size:14px}.map-records h2 span{color:#58677b;font-weight:400}.map-record{padding:14px 15px;gap:7px}.map-record>small{font-size:10px}.map-records{max-height:740px}.map-summary strong{font-variant-numeric:tabular-nums}.map-layout{grid-template-columns:minmax(0,1fr) 300px}.fleet-map-workspace #fleet-map{height:clamp(380px,60vh,680px)}
@media(max-width:1200px){.instrument-board{grid-template-columns:minmax(210px,1fr) 2fr}.instrument-meters{padding:24px 22px}.instrument-readings .device-reading{padding:23px 16px}.instrument-readings .device-reading strong{font-size:25px}.fleet-map-workspace .map-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-range-control{grid-column:span 2}.map-filter-actions{grid-column:auto}.map-layout{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:850px){.machine-banner{padding:23px;gap:25px}.machine-banner h2{font-size:32px}.machine-banner .device-last-seen{width:100%}.machine-banner .button-link{align-self:start;white-space:normal}.machine-banner .device-last-seen strong{font-size:16px}.instrument-timeline{gap:9px;font-size:11px}.instrument-timeline>span{width:100%}.instrument-board{grid-template-columns:1fr}.instrument-meters{display:grid;grid-template-columns:1fr 1fr;padding:22px 18px;gap:23px;border-right:0;border-bottom:1px solid #dce2e9}.instrument-meter strong{font-size:25px}.instrument-meter>div:first-child{display:block}.instrument-meter strong{display:block;margin-top:8px}.instrument-meter span{font-size:12px}.instrument-readings{grid-template-columns:repeat(2,minmax(0,1fr))}.instrument-readings .device-reading{padding:20px 17px;min-height:114px}.instrument-readings .device-reading:nth-child(4){border-bottom:1px solid #e4ebf0}.instrument-dashboard .device-chart-panel{padding:19px 16px}.instrument-dashboard .device-chart-grid{gap:15px}.instrument-dashboard .device-period-bar{gap:15px}.instrument-dashboard .device-context{gap:20px;padding:22px 3px}.instrument-dashboard .device-context>div:last-child{grid-column:1/-1}.device-export-actions a{min-width:0;white-space:normal;text-align:center}.chart-plot{margin-left:45px;height:190px}.chart-plot svg{height:190px}.chart-y-labels{width:35px;height:202px;font-size:10px}.chart-time{margin-left:45px;font-size:9px}.chart-tooltip{min-width:155px;padding:9px 11px}.chart-tooltip time{font-size:10px}.chart-tooltip strong{font-size:18px}.export-heading{align-items:start;flex-direction:column;gap:0}.fleet-map-workspace .map-filters{grid-template-columns:1fr 1fr;padding:17px 15px;gap:13px 10px}.fleet-map-workspace .map-filters label{font-size:12px}.fleet-map-workspace .map-filters select{font-size:12px}.pm-range-control{grid-column:1/-1;padding:15px}.pm-range-heading{font-size:12px;gap:8px}.pm-range-heading select{max-width:52%;font-size:11px}.pm-range-values small{margin-left:0;width:100%;margin-top:4px}.map-filter-actions{grid-column:1/-1}.map-filter-actions button{width:100%}.map-layout{display:block}.map-records{max-height:600px}.map-records .map-row-pm{font-size:18px}.map-record .status-badge{font-size:11px}}
@media(prefers-reduced-motion:no-preference){.machine-banner{animation:instrument-in .45s cubic-bezier(.16,1,.3,1)}@keyframes instrument-in{from{clip-path:inset(0 0 7px 0);transform:translateY(3px)}to{clip-path:inset(0);transform:translateY(0)}}}
.device-chart-panel{--chart-color:#007b82}
.fleet-map-workspace .pm-range-values label{font-size:0}
