.v4-app{--bg:#faf6f8;--panel:#fff;--panel2:#f6eef2;--wash:#fbf8fa;--line:#e9dde4;--line2:#d9c6d2;--text:#2b1420;--muted:#7d6470;--faint:#8a7480;--plum:#8e2d4e;--plum-deep:#6e1f3b;--plum-dim:#f3e3ea;--red:#d93a3a;--red-dim:#fbe9e9;--danger-dim:#f5cdcd;--amber:#b47516;--amber-dim:#f7eddd;--amber-text:#8f5a0f;--violet:#7b4b9e;--violet-dim:#efe7f6;--ink:#2b1420;--fg-on-dark:#fdfbfc;--tip-bg:#2b1420;--tip-fg:#fdfbfc;--tip-accent:#f6d9e4;--mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Consolas, monospace;--cond:"Arial Narrow", "Helvetica Neue Condensed", "Liberation Sans Narrow", Arial, sans-serif;font-family:var(--cond);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:1.45}html.dark .v4-app{--bg:#0e0b10;--panel:#18121a;--panel2:#221a26;--wash:#1f1820;--line:#2f2330;--line2:#443548;--text:#f4e8ee;--muted:#d4c5ce;--faint:#ac9aa6;--plum:#f8518c;--plum-deep:#c33671;--plum-dim:#2e1822;--red:#ff6b6b;--red-dim:#2a1010;--danger-dim:#431414;--amber:#f5b342;--amber-dim:#2a1f08;--amber-text:#f5b342;--violet:#b98dd9;--violet-dim:#221432;--ink:#f4e8ee;--fg-on-dark:#fdfbfc;--tip-bg:#221018;--tip-fg:#fdfbfc;--tip-accent:#f6d9e4}.v4-app *{box-sizing:border-box}.v4-app b{font-weight:700}.v4-app .muted{color:var(--muted)}.v4-app .c-plum{color:var(--plum)}.v4-app .c-red{color:var(--red)}.v4-app .c-amber{color:var(--amber-text)}.v4-app .c-violet{color:var(--violet)}.v4-app .c-faint{color:var(--faint)}.v4-app .upc{text-transform:uppercase}.v4-wrap{max-width:980px;margin:0 auto;padding:22px 16px 90px}.v4-app .topbar{border-bottom:2px solid var(--ink);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;padding-bottom:12px;display:flex}.v4-app .brand{flex:none;align-items:center;gap:7px;min-width:0;display:flex}.v4-app .brand .brand-logo{flex:none;width:auto;display:block}.v4-app .brand h1{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);white-space:nowrap;font-size:22px;font-weight:700;line-height:1}.v4-app .brand .brand-sub{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-size:11px}.v4-app .v4-bookmarks{flex:none;gap:4px;display:flex}.v4-app .v4-bookmark{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--panel);border:1px solid var(--line2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.v4-app .v4-bookmark:hover{color:var(--text);border-color:var(--plum)}.v4-app .v4-bookmark.active{color:var(--ink);background:var(--plum-dim);border-color:var(--plum);border-bottom-color:var(--plum);font-weight:800}.v4-app .v4-bookmark-icon{align-items:center;display:inline-flex}.v4-app .v4-topbar-active-label{font-family:var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--plum);white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;margin-left:4px;font-size:13px;font-weight:700;overflow:hidden}.v4-app .topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}.v4-app .iconbtn{border:1px solid var(--line2);background:var(--panel);width:32px;height:32px;color:var(--muted);cursor:pointer;font-family:var(--cond);border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.v4-app .iconbtn:hover{border-color:var(--plum);color:var(--plum)}.v4-app .iconbtn .kbd-mini{font-family:var(--mono);background:var(--panel2);border:1px solid var(--line);white-space:nowrap;border-radius:3px;margin-left:4px;padding:1px 4px;font-size:9px;line-height:1.2}.v4-app .textbtn{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line2);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.v4-app .textbtn:hover{color:var(--plum);border-color:var(--plum)}.v4-app .tabs{border-bottom:1px solid var(--line2);margin:14px 0;display:flex}.v4-app .tab{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-bottom:3px solid #0000;flex:1;padding:11px 8px 10px;font-size:14.5px;font-weight:700;transition:all .15s}.v4-app .tab:hover{color:var(--text)}.v4-app .tab.active{color:var(--ink);border-bottom:4px solid var(--plum);font-weight:800}.v4-app .pills-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.v4-app .pills-divider{color:var(--faint);-webkit-user-select:none;user-select:none;flex:none;font-size:14px;font-weight:400}.v4-app .pills{scrollbar-width:none;flex:1;gap:6px;min-width:0;padding-bottom:3px;display:flex;overflow-x:auto}.v4-app .pill{white-space:nowrap;letter-spacing:.04em;color:var(--muted);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:3px;padding:6px 12px;font-size:12.5px;font-weight:700;transition:all .15s}.v4-app .pill:hover{border-color:var(--line2);color:var(--text)}.v4-app .pill.dim{opacity:.55}.v4-app .pill.dim:hover{opacity:.85}.v4-app .pill.active{background:var(--ink);border-color:var(--ink);color:var(--fg-on-dark)}.v4-app .trip-filter{flex-shrink:0;position:relative}.v4-app .trip-filter-btn{font-family:var(--cond);letter-spacing:.04em;color:var(--text);background:var(--plum-dim);border:1px solid var(--plum);cursor:pointer;white-space:nowrap;border-radius:3px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.v4-app .trip-filter-btn:hover{background:var(--plum);color:var(--fg-on-dark)}.v4-app .trip-filter-btn.active{background:var(--ink);border-color:var(--ink);color:var(--fg-on-dark)}.v4-app .trip-filter-btn .chev{color:inherit;font-size:10px}.v4-app .trip-filter-popover{background:var(--panel);border:1px solid var(--line2);z-index:50;border-radius:6px;width:280px;max-width:calc(100vw - 32px);position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 12px 30px #2b14202e}.v4-app .trip-filter-search{width:100%;font-family:var(--cond);border:none;border-bottom:1px solid var(--line);background:var(--wash);color:var(--text);padding:8px 10px;font-size:13px}.v4-app .trip-filter-search:focus{background:var(--panel)}.v4-app .trip-filter-search:focus-visible{outline:2px solid var(--plum);outline-offset:-2px}.v4-app .trip-filter-list{max-height:320px;overflow-y:auto}.v4-app .trip-filter-item{cursor:pointer;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:all .1s;display:flex}.v4-app .trip-filter-item:last-child{border-bottom:none}.v4-app .trip-filter-item:hover{background:var(--wash)}.v4-app .trip-filter-item.selected{background:var(--plum-dim);color:var(--plum)}.v4-app .trip-filter-item.period-reset{border-bottom:1px solid var(--line)}.v4-app .trip-filter-item.period-reset b{font-size:11px}.v4-app .trip-filter-item .mono{font-family:var(--mono);color:var(--faint);font-size:10px}.v4-app .trip-filter-empty{color:var(--faint);text-align:center;padding:16px 12px;font-size:11px}.v4-app .session{background:var(--panel);border:1px solid var(--line);border-radius:6px;margin-bottom:18px;padding:12px 14px}.v4-app .session-top{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:13px;display:flex}.v4-app .session-top b{color:var(--text);font-family:var(--mono);font-size:12.5px;font-weight:600}.v4-app .session-top .dest-addr{text-overflow:ellipsis;white-space:nowrap;max-width:min(260px,60vw);color:var(--text);overflow:hidden}.v4-app .s-lab{color:var(--faint);text-transform:uppercase;letter-spacing:.16em;font-size:10px}.v4-app .caret{color:var(--faint);margin-left:auto}.v4-app .mline{border:1px solid var(--line);border-radius:2px;height:10px;margin-top:10px;display:flex;overflow:hidden}.v4-app .mline i{cursor:pointer;height:100%}.v4-app .ml-move{background:var(--plum)}.v4-app .ml-idle{background:#dcc9d3}html.dark .v4-app .ml-idle{background:#5a4658}.v4-app .ml-gap{background:repeating-linear-gradient(90deg,#c99a2e 0 3px,#f3e3c9 3px 6px)}html.dark .v4-app .ml-gap{background:repeating-linear-gradient(90deg,#8b6914 0 3px,#2a2118 3px 6px)}.v4-app .mline-cap{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:6px;font-size:10.5px;display:flex}.v4-app .mline-cap i{vertical-align:-1px;border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.v4-app section{margin-bottom:22px}.v4-app .sec-head{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:6px;display:flex}.v4-app .sec-num{font-family:var(--mono);color:var(--plum);letter-spacing:.08em;font-size:10px}.v4-app .sec-title{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-size:13.5px;font-weight:700}.v4-app .sec-sub{color:var(--faint);text-align:right;letter-spacing:.02em;margin-left:auto;font-size:11px}.v4-app .card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:15px}.v4-app .card-title{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;margin-bottom:11px;font-size:12px;font-weight:700;display:flex}.v4-app .card-title .chip{margin-left:auto}.v4-app [data-tip]{cursor:pointer;border-bottom:1px dotted var(--line2);position:relative}.v4-app .help{border:1px solid var(--line2);width:16px;height:16px;color:var(--muted);cursor:pointer;vertical-align:middle;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:9.5px;font-weight:700;display:inline-flex}.v4-tipbox{z-index:1000;background:var(--panel,#fff);max-width:320px;color:var(--text,#2b1420);border:1px solid var(--line2,#d9c6d2);pointer-events:none;opacity:1;-webkit-backdrop-filter:none;border-radius:8px;padding:11px 13px;font-family:Arial Narrow,Arial,sans-serif;font-size:12px;line-height:1.55;display:none;position:absolute;box-shadow:0 4px 16px #0000002e}html.dark .v4-tipbox{background:var(--panel,#18121a);color:var(--text,#f4e8ee);border-color:var(--line2,#443548);box-shadow:0 4px 18px #0000008c}.v4-tipbox b{color:var(--plum,#8e2d4e)}.v4-tipbox .t-line{margin-top:5px;display:block}.v4-tipbox .t-line:first-child{margin-top:0}.v4-app .kpi-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.v4-app .kpi{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:12px 12px 34px;position:relative;overflow:hidden;box-shadow:0 1px 3px #2b14200a}html.dark .v4-app .kpi{box-shadow:0 1px 4px #0006}.v4-app .kpi .label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding-right:44px;font-size:10px;line-height:1.3}.v4-app .kpi .val{font-family:var(--cond);letter-spacing:-.01em;align-items:baseline;gap:4px;margin-top:4px;font-size:27px;font-weight:700;line-height:1.05;display:flex}.v4-app .kpi .unit{color:var(--muted);vertical-align:baseline;flex:none;font-size:12.5px;font-weight:400;line-height:1}.v4-app .kpi .trend{font-size:10px;font-family:var(--mono);border-radius:3px;padding:2px 6px;position:absolute;top:9px;right:9px}.v4-app .trend.up{color:var(--plum);background:var(--plum-dim)}.v4-app .trend.down{color:var(--red);background:var(--red-dim)}.v4-app .trend.neu{color:var(--muted);background:var(--panel2)}.v4-app .kpi svg.spark{width:100%;height:26px;display:block;position:absolute;bottom:0;left:0;right:0}.v4-app .kpi svg.spark polyline{stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.v4-app .kpi.k-red{border-color:#ebc3c3}html.dark .v4-app .kpi.k-red{border-color:#5a2424}.v4-app .kpi.k-red .val{color:var(--red)}.v4-app .kpi.k-violet{border-color:#dcc9ec}html.dark .v4-app .kpi.k-violet{border-color:#4a3266}.v4-app .kpi.k-violet .val{color:var(--violet)}.v4-app .kpi.k-plum{border-color:#e7c4d1}html.dark .v4-app .kpi.k-plum{border-color:#5a2438}.v4-app .kpi.k-plum .val{color:var(--plum)}.v4-app .score-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.v4-app .bullet-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding-top:2px;display:flex}.v4-app .bullet-num b{font-family:var(--cond);letter-spacing:-.01em;font-size:38px;font-weight:700;line-height:1}.v4-app .bullet-num span{color:var(--muted);font-size:13px}.v4-app .bullet-scale{border-radius:3px;height:22px;margin-top:10px;position:relative;overflow:hidden}.v4-app .bullet-range{position:absolute;top:0;bottom:0}.v4-app .bullet-measure{border-radius:2px;min-width:2px;height:10px;transition:width .35s,left .35s,background .35s;position:absolute;top:50%;transform:translateY(-50%)}.v4-app .bullet-target{background:var(--ink);border-radius:1px;width:2.5px;position:absolute;top:0;bottom:0;transform:translate(-1.25px)}.v4-app .bullet-empty{color:var(--faint);justify-content:center;align-items:center;font-size:10.5px;display:flex;position:absolute;inset:0}.v4-app .bullet-ticks{height:14px;color:var(--faint);margin-top:3px;font-size:9.5px;position:relative}.v4-app .bullet-ticks span{white-space:nowrap;position:absolute;transform:translate(-50%)}.v4-app .bullet-ticks span[data-align=start]{transform:none}.v4-app .bullet-ticks span[data-align=end]{transform:translate(-100%)}.v4-app .score-band{letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:10.5px;font-weight:700;display:inline-block}.v4-app .cap-note{color:var(--faint);margin-top:9px;font-size:10.5px;line-height:1.5}.v4-app .cap-rows{margin-top:12px}.v4-app .cap-row{grid-template-columns:74px 1fr 64px;align-items:center;gap:10px;padding:5px 0;display:grid}.v4-app .cap-l{color:var(--muted);font-size:11.5px}.v4-app .cap-bar{background:var(--panel2);border:1px solid var(--line);border-radius:2px;height:7px;overflow:hidden}.v4-app .cap-fill{background:var(--plum);height:100%}html.dark .v4-app .cap-fill{background:var(--plum)}.v4-app .cap-v{font-family:var(--mono);text-align:right;color:var(--muted);font-size:12px}.v4-app .cap-v b{color:var(--plum)}.v4-app .spwrap{padding:2px 0 0}.v4-app .sp-pcts{display:flex}.v4-app .sp-pcts span{text-align:center;font-family:var(--cond);color:var(--ink);white-space:nowrap;flex:none;padding-bottom:3px;font-size:14px;font-weight:700}.v4-app .sp-pcts span i{color:var(--muted);font-size:9.5px;font-style:normal;font-weight:400}.v4-app .sp-bar{border:1px solid var(--line2);border-radius:3px;height:22px;display:flex;overflow:hidden}.v4-app .sp-bar i{flex:none;min-width:2px;height:100%}.v4-app .sp-ticks{display:flex}.v4-app .sp-ticks span{border-left:1px solid var(--line2);text-align:center;font-family:var(--mono);color:var(--muted);white-space:nowrap;flex:none;padding:4px 0 0;font-size:9.5px}.v4-app .sp-ticks span:first-child{border-left:none}.v4-app .sp-ticks span b{font-family:var(--cond);color:var(--muted);letter-spacing:.02em;font-size:11.5px;font-weight:700;display:block}.v4-app .s1{background:#d93a3a}.v4-app .s2{background:#db6b5b}.v4-app .s3{background:#c77b8e}.v4-app .s4{background:#a85d8a}.v4-app .s5{background:#7b4b9e}.v4-app .s6{background:#4a2d6e}html.dark .v4-app .s6{background:#9377b5}.v4-app .stats-grid{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:9px;margin-top:13px;display:grid}.v4-app .stat{background:var(--wash);border:1px solid var(--line);border-radius:4px;padding:9px 11px}.v4-app .stat .v{font-family:var(--cond);font-size:19px;font-weight:700;line-height:1.1}.v4-app .stat .v .u{color:var(--muted);font-size:11px;font-weight:400}.v4-app .stat .l{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.35}.v4-app .pf-hero{grid-template-columns:1.3fr 1fr;gap:14px;margin-bottom:15px;display:grid}.v4-app .pf-label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:7px;font-size:10px;display:flex}.v4-app .pf-val{font-family:var(--cond);letter-spacing:-.01em;margin:5px 0 3px;font-size:46px;font-weight:700;line-height:1.05}.v4-app .pf-val .unit{color:var(--muted);font-size:16px;font-weight:400}.v4-app .pf-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.v4-app .chip{letter-spacing:.05em;white-space:nowrap;border-radius:3px;padding:3px 9px;font-size:10px;font-weight:700}.v4-app .chip-plum{color:var(--plum);background:var(--plum-dim)}.v4-app .chip-red{color:var(--red);background:var(--red-dim)}.v4-app .chip-amber{color:var(--amber-text);background:var(--amber-dim)}.v4-app .demo-chip{text-transform:uppercase;letter-spacing:.14em;color:var(--amber-text);background:var(--amber-dim);border:1px solid var(--amber);white-space:nowrap;border-radius:3px;flex:none;margin-left:2px;padding:1px 6px;font-size:9.5px;font-weight:700;display:inline-block}.v4-app .chip-violet{color:var(--violet);background:var(--violet-dim)}.v4-app .chip-gray{color:var(--muted);background:var(--panel2)}.v4-app .pf-side{flex-direction:column;justify-content:center;gap:7px;display:flex}.v4-app .pf-mini{background:var(--wash);border:1px solid var(--line);color:var(--muted);border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:8px 11px;font-size:12px;display:flex}.v4-app .pf-mini b{font-family:var(--mono);font-size:13.5px}.v4-app .pf-segs-head{letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:10px;margin:15px 0 3px;font-size:12px;font-weight:700;display:flex}.v4-app .pf-segs-head .muted{text-transform:none;letter-spacing:0;font-size:10px;font-weight:400}.v4-app .seg-row{border-bottom:1px dashed var(--line);grid-template-columns:minmax(104px,148px) 1fr 128px;align-items:center;gap:11px;padding:9px 0;display:grid}.v4-app .seg-name{font-size:12.5px;font-weight:700;line-height:1.25}.v4-app .seg-name small{color:var(--faint);letter-spacing:.03em;margin-top:1px;font-size:9.5px;font-weight:400;display:block}.v4-app .bullet{background:var(--wash);border:1px solid var(--line);border-radius:2px;height:14px;position:relative}.v4-app .bullet .fill{position:absolute;top:0;bottom:0;left:0}.v4-app .fill.save{background:var(--plum)}.v4-app .fill.warn{background:#c77b8e}html.dark .v4-app .fill.warn{background:#b6859b}.v4-app .fill.lost{background:var(--red)}.v4-app .bullet .tick{background:var(--ink);opacity:.75;width:2px;position:absolute;top:-4px;bottom:-4px}.v4-app .seg-delta{text-align:right;font-size:12px;line-height:1.3}.v4-app .seg-delta b{font-family:var(--mono);font-size:13px}.v4-app .seg-delta .p{color:var(--faint);font-size:9px;font-family:var(--mono);display:block}.v4-app .seg-delta .spd{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:3px;margin-top:2px;display:flex}.v4-app .seg-total{color:var(--muted);justify-content:flex-end;align-items:baseline;gap:14px;padding-top:11px;font-size:12px;display:flex}.v4-app .seg-total b{font-family:var(--mono);color:var(--text)}.v4-app .pf-note{color:var(--muted);margin-top:10px;font-size:10.5px;line-height:1.55}.v4-app .map-wrap{border:1px solid var(--line);border-radius:4px;overflow:hidden}.v4-app .map{background:#f7f2f5;width:100%;height:auto;display:block}html.dark .v4-app .map{background:#161018}.v4-app .rt{fill:none;stroke-width:4.5px;stroke-linecap:round}.v4-app .mk-lbl{font-family:var(--cond);letter-spacing:.18em;fill:#b49aa8;text-transform:uppercase;font-size:9.5px}html.dark .v4-app .mk-lbl{fill:#7a6878}.v4-app .leg-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;font-size:10.5px;display:flex}.v4-app .leg-line .sw{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.v4-app .leg-line .dash{vertical-align:3px;border-top:3px dashed #c99a2e;width:20px;height:0;margin-right:5px;display:inline-block}.v4-app .leg-line .dot{background:var(--red);border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.v4-app .elev{margin-top:14px}.v4-app .elev svg{width:100%;height:92px;display:block}.v4-app .elev-l{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:5px;font-size:10.5px;display:flex}.v4-app .beh-grid{grid-template-columns:300px 1fr;align-items:start;gap:10px;display:grid}.v4-app .stack-v{flex-direction:column;gap:10px;display:flex}.v4-app #gg,.v4-app .gg-svg{width:100%;max-width:280px;margin:0 auto;display:block}.v4-app .gg-legend{color:var(--faint);text-align:center;margin-top:9px;font-size:10px;line-height:1.5}.v4-app .ev-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.v4-app .ev{background:var(--wash);border:1px solid var(--line);text-align:center;border-radius:4px;padding:10px 6px}.v4-app .ev b{font-family:var(--cond);font-size:22px;font-weight:700;display:block}.v4-app .ev.hot b{color:var(--red)}.v4-app .ev.warm b{color:var(--amber-text)}.v4-app .ev span{color:var(--muted);letter-spacing:.04em;margin-top:3px;font-size:10px;line-height:1.3;display:block}.v4-app .jbar{border:1px solid var(--line2);border-radius:2px;height:16px;display:flex;overflow:hidden}.v4-app .jb{height:100%}.v4-app .jb-move{background:var(--plum)}.v4-app .jb-jam{background:var(--red)}.v4-app .jb-idle{background:#dcc9d3}html.dark .v4-app .jb-idle{background:#5a4658}.v4-app .jb-gap{background:repeating-linear-gradient(90deg,#c99a2e 0 3px,#f3e3c9 3px 6px)}html.dark .v4-app .jb-gap{background:repeating-linear-gradient(90deg,#8b6914 0 3px,#2a2118 3px 6px)}.v4-app .jbar-leg{color:var(--muted);flex-wrap:wrap;gap:14px;margin:8px 0 13px;font-size:10.5px;display:flex}.v4-app .jbar-leg i{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.v4-app details.acc{border:1px solid var(--line);background:var(--panel);border-radius:6px;margin-bottom:10px;overflow:hidden}.v4-app .acc summary{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:13px 15px;font-size:12.5px;font-weight:700;list-style:none;display:flex}.v4-app .acc summary::-webkit-details-marker{display:none}.v4-app .acc summary:hover{background:var(--wash)}.v4-app .acc .acc-badge{color:var(--muted);background:var(--panel2);letter-spacing:.02em;text-transform:none;border-radius:3px;margin-left:8px;padding:3px 8px;font-size:10px;font-weight:400}.v4-app .acc .chev,.v4-app .trip .chev,.v4-app .route-row .chev{color:var(--faint);margin-left:auto;font-size:15px;font-style:normal;line-height:1;transition:all .2s}.v4-app details[open] .chev{transform:rotate(90deg)}.v4-app .acc-body{padding:0 15px 15px}.v4-app .acc-note{color:var(--faint);margin-bottom:11px;font-size:11px;line-height:1.55}.v4-app .hs-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.v4-app .hs-row:last-child{border-bottom:none}.v4-app .dots{gap:4px;margin-top:6px;display:flex}.v4-app .dots i{border-radius:50%;width:7px;height:7px}.v4-app .hs-val{text-align:right;flex:none}.v4-app .hs-lab{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.v4-app .hs-val b{font-family:var(--mono);font-size:16px}.v4-app .prog-row{margin-bottom:12px}.v4-app .prog-head{color:var(--muted);justify-content:space-between;margin-bottom:5px;font-size:11.5px;display:flex}.v4-app .prog-head b{font-family:var(--mono);color:var(--text)}.v4-app .prog{background:var(--wash);border:1px solid var(--line);border-radius:2px;height:8px;overflow:hidden}.v4-app .prog>div{background:var(--plum);height:100%}.v4-app .route-row{border:1px solid var(--line);background:var(--panel);border-radius:6px;margin-bottom:8px;overflow:hidden}.v4-app .route-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px 14px;display:flex}.v4-app .route-head:hover{background:var(--wash)}.v4-app .route-count{font-family:var(--cond);text-align:center;border:1px solid var(--line);border-radius:4px;flex:none;min-width:42px;padding:8px 4px;font-size:17px;font-weight:700}.v4-app .rc-1{background:var(--plum-dim);color:var(--plum)}.v4-app .rc-2{background:var(--violet-dim);color:var(--violet)}.v4-app .rc-3{background:var(--amber-dim);color:var(--amber-text)}.v4-app .rc-4{background:var(--panel2);color:var(--muted)}.v4-app .route-mid{flex:1;min-width:0}.v4-app .r-name{font-size:13.5px;font-weight:700}.v4-app .r-sub{color:var(--faint);margin:1px 0 6px;font-size:10.5px}.v4-app .rbar{background:var(--panel2);border-radius:2px;height:4px;overflow:hidden}.v4-app .rbar>div{background:var(--plum);height:100%}.v4-app .r-last{color:var(--faint);white-space:nowrap;flex:none;font-size:10.5px}.v4-app .route-body{border-top:1px solid var(--line);padding:2px 15px 15px;display:none}.v4-app .route-row.open .route-body{display:block}.v4-app .route-row.open .chev{transform:rotate(90deg)}.v4-app .cmp-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.v4-app .cmp-cell{background:var(--wash);border:1px solid var(--line);text-align:center;border-radius:4px;padding:9px 10px}.v4-app .cmp-cell b{font-family:var(--mono);font-size:16px;display:block}.v4-app .cmp-cell span{color:var(--muted);letter-spacing:.05em;margin-top:2px;font-size:9px;display:block}.v4-app .heat-title{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:12px 0 6px;font-size:10px}.v4-app .heat{gap:4px;display:grid}.v4-app .heat-4c{grid-template-columns:repeat(4,1fr)}.v4-app .heat-7c{grid-template-columns:repeat(7,1fr)}.v4-app .heat i{text-align:center;font-style:normal;font-family:var(--mono);color:#fdfbfc;border-radius:3px;padding:7px 3px;font-size:10.5px}.v4-app .heat i small{opacity:.85;font-size:9.5px;font-family:var(--cond);letter-spacing:.06em;display:block}.v4-app .trend-svg{width:100%;height:88px;margin-top:4px;display:block}.v4-app .trend-cap{color:var(--muted);margin-top:6px;font-size:10.5px;line-height:1.5}.v4-app .trend-cap b{font-family:var(--mono)}.v4-app .toast{border:1px solid var(--line2);background:var(--panel);border-left:3px solid var(--plum);color:var(--muted);border-radius:4px;margin-top:24px;padding:13px 15px;font-size:12.5px;line-height:1.6}.v4-app .toast b{color:var(--plum)}.v4-app .tsum{margin-bottom:14px}.v4-app .tsum-main{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.v4-app .tsum-main span{color:var(--muted);font-size:12px}.v4-app .tsum-stats{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.v4-app .tsum-stats>div{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:4px;padding:10px}.v4-app .tsum-stats b{font-family:var(--cond);font-size:18px;display:block}.v4-app .tsum-stats span{color:var(--faint);letter-spacing:.05em;font-size:9.5px}.v4-app .trip{border:1px solid var(--line);background:var(--panel);border-radius:6px;margin-bottom:8px;overflow:hidden}.v4-app .trip-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:13px;padding:12px 14px;display:flex}.v4-app .trip-head:hover{background:var(--wash)}.v4-app .trip-date{background:var(--wash);border:1px solid var(--line);text-align:center;border-radius:4px;flex:none;padding:7px 9px;line-height:1.05}.v4-app .trip-date b{font-family:var(--cond);font-size:17px;display:block}.v4-app .trip-date span{color:var(--faint);text-transform:uppercase;letter-spacing:.12em;margin-top:2px;font-size:9.5px;display:block}.v4-app .trip-date small{color:var(--muted);font-size:9.5px;font-family:var(--mono);margin-top:3px;display:block}.v4-app .trip-info{flex:1;min-width:0}.v4-app .t-route{font-size:14px;font-weight:700}.v4-app .t-sub{color:var(--muted);margin-top:2px;font-size:10.5px;line-height:1.45}.v4-app .t-eco{text-align:center;border-radius:4px;flex:none;padding:7px 10px;line-height:1.1}.v4-app .t-eco b{font-family:var(--cond);font-size:19px;display:block}.v4-app .t-eco small{text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin-top:2px;font-size:9.5px;display:block}.v4-app .s-plum{background:var(--plum-dim);color:var(--plum);border:1px solid #e7c4d1}html.dark .v4-app .s-plum{border-color:#5a2438}.v4-app .s-amber{background:var(--amber-dim);color:var(--amber-text);border:1px solid #ead9bb}html.dark .v4-app .s-amber{border-color:#4a3210}.v4-app .s-red{background:var(--red-dim);color:var(--red);border:1px solid #ebc3c3}html.dark .v4-app .s-red{border-color:#5a2424}.v4-app .trip-body{border-top:1px solid var(--line);padding:2px 15px 15px;display:none}.v4-app .trip.open .trip-body{display:block}.v4-app .trip.open .trip-head .chev{transform:rotate(90deg)}.v4-app .t-ev{color:var(--muted);border-top:1px dashed var(--line);margin-top:2px;padding-top:11px;font-size:11px;line-height:1.6}.v4-app .t-del{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding-top:11px;display:flex}.v4-app .t-del-hint{color:var(--text);flex:220px;min-width:0;font-size:11.5px;line-height:1.55}.v4-app .t-del-actions{flex:none;gap:8px;display:flex}.v4-app .t-del-btn,.v4-app .t-del-cancel{cursor:pointer;border-radius:10px;min-height:44px;padding:10px 16px;font-size:12px;font-weight:700;transition:background .15s,color .15s,border-color .15s}.v4-app .t-del-btn{color:var(--muted);border:1px dashed var(--line);background:0 0}.v4-app .t-del-btn:hover{color:var(--red);border-color:var(--red);border-style:solid}.v4-app .t-del-go{background:var(--red-dim);color:var(--red);border:1px solid #ebc3c3}html.dark .v4-app .t-del-go{border-color:#5a2424}.v4-app .t-del-go:hover{background:var(--red);color:#fff;border-color:var(--red)}.v4-app .t-del-cancel{color:var(--muted);border:1px solid var(--line);background:0 0}.v4-app .t-del-cancel:hover{color:var(--text)}.v4-app .t-del-err{color:var(--red);flex:100%;font-size:11px;line-height:1.5}.v4-app .adm-grid{grid-template-columns:1fr;gap:10px;display:grid}.v4-app .adm-tbl{border-collapse:collapse;width:100%;font-size:11.5px}.v4-app .adm-tbl th{text-align:left;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:2px solid var(--line2);white-space:nowrap;padding:7px 9px;font-size:9.5px;font-weight:700}.v4-app .adm-tbl td{border-bottom:1px solid var(--line);vertical-align:top;padding:7px 9px}.v4-app .adm-tbl td.mono{font-family:var(--mono);white-space:nowrap;font-size:10.5px}.v4-app .adm-tbl tr:last-child td{border-bottom:none}.v4-app .param-grid{grid-template-columns:1fr 1fr;gap:0 26px;display:grid}.v4-app .param{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:12px;display:flex}.v4-app .param span{color:var(--muted)}.v4-app .param b{font-family:var(--mono);text-align:right;font-size:11.5px;font-weight:600}.v4-app .param small{color:var(--faint);font-size:9.5px;font-weight:400;font-family:var(--cond);margin-top:1px;display:block}.v4-app .doc-grid{grid-template-columns:minmax(220px,340px) 1fr;gap:0 26px;display:grid}.v4-app .doc-log{align-self:start;padding-top:2px}.v4-app .doc-log-cap{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:7px;font-size:10px}.v4-app .doc-log ul{gap:5px;list-style:none;display:grid}.v4-app .doc-log li{color:var(--muted);font-size:11.5px;line-height:1.45}.v4-app .doc-log li b.c-plum{font-family:var(--mono);font-size:10.5px;font-weight:700}.v4-app .doc-log s,.v4-app .param small s{color:var(--faint);text-decoration:line-through}.v4-app .param b.c-plum{color:var(--plum)}@media (max-width:720px){.v4-app .doc-grid{grid-template-columns:1fr}.v4-app .doc-log{border-top:1px dashed var(--line);padding-top:8px}}.v4-app .ingest-diag{background:var(--wash);border:1px solid var(--line);border-radius:4px;margin-top:12px;padding:10px 12px}.v4-app .ingest-diag .param{border-bottom:none;padding:0}.v4-app .ingest-hint{letter-spacing:.02em;color:var(--faint);text-transform:none;margin-top:6px;font-size:10.5px;line-height:1.5}.v4-app .ingest-list-wrap{margin-top:8px}.v4-app .ingest-list{flex-direction:column;gap:3px;max-height:148px;margin:4px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.v4-app .ingest-list li{color:var(--muted);border-bottom:1px dotted var(--line);grid-template-columns:84px 78px 1fr auto;align-items:baseline;gap:8px;padding:2px 0;font-size:11px;line-height:1.4;display:grid}.v4-app .ingest-list li:last-child{border-bottom:none}.v4-app .ingest-list .mono{font-family:var(--mono);font-size:10.5px}.v4-app .ingest-sample-wrap{margin-top:8px}.v4-app .ingest-sample{background:var(--bg,#faf9f7);border:1px dashed var(--line2);font-family:var(--mono);color:var(--ink,#2a2723);white-space:pre-wrap;word-break:break-all;border-radius:4px;max-height:132px;margin:4px 0 0;padding:8px 10px;font-size:10.5px;line-height:1.5;overflow-y:auto}.v4-app .ingest-raw-btn{border:1px solid var(--line2);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;margin-top:6px;padding:5px 10px;font-size:10.5px;line-height:1;transition:border-color .15s,color .15s}.v4-app .ingest-raw-btn:hover:not(:disabled){border-color:var(--plum,#7c5c8e);color:var(--plum,#7c5c8e)}.v4-app .ingest-jump{font-family:var(--cond);letter-spacing:.06em;color:var(--plum);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin:0 0 12px;padding:2px 0;font-size:11px;font-weight:700;text-decoration:underline;display:block}.v4-app .ingest-jump:hover{color:var(--plum-deep)}.v4-app .ingest-jump:focus-visible{outline:2px solid var(--plum);outline-offset:2px}.v4-app .ingest-raw-btn:disabled{opacity:.55;cursor:default}.v4-app .ingest-sample.ingest-raw{max-height:320px;margin-top:6px}@media (max-width:720px){.v4-app .ingest-list li{grid-template-columns:76px 1fr auto}.v4-app .ingest-list li span:nth-child(2){display:none}.v4-app .ingest-diag .param{flex-direction:column;gap:2px}.v4-app .ingest-diag .param b{font-size:11px}.v4-app .ingest-sample{max-height:110px;font-size:10px}}.v4-app .pipe-bar{border:1px solid var(--line2);border-radius:2px;height:14px;margin-bottom:9px;display:flex;overflow:hidden}.v4-app .pipe-bar i{height:100%}.v4-app .pipe-leg{color:var(--muted);flex-wrap:wrap;gap:14px;margin-bottom:13px;font-size:10.5px;display:flex}.v4-app .pipe-leg em{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:5px;font-style:normal;display:inline-block}.v4-app .legacy-grid{border-top:2px dashed var(--line2);grid-template-columns:1fr;gap:10px;margin-top:22px;padding-top:22px;display:grid}.v4-app .legacy-grid-2col{grid-template-columns:1fr 1fr;gap:10px;display:grid}.v4-app .legacy-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:15px}.v4-app .legacy-card h3{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;margin-bottom:11px;font-size:12px;font-weight:700;display:flex}.v4-app .legacy-card h3 .num{font-family:var(--mono);color:var(--plum);letter-spacing:.08em;font-size:10px}.v4-app .legacy-card .desc{color:var(--faint);margin-bottom:11px;font-size:10.5px;line-height:1.5}@media (max-width:840px){.v4-app .beh-grid{grid-template-columns:1fr}.v4-app .gg-svg{max-width:250px}.v4-app .score-grid{grid-template-columns:1fr}}@media (max-width:640px){.v4-app .kpi-grid{grid-template-columns:repeat(2,1fr)}.v4-app .pf-hero{grid-template-columns:1fr}.v4-app .tsum-stats{grid-template-columns:repeat(2,1fr)}.v4-app .ev-grid,.v4-app .cmp-grid{grid-template-columns:repeat(3,1fr)}.v4-app .param-grid{grid-template-columns:1fr}.v4-app .sp-pcts span{font-size:12px}.v4-app .sp-ticks span b{font-size:10px}.v4-app .sp-ticks span{font-size:9.5px}.v4-app .legacy-grid-2col{grid-template-columns:1fr}}@media (max-width:560px){.v4-app .seg-row{grid-template-columns:92px 1fr 112px;gap:8px}.v4-app .seg-delta{font-size:10.5px}.v4-app .seg-delta b{font-size:11.5px}.v4-app .pf-val{font-size:38px}.v4-app .r-last{display:none}.v4-app .adm-tbl{font-size:10.5px}.v4-app .adm-tbl td,.v4-app .adm-tbl th{padding:6px}.v4-app .brand h1{font-size:21px}}.v4-app .hidden{display:none}.v4-app .block{display:block}.v4-app .v4-wrap{padding:14px 12px calc(80px + env(safe-area-inset-bottom));padding-top:max(14px, env(safe-area-inset-top))}@media (min-width:768px){.v4-app .v4-wrap{padding:22px 16px 90px;padding-top:max(22px, env(safe-area-inset-top))}}.v4-app .topbar{padding-top:max(0px, env(safe-area-inset-top));scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:8px;margin-bottom:8px;overflow-x:auto}.v4-app .topbar::-webkit-scrollbar{display:none}.v4-app .brand{flex:none;min-width:0}.v4-app .brand h1{letter-spacing:.06em;font-size:14px}.v4-app .brand .brand-logo{height:20px}.v4-app .v4-bookmarks{flex:none;gap:3px}.v4-app .v4-bookmark{letter-spacing:.04em;border-radius:5px 5px 0 0;padding:6px 8px;font-size:11px}@media (max-width:767px){.v4-app .v4-bookmark{min-height:40px;padding:9px 10px}}.v4-app .v4-bookmark-label{display:none}.v4-app .v4-bookmark-icon{display:inline-flex}.v4-app .v4-topbar-active-label{display:none}@media (min-width:480px){.v4-app .brand h1{font-size:16px}.v4-app .brand .brand-logo{height:22px}.v4-app .v4-bookmark{padding:7px 10px;font-size:12px}.v4-app .v4-bookmark-label{display:inline}}@media (min-width:640px){.v4-app .brand h1{letter-spacing:.08em;font-size:18px}.v4-app .brand .brand-logo{height:24px}}@media (min-width:768px){.v4-app .brand h1{letter-spacing:.09em;font-size:20px}.v4-app .brand .brand-logo{height:26px}.v4-app .topbar{flex-wrap:nowrap;gap:6px;margin-bottom:6px;overflow-x:visible}.v4-app .v4-bookmark{letter-spacing:.08em;padding:7px 12px;font-size:13px}.v4-app .v4-topbar-active-label{letter-spacing:.09em;margin-left:2px;display:inline-block}}.v4-app .topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.v4-app .iconbtn{border-radius:8px;width:44px;height:44px;font-size:13px}.v4-app .iconbtn .kbd-mini{display:none}@media (min-width:768px){.v4-app .iconbtn{border-radius:6px;width:32px;height:32px;font-size:12px}}.v4-app .textbtn{border-radius:8px;min-width:44px;min-height:44px;padding:10px 12px;font-size:12px}.v4-app .textbtn .v4-textbtn-label{display:none}@media (min-width:768px){.v4-app .textbtn{border-radius:4px;min-width:auto;min-height:auto;padding:6px 10px;font-size:11px}.v4-app .textbtn .v4-textbtn-label{display:inline}}.v4-app .v4-desktop-tabs,.v4-app .v4-mobile-tabs{display:none}.v4-app .v4-bottom-nav{z-index:50;background:var(--panel);border-top:1px solid var(--line2);padding-bottom:env(safe-area-inset-bottom);padding-top:4px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #2b142014}html.dark .v4-app .v4-bottom-nav{box-shadow:0 -2px 12px #0006}.v4-app .v4-bottom-nav-item{cursor:pointer;min-width:44px;min-height:56px;color:var(--muted);font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:6px 4px 8px;font-size:10px;font-weight:700;transition:all .15s;display:flex}.v4-app .v4-bottom-nav-item:hover{color:var(--text)}.v4-app .v4-bottom-nav-item.active{color:var(--plum)}.v4-app .v4-bottom-nav-icon{justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.v4-app .v4-bottom-nav-label{letter-spacing:.06em;font-size:10px}@media (min-width:768px){.v4-app .v4-bottom-nav{display:none}}.v4-app .v4-hamburger{border:1px solid var(--line2);background:var(--panel);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.v4-app .v4-hamburger:hover{border-color:var(--plum);color:var(--plum)}.v4-app .v4-hamburger.is-open{background:var(--ink);color:var(--fg-on-dark);border-color:var(--ink)}.v4-app .v4-mobile-current{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--plum);font-size:13px;font-weight:700}.v4-app .pills{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-padding-inline:4px}.v4-app .pills::-webkit-scrollbar{display:none}.v4-app .pill{scroll-snap-align:start;flex:none;min-height:36px;padding:8px 14px}.v4-app .pills-row{flex-direction:column;align-items:stretch;gap:8px}.v4-app .pills-row .pills{flex:auto;width:100%}.v4-app .trip-filter{flex-shrink:1;width:100%}.v4-app .trip-filter-btn{justify-content:space-between;width:100%;min-height:44px;padding:10px 12px;font-size:12.5px}.v4-app .trip-filter-popover{width:calc(100vw - 24px);max-width:calc(100vw - 24px);left:0;right:auto}.v4-app .trip-filter-search{min-height:44px;padding:12px 14px;font-size:14px}.v4-app .trip-filter-item{min-height:44px;padding:12px}@media (min-width:640px){.v4-app .pills-row{flex-flow:wrap;align-items:center;gap:10px}.v4-app .trip-filter{flex-shrink:0;width:auto}.v4-app .trip-filter-btn{justify-content:flex-start;width:auto;padding:6px 10px}.v4-app .trip-filter-popover{width:280px;max-width:calc(100vw - 32px);left:auto;right:0}}.v4-app .kpi-grid{grid-template-columns:repeat(2,1fr);gap:8px}.v4-app .kpi{padding:11px 12px 32px}.v4-app .kpi .val{font-size:22px}@media (min-width:480px){.v4-app .kpi .val{font-size:24px}}@media (min-width:768px){.v4-app .kpi-grid{grid-template-columns:repeat(4,1fr);gap:10px}.v4-app .kpi .val{font-size:27px}.v4-app .kpi{padding:12px 12px 34px}}@media (min-width:1024px){.v4-app .kpi-grid{grid-template-columns:repeat(7,1fr)}}.v4-app .score-grid{grid-template-columns:1fr;gap:14px}.v4-app .bullet-num b{font-size:34px}@media (min-width:768px){.v4-app .score-grid{grid-template-columns:1fr 1fr;gap:10px}.v4-app .bullet-num b{font-size:38px}}.v4-app .gg-svg{max-width:220px}.v4-app .beh-grid{grid-template-columns:1fr;gap:10px}@media (min-width:840px){.v4-app .beh-grid{grid-template-columns:300px 1fr}}.v4-app .seg-row{grid-template-columns:1fr;gap:6px;padding:11px 0}.v4-app .seg-row .seg-name{font-size:13px}.v4-app .seg-row .seg-delta{text-align:left;font-size:11.5px}.v4-app .seg-row .seg-delta .spd{justify-content:flex-start}.v4-app .seg-row .bullet{min-width:0}@media (min-width:560px){.v4-app .seg-row{grid-template-columns:minmax(104px,148px) 1fr 128px;gap:11px;padding:9px 0}.v4-app .seg-row .seg-delta{text-align:right;font-size:12px}.v4-app .seg-row .seg-delta .spd{justify-content:flex-end}}.v4-app .pf-hero{grid-template-columns:1fr;gap:12px}.v4-app .pf-val{font-size:36px}@media (min-width:640px){.v4-app .pf-hero{grid-template-columns:1.3fr 1fr;gap:14px}.v4-app .pf-val{font-size:46px}}.v4-app .sp-bar{height:14px}.v4-app .sp-pcts span{font-size:12px}.v4-app .sp-ticks span{font-size:9.5px}.v4-app .sp-ticks span b{font-size:10px}@media (min-width:768px){.v4-app .sp-bar{height:22px}.v4-app .sp-pcts span{font-size:14px}.v4-app .sp-ticks span{font-size:9.5px}.v4-app .sp-ticks span b{font-size:11.5px}}.v4-app .stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.v4-app .stat .v{font-size:17px}@media (min-width:640px){.v4-app .stats-grid{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:9px}.v4-app .stat .v{font-size:19px}}.v4-app .tsum-stats{grid-template-columns:repeat(2,1fr);gap:8px}.v4-app .tsum-stats b{font-size:16px}@media (min-width:640px){.v4-app .tsum-stats{grid-template-columns:repeat(4,1fr);gap:9px}.v4-app .tsum-stats b{font-size:18px}}.v4-app .param-grid{grid-template-columns:1fr;gap:0}@media (min-width:640px){.v4-app .param-grid{grid-template-columns:1fr 1fr;gap:0 26px}}.v4-app .legacy-grid-2col{grid-template-columns:1fr;gap:10px}@media (min-width:768px){.v4-app .legacy-grid-2col{grid-template-columns:1fr 1fr}}.v4-app .trip-head{flex-wrap:wrap;gap:8px;padding:11px 12px}.v4-app .trip-info{flex:100%;order:3;width:100%;min-width:0}.v4-app .trip-date{padding:6px 8px}.v4-app .trip-date b{font-size:15px}.v4-app .t-eco{padding:8px 12px}.v4-app .t-eco b{font-size:17px}.v4-app .trip .chev{flex:none}.v4-app .trip-body{padding:2px 12px 13px}.v4-app .tsum-main{flex-wrap:wrap;gap:6px 10px;margin-bottom:10px}.v4-app .tsum-main b{font-size:18px}@media (min-width:560px){.v4-app .trip-head{flex-wrap:nowrap;gap:13px;padding:12px 14px}.v4-app .trip-info{order:initial;flex:auto;width:auto}.v4-app .trip-date{padding:7px 9px}.v4-app .trip-date b{font-size:17px}.v4-app .t-eco b{font-size:19px}.v4-app .trip-body{padding:2px 15px 15px}.v4-app .tsum-main{flex-wrap:nowrap;gap:10px;margin-bottom:12px}.v4-app .tsum-main b{font-size:20px}}.v4-app .seg-total{flex-wrap:wrap;gap:8px;padding-top:9px;font-size:11px}.v4-app .trend-svg{height:64px}@media (min-width:768px){.v4-app .trend-svg{height:88px}}.v4-app .sec-head{flex-wrap:wrap;gap:4px 10px;padding-bottom:8px}.v4-app .sec-sub{text-align:left;width:100%;margin-left:0;font-size:10.5px}@media (min-width:640px){.v4-app .sec-head{flex-wrap:nowrap;gap:10px;padding-bottom:6px}.v4-app .sec-sub{text-align:right;width:auto;margin-left:auto}}.v4-app .session-top{gap:6px;font-size:12px}.v4-app .s-lab{font-size:9.5px}.v4-app .cap-row{grid-template-columns:60px 1fr 52px;gap:8px}@media (min-width:640px){.v4-app .cap-row{grid-template-columns:74px 1fr 64px;gap:10px}}.v4-app .heat-7c{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.v4-app .heat i{padding:6px 2px;font-size:10px}.v4-app .heat i small{font-size:9px}@media (min-width:768px){.v4-app .heat i{padding:7px 3px;font-size:10.5px}.v4-app .heat i small{font-size:9.5px}}.v4-app .adm-tbl-wrap{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.v4-app .adm-tbl-wrap .adm-tbl{min-width:540px}.v4-app .adm-tbl th,.v4-app .adm-tbl td{padding:9px 8px}@media (min-width:768px){.v4-app .adm-tbl th,.v4-app .adm-tbl td{padding:7px 9px}}.v4-app .route-head,.v4-app .acc summary,.v4-app .trip-head{min-height:44px}@media (max-width:767px){html.dark .v4-app{--muted:#c8b6c2;--faint:#a1909c}}.v4-app .v4-drawer [data-slot=sheet-content]{background:var(--panel);color:var(--text);border-left:2px solid var(--ink);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);width:100%;max-width:320px}.v4-app .v4-drawer [data-slot=sheet-overlay]{background:#2b14208c}.v4-app .v4-drawer [data-slot=sheet-title]{color:var(--ink);font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:16px 18px 10px;font-size:11px;font-weight:700}.v4-app .v4-drawer [data-slot=sheet-header]{gap:0;padding:0}.v4-app .v4-drawer .v4-drawer-tab{min-height:56px;font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);cursor:pointer;background:0 0;border-top:none;border-left:3px solid #0000;border-right:none;align-items:center;gap:12px;width:100%;padding:14px 18px;font-size:16px;font-weight:700;transition:all .15s;display:flex}.v4-app .v4-drawer .v4-drawer-tab:hover{background:var(--wash);color:var(--text)}.v4-app .v4-drawer .v4-drawer-tab.active{color:var(--plum);border-left-color:var(--plum);background:var(--plum-dim)}.v4-app .v4-drawer .v4-drawer-num{font-family:var(--mono);color:var(--plum);letter-spacing:.08em;flex:none;min-width:24px;font-size:11px}.v4-app .v4-drawer [data-slot=sheet-close]{width:36px;height:36px;color:var(--muted);border-radius:6px;top:14px;right:14px}.v4-app .v4-drawer [data-slot=sheet-close]:hover{color:var(--plum)}.v4-app svg{max-width:100%}.v4-app .map-wrap{overflow:hidden}.v4-app .elev svg{width:100%}.v4-app .seg-delta .p{word-break:break-word;font-size:9px}.v4-app .v4-show-mobile{display:initial}.v4-app .v4-show-desktop{display:none}@media (min-width:768px){.v4-app .v4-show-mobile{display:none}.v4-app .v4-show-desktop{display:initial}}.v4-app .stale-banner{background:var(--amber-dim);border:1px solid var(--line2);border-left:3px solid var(--amber);border-radius:5px;align-items:center;gap:14px;margin-bottom:14px;padding:12px 14px;display:flex}.v4-app .stale-banner-main{flex:auto;min-width:0}.v4-app .stale-banner-main b{text-transform:uppercase;letter-spacing:.1em;color:var(--amber-text);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.v4-app .stale-banner-main span{color:var(--muted);font-size:11.5px;line-height:1.55;display:block}.v4-app .stale-banner-btn{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;color:var(--amber-text);background:var(--panel);border:1px solid var(--amber);cursor:pointer;border-radius:4px;flex:none;min-height:44px;padding:0 14px;font-size:11px;font-weight:700;transition:background .15s,color .15s}.v4-app .stale-banner-btn:hover{background:var(--amber);color:#fff}.v4-app .stale-banner-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.v4-app .diag-row{color:var(--muted);align-items:center;gap:8px;margin-bottom:14px;display:flex}.v4-app .diag-row svg{color:var(--plum)}.v4-app .diag-last{font-size:12px;line-height:1.5}.v4-app .diag-last b{font-weight:700}.v4-app .diag-url,.v4-app .diag-test{margin-bottom:14px}.v4-app .diag-url-label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.v4-app .diag-url-row{background:var(--wash);border:1px solid var(--line);border-radius:4px;align-items:stretch;gap:8px;padding:8px 10px;display:flex}.v4-app .diag-url-row code{min-width:0;font-family:var(--mono);color:var(--text);word-break:break-all;flex:auto;align-self:center;font-size:10.5px;line-height:1.5}.v4-app .diag-copy{flex:none}.v4-app .diag-url-hint{color:var(--faint);margin-top:5px;font-size:10.5px;line-height:1.5;display:block}.v4-app .diag-test-row{align-items:stretch;gap:8px;display:flex}.v4-app .diag-token{flex:auto;min-width:0;font-size:12px}.v4-app .diag-run{flex:none;min-height:44px}.v4-app .diag-result{border:1px solid var(--line2);border-radius:4px;margin-top:10px;padding:10px 12px}.v4-app .diag-ok{background:var(--plum-dim);border-left:3px solid var(--plum)}.v4-app .diag-err{background:var(--red-dim);border-left:3px solid var(--red)}.v4-app .diag-warn{background:var(--amber-dim);border-left:3px solid var(--amber)}.v4-app .diag-result-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.v4-app .diag-result-head b{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.v4-app .diag-ok .diag-result-head b{color:var(--plum)}.v4-app .diag-err .diag-result-head b{color:var(--red)}.v4-app .diag-warn .diag-result-head b{color:var(--amber-text)}.v4-app .diag-result-head .mono{font-family:var(--mono);color:var(--muted);font-size:10px}.v4-app .diag-result p{color:var(--muted);margin:0;font-size:11.5px;line-height:1.55}.v4-app .diag-raw{margin-top:8px}.v4-app .diag-raw summary{text-transform:uppercase;letter-spacing:.1em;color:var(--faint);cursor:pointer;font-size:10.5px;font-weight:700}.v4-app .diag-raw pre{background:var(--wash);border:1px solid var(--line);font-family:var(--mono);color:var(--muted);white-space:pre-wrap;word-break:break-word;border-radius:4px;margin:6px 0 0;padding:8px 10px;font-size:10px;line-height:1.5;overflow-x:auto}.v4-app .diag-checklist{margin-top:4px}.v4-app .diag-checklist>summary{text-transform:uppercase;letter-spacing:.1em;color:var(--plum);cursor:pointer;align-items:center;min-height:32px;font-size:11px;font-weight:700;display:flex}.v4-app .diag-checklist>summary::marker{color:var(--plum)}.v4-app .diag-checklist ol{margin:6px 0 0;padding-left:20px}.v4-app .diag-checklist li{color:var(--muted);margin-bottom:6px;font-size:11.5px;line-height:1.6}.v4-app .diag-checklist li b{color:var(--text);font-weight:700}@media (max-width:767px){.v4-app .stale-banner{flex-direction:column;align-items:stretch;gap:10px}.v4-app .stale-banner-btn{width:100%}.v4-app .diag-url-row{flex-direction:column}.v4-app .diag-copy{align-self:flex-end}.v4-app .diag-test-row{flex-direction:column}.v4-app .diag-run{width:100%}}@media (max-width:380px){.v4-app .pill{letter-spacing:.02em;padding:8px 9px;font-size:11.5px}.v4-app .pills{gap:4px}}.v4-app .trip-filter-btn>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@keyframes v4-chip-pulse{0%,to{opacity:1}50%{opacity:.45}}.v4-app .chip-live{animation:1.6s ease-in-out infinite v4-chip-pulse}@media (prefers-reduced-motion:reduce){.v4-app .chip-live{animation:none}}.v4-app .frag-head{border-top:1px dashed var(--line);text-transform:uppercase;letter-spacing:.1em;color:var(--faint);justify-content:space-between;align-items:baseline;margin-top:2px;padding:9px 2px 6px;font-size:10px;display:flex}.v4-app .frag-list{border:1px solid var(--line);background:var(--panel2);border-radius:6px;overflow:hidden}.v4-app .frag-row{color:var(--muted);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 10px;font-size:11px;display:flex}.v4-app .frag-row:last-child{border-bottom:none}.v4-app .frag-row b{font-family:var(--mono);color:var(--text);flex:none;font-weight:600}.v4-app .frag-row>span{flex:none}.v4-app .frag-row>span:first-of-type{color:var(--text);font-weight:600}.v4-app .frag-row .chip{margin-left:auto}@media (max-width:480px){.v4-app .frag-row{flex-wrap:wrap;gap:7px;padding:6px 8px;font-size:10.5px}.v4-app .frag-row .chip{margin-left:0}}@media (max-width:767px){.v4-app .v4-bookmarks,.v4-app .v4-desktop-only{display:none}.v4-app .brand{flex:auto;min-width:0;overflow:hidden}.v4-app .brand h1{text-overflow:ellipsis;overflow:hidden}.v4-app .topbar-actions{flex-wrap:nowrap;flex:none}}
