.bridge-page{max-width:1450px}.bridge-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.bridge-card{background:#11181c;border:1px solid #2a373e;border-radius:16px;padding:24px;min-width:0}.bridge-card h2{font-size:23px;margin:10px 0 18px}.bridge-card h3{font-size:16px;margin:22px 0 12px}.bridge-card p{font-size:14px;color:#9dafb9;line-height:1.6}.bridge-card button{padding:10px 16px;border:1px solid #45615c;border-radius:8px;background:#1d3731;color:#dce9e4;cursor:pointer}.bridge-card button:disabled{opacity:.4;cursor:default}.bridge-actions,.check-row{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.bridge-page label{display:inline-flex;align-items:center;gap:8px;font-size:14px;line-height:1.6}.bridge-page input{accent-color:#55ce91}.bridge-page select{background:#172127;color:#fff;border:1px solid #53626b;border-radius:6px;padding:6px 14px}.bridge-page fieldset{border:0;margin:0;padding:0;min-width:0}.bridge-page .parked{margin-top:18px}.bridge-page table{width:100%;border-collapse:collapse;font-size:14px}.bridge-page th,.bridge-page td{text-align:left;padding:11px 8px;border-bottom:1px solid #29343c;white-space:nowrap}.bridge-page th{color:#93a7b4;font-weight:400}.table-scroll{overflow:auto}.bridge-page progress{width:100%;accent-color:#55ce91;height:9px}.bridge-page pre{font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto}.bridge-page details{border-bottom:1px solid #29343c;padding:12px 0}.bridge-page summary{cursor:pointer}.bridge-page .muted{opacity:.45}.bridge-page nav{display:flex;flex-wrap:wrap;gap:12px}.bridge-page #notice{color:#f3c771}.bridge-page .topbar{flex-wrap:wrap;gap:18px}.terminal-passport>.bridge-card{width:100%}.secondary-link{margin-top:10px}.slave-demo-card{margin:16px 0}.slave-demo-card .dev-control-grid{grid-template-columns:1fr 1.5fr 1.5fr 1.2fr}@media(max-width:850px){.bridge-grid{grid-template-columns:1fr}.bridge-card{padding:18px}.bridge-page .topbar{height:auto;padding:18px 0}.bridge-page h2{font-size:20px}.slave-demo-card .dev-control-grid{grid-template-columns:1fr}}
.bench-card{margin-top:20px}.bridge-page .bench-card input{flex:1;min-width:180px;background:#0a1014;color:#edf5f2;border:1px solid #53626b;border-radius:8px;padding:12px;font:inherit;font-size:14px}.bridge-page .bench-recording{color:#64dfa4;font-weight:600}#benchTrailer{display:block;width:100%;max-width:350px;margin:0 auto;color:#9dafb9}#benchTrailer text{fill:#9dafb9;font-size:11px;font-family:inherit}.bench-outline{fill:none;stroke:#b3c8cd;stroke-width:5}.bench-wheel{fill:#11181c;stroke:#64747d;stroke-width:7}.bench-wheel.valid{stroke:#64dfa4}#benchTrailer .wheel-value{font-size:16px;font-weight:600}#benchTrailer .wheel-value.valid{fill:#dcf5e9}.bench-hardware{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bench-hardware>div{background:#0c1216;border:1px solid #29343c;border-radius:8px;padding:12px}.bench-hardware strong{font-size:13px;color:#dbe8ed}.bench-hardware p{white-space:pre-line;margin-bottom:0}.bridge-page #benchHistory{max-height:620px;overflow:auto}.bridge-page #benchHistory summary{font-size:13px;line-height:1.6}.bridge-page #benchExport{align-self:center;color:#64dfa4}.bridge-page #benchSessions{max-width:100%}.bridge-page #benchDelete{background:#342327;border-color:#715056}@media(max-width:500px){.bench-hardware{grid-template-columns:1fr}.bridge-page .bench-card input{min-width:100%;box-sizing:border-box}}
.bridge-page{max-width:1160px;font-size:15px;color:#eef2f7}
.bridge-page .bridge-card{background:#242832;border:1px solid #414957;border-radius:8px;padding:16px}
.bridge-page .terminal-heading{font-size:22px;margin:26px 0 12px}
.terminal-passport{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.parameter-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:10px;align-items:stretch}
.bridge-page .config-panel,.bridge-page .trailer-panel{background:#20242c}
.bridge-page .config-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #343b47}
.bridge-page .config-row>span:first-child{min-width:160px;color:#d8deea}
.bridge-page .checks{display:flex;gap:12px;flex-wrap:wrap}
.bridge-page .checks label{display:flex;gap:6px;align-items:center;padding:5px 0}
.bridge-page input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:0}
.bridge-page label:has(input:disabled){opacity:.45}
.bridge-page .config-passport{border-bottom:1px solid #414957;padding-bottom:4px}
.bridge-page .config-passport p{color:#eef2f7;margin:8px 0 12px}
.bridge-page .trailer-panel{display:flex;flex-direction:column;align-items:center}
.bridge-page #benchTrailer{width:100%;max-width:330px;height:430px;margin:12px auto 0}
.bridge-page #benchTrailer .trailer-body{fill:#101217;stroke:#dce3ea;stroke-width:4}
.bridge-page #benchTrailer .axle-line{stroke:#657181;stroke-width:3}
.bridge-page #benchTrailer .wheel{fill:#20242c;stroke:#9aa7b8;stroke-width:4}
.bridge-page #benchTrailer .sensor-ok{fill:#11db5b;stroke:#dfffea}
.bridge-page #benchTrailer .sensor-fault{fill:#7a6418;stroke:#ffe07a}
.bridge-page #benchTrailer .wheel-temp{fill:#eef2f7;font:700 20px system-ui;text-anchor:middle}
.bridge-page #benchTrailer .axle-number{fill:#778395;font:13px system-ui;text-anchor:middle}
.bridge-page #benchTrailer .lift-label{fill:#99a5b6;font-size:10px}
.bridge-page .trailer-panel p{font-size:12px;text-align:center;margin:7px 0}
.bridge-page .good{color:#78df96}.bridge-page .warn{color:#ffe07a}
.bridge-page .map-legend{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.bridge-page button{background:#2b303a;border-color:#576173}
.bridge-page button.ota{background:#146b39;border-color:#32b86c;font-weight:700}
.bridge-page button.danger{background:#5d2929;border-color:#a84c4c}
.bridge-page .fault-section{margin-top:12px}
.bridge-page .bench-hardware{grid-template-columns:repeat(3,minmax(0,1fr))}
.bridge-page .bench-hardware>div.can-live{border-color:#3ca66a;background:#172f25}.bridge-page .bench-hardware>div.can-live strong{color:#78df96}
.bridge-page .bench-hardware>div.can-seen{border-color:#9a7d36;background:#302b1c}.bridge-page .bench-hardware>div.can-seen strong{color:#ffe07a}
.bridge-page .bench-hardware>div.can-idle{opacity:.72}
.bridge-page .bench-card{margin-bottom:12px}
@media(max-width:800px){.parameter-layout{grid-template-columns:1fr}.bridge-page .bench-hardware{grid-template-columns:1fr 1fr}.terminal-passport{grid-template-columns:1fr}.bridge-page #benchTrailer{height:390px}}
@media(max-width:480px){.bridge-page .bench-hardware{grid-template-columns:1fr}}
.signature-card{margin:10px 0}.signature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.signature-grid label{display:flex;flex-direction:column;align-items:stretch;gap:5px;color:#cbd4df}.signature-grid input{width:100%;box-sizing:border-box;background:#171b22;color:#fff;border:1px solid #53626b;border-radius:6px;padding:8px;font:inherit}.bridge-page .hot{color:#ff6a5e}.bridge-page .cold{color:#6ea8ff}.bridge-page #benchTrailer .sensor-hot{fill:#bb3028;stroke:#ff776d}.bridge-page #benchTrailer .sensor-cold{fill:#17458e;stroke:#72a9ff}.bridge-page #benchTrailer .wheel-lifted{fill:#343942;stroke:#737c88}.bridge-page #benchTrailer .lift-state{fill:#ccd3dc;font-size:10px}@media(max-width:800px){.signature-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.signature-grid{grid-template-columns:1fr}}
.automatic-history{margin:0 0 12px}.automatic-history #historyStatus{color:#78df96}.automatic-history table{font-variant-numeric:tabular-nums}
.history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0 12px}.history-ranges{display:flex;gap:6px;flex-wrap:wrap}.bridge-page .history-ranges button{padding:7px 12px;background:#171b22}.bridge-page .history-ranges button.selected{background:#24543f;border-color:#64dfa4;color:#fff}.history-toolbar>span{font-size:13px;color:#9dafb9}.history-legend{display:flex;gap:7px 14px;flex-wrap:wrap;margin-bottom:12px}.history-legend label{cursor:pointer;color:#dbe3ec}.history-legend i{display:inline-block;width:18px;height:4px;border-radius:3px;background:var(--line)}.history-legend input:not(:checked)+i{background:#59616e}.history-legend .channel-0{--line:#ff6b6b}.history-legend .channel-1{--line:#ffad5c}.history-legend .channel-2{--line:#ffd166}.history-legend .channel-3{--line:#91df72}.history-legend .channel-4{--line:#3dd6ad}.history-legend .channel-5{--line:#54a7ff}.history-legend .channel-6{--line:#8d82ff}.history-legend .channel-7{--line:#d87eff}.history-chart-scroll{overflow-x:auto;margin:8px 0 10px;overscroll-behavior:contain}.history-chart-shell{position:relative;min-width:720px}.history-chart-shell svg{display:block;width:100%;height:auto;background:#171b22;border:1px solid #343c48;border-radius:8px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.history-chart-shell .chart-grid{stroke:#343c48;stroke-width:1}.history-chart-shell .chart-axis{fill:#94a2b2;font:12px system-ui}.history-chart-shell .chart-title{fill:#dce4ec;font:600 13px system-ui}.history-chart-shell .temp-line{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.history-chart-shell .temp-range{stroke-width:1;opacity:.22}.history-chart-shell .speed-line{fill:none;stroke:#dbe5ef;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.history-chart-shell .speed-area{fill:#6b8296;opacity:.16}.history-chart-shell .chart-cursor{stroke:#fff;stroke-width:1;stroke-dasharray:4 4;opacity:.6}.history-chart-shell .chart-empty{fill:#9dafb9;font:15px system-ui;text-anchor:middle}.history-tooltip{position:absolute;z-index:2;pointer-events:none;max-width:260px;padding:9px 11px;border:1px solid #596574;border-radius:7px;background:rgba(8,12,16,.94);color:#f0f4f8;font-size:12px;line-height:1.45;white-space:pre-line;box-shadow:0 5px 18px rgba(0,0,0,.35)}.history-timeline{margin:0 0 18px}.history-timeline input{display:block;width:100%;accent-color:#64dfa4}.history-timeline div{display:flex;justify-content:space-between;gap:12px;color:#82919c;font-size:11px}@media(max-width:800px){.history-chart-shell{min-width:680px}}
.history-navigation{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-3px 0 6px}.bridge-page .history-navigation button{padding:7px 11px;background:#171b22}.bridge-page .history-navigation button:disabled{opacity:.4;cursor:default}.history-navigation span{margin-left:auto;color:#64dfa4;font-size:12px;font-weight:650}.history-navigation span.archive{color:var(--amber)}.history-hint{margin:0 0 12px;color:#82919c;font-size:12px}.history-chart-shell svg.dragging{cursor:grabbing}.history-chart-shell svg:not(.dragging){cursor:crosshair}@media(max-width:600px){.history-navigation span{width:100%;margin-left:0}}
.history-jump{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}.history-jump label{color:#b7c3ce}.bridge-page .history-jump input{background:#171b22;color:#eef2f7;border:1px solid #53626b;border-radius:6px;padding:7px 10px;font:inherit}.bridge-page .history-jump button{padding:7px 11px;background:#24543f}
.history-chart-shell svg.loading .temp-line,.history-chart-shell svg.loading .speed-line{opacity:.55}.history-chart-shell svg.loading .chart-cursor{visibility:hidden}
