.commute-view-control{position:relative}
.commute-view-button{color:#315f79}
.commute-view-button:hover{background:#eaf4f9}
.commute-view-popover{position:fixed;top:94px;left:12px;z-index:41;box-sizing:border-box;width:calc(100vw - 24px);max-height:calc(100vh - 106px);overflow:auto;padding:14px;border:1px solid #cbd8e0;border-radius:6px;background:#fff;box-shadow:0 12px 32px #152b3d38;color:#344553}
.commute-view-popover[hidden]{display:none}
.commute-view-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid #e3e9ed}
.commute-view-eyebrow{margin:0 0 3px;color:#718a9a;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em}
.commute-view-heading h2{margin:0;color:#304554;font-size:18px;line-height:1.2}
.commute-view-route{display:flex;align-items:center;gap:8px}
.commute-view-timezone{display:inline-flex;align-items:center;gap:7px;margin:5px 0 2px;color:#627987;font-size:10px;font-weight:650}
.commute-view-timezone select{min-height:25px;padding:2px 22px 2px 7px;border:1px solid #bfd2dc;border-radius:4px;background:#f7fafb;color:#315f79;font-family:inherit;font-size:10px;font-weight:600;cursor:pointer}
.commute-view-timezone select:focus-visible{outline:2px solid #3a94bb;outline-offset:2px}
.commute-view-week-nav{display:inline-flex;gap:3px}
.commute-view-week-nav button{width:26px;height:24px;padding:0;border:1px solid #bfd2dc;border-radius:4px;background:#f5f9fb;color:#315f79;font:700 17px/1 Arial,sans-serif;cursor:pointer}
.commute-view-week-nav button:hover{background:#e4f0f5}
.commute-view-week-nav button:disabled{background:#f1f3f4;color:#9aa8b1;cursor:default;opacity:.7}
.commute-view-week-nav button:focus-visible{outline:2px solid #3a94bb;outline-offset:2px}
.commute-view-heading #commute-view-summary{margin:3px 0 0;color:#74838e;font-size:10px}
.commute-view-interpolation-warning{color:#b33f3f;font-weight:700}
.flight-visualizer-heading-copy{display:flex;flex:1;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.flight-visualizer-test-note{max-width:350px;margin:0;padding:8px 11px;border:1px dashed #c6d4dc;border-radius:5px;background:#f7fafb;color:#647987;font-size:10px;line-height:1.45}
.flight-visualizer-heading .commute-view-close{margin-left:0}
@media(max-width:700px){.flight-visualizer-heading-copy{align-items:flex-start;flex-direction:column;gap:7px}.flight-visualizer-test-note{max-width:none}}
.commute-view-close{flex:none;width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:#73828d;font-size:22px;line-height:1;cursor:pointer}
.commute-view-close:hover{background:#edf2f5}
.commute-view-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px 12px;box-sizing:border-box;width:min(980px,100%);padding-top:8px}
.commute-estimates-toggle{display:inline-flex;align-items:center;gap:5px;color:#526a79;font-size:10px;font-weight:650;cursor:pointer}
.commute-estimates-toggle input{width:13px;height:13px;margin:0;accent-color:#347f9b}
.commute-connections-toggle{padding:5px 8px;border:1px dashed #aebfc8;border-radius:4px;background:#f7f9fa;color:#405462;font-family:inherit;font-size:10px;font-weight:650;cursor:pointer}
.commute-connections-toggle[aria-pressed="true"]{border-color:#d84545;background:#fff0f0;color:#a42f2f}
.commute-connections-toggle:disabled{border-color:#c8d1d6;background:#f1f3f4;color:#9ca8af;cursor:default;opacity:.65}
.commute-view-auto-double-status{padding:5px 8px;border:1px solid #cbb8dc;border-radius:4px;background:#f7f1fa;color:#67427d;font-size:10px;font-weight:650;line-height:1.3}
.commute-view-auto-double-status[hidden]{display:none}
.commute-view-auto-double-status.is-off{border-color:#e4c98e;background:#fff8e8;color:#775b23}
.commute-view-legend{display:flex;align-items:center;flex-wrap:wrap;gap:6px 13px;color:#657783;font-size:9px}
.commute-view-legend span{display:inline-flex;align-items:center;gap:5px}
.commute-view-legend .estimated-schedule-key{display:inline-flex;align-items:center;gap:5px}
.estimated-schedule-key i{display:inline-block;width:10px;height:10px;border:1px solid #8547a5b8;border-radius:2px;background:#fff}
.legend-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;background:#238653}
.legend-swatch.connecting{background:#d84545}
.legend-swatch.direct-inbound{background:#e58a30}
.legend-swatch.estimated-schedule{border:1px solid #8547a5b8;background:#fff}
.commute-view-calendar-scroll{overflow:auto;padding-top:9px}
.commute-view-calendar{display:grid;grid-template-columns:repeat(7,140px);width:max-content;min-width:980px;border-top:1px solid #cbd7df;border-left:1px solid #cbd7df}
.commute-view-day{min-width:0;border-right:1px solid #cbd7df;border-bottom:1px solid #cbd7df;background:#f8fafb}
.commute-view-day:nth-child(even){background:#f2f6f8}
.commute-view-day>h3{position:sticky;top:0;z-index:2;margin:0;padding:6px 3px;border-bottom:1px solid #d6e0e6;background:#e8eff3;color:#435866;text-align:center;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.025em}
.commute-view-sides{display:grid;grid-template-columns:1fr 1fr;min-height:0}
.commute-view-direction{min-width:0;padding:4px 2px 5px}
.commute-view-direction+.commute-view-direction{border-left:1px solid #dce5ea}
.commute-view-direction h4{margin:0 0 4px;color:#238653;text-align:center;font:700 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:0}
.commute-view-direction.to-home h4{color:#b96a20}
.commute-view-timeline{position:relative;min-height:0}
.commute-view-timeline{position:relative;min-height:320px;background:linear-gradient(to bottom,#f6faf7 0 49.7%,#dce5ea 49.7% 50.1%,#f8fbf5 50.1% 100%);background-size:100% 320px}
.commute-view-time-mark{position:absolute;left:2px;z-index:0;transform:translateY(-50%);padding:1px 2px;background:#f6faf7;color:#718077;font:700 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
.commute-view-time-mark:first-child{transform:none}
.commute-view-option{position:absolute;z-index:1;left:3px;right:2px;box-sizing:border-box;min-height:40px;margin:0;padding:0;border-left:3px solid #238653;background:#e8f5ed;color:#394d59;font-size:7px;line-height:1.2;overflow-wrap:anywhere}
.commute-view-direction.to-home .commute-view-option{border-left-color:#e58a30;background:#fff1e3}
.commute-view-option.has-connection,.commute-view-direction.to-home .commute-view-option.has-connection{border-left-color:#d84545;background:#fff0f0}
.commute-view-option.is-extrapolated{outline:1px solid #8547a5b8;outline-offset:1px}
.commute-view-option .commute-estimate-label{color:#754090;font-weight:700}
.commute-view-option strong,.commute-view-option span,.commute-view-option small{display:block}
.commute-view-option strong{margin-bottom:0;color:#314b5a;font:700 7px ui-monospace,SFMono-Regular,Menlo,monospace}
.commute-view-option span{font-variant-numeric:tabular-nums}
.commute-view-option small{margin-top:1px;color:#7a8992;font-size:6px}
.commute-view-none,.commute-view-more{margin:0;color:#89959d;font-size:8px;line-height:1.35}
.commute-view-more{padding:3px 0 0 3px;color:#657884}
.commute-view-empty-timeline{padding:8px 3px}
.commute-view-note{margin:7px 0 0;color:#798791;font-size:9px;line-height:1.4}
.commute-view-empty{grid-column:1/-1;margin:0;padding:24px 12px;color:#6e7d88;text-align:center;font-size:12px}
.commute-view-empty-actions{padding-top:8px;text-align:right}
.commute-view-empty-actions[hidden]{display:none}
.commute-view-empty-actions button{padding:6px 10px;border:1px solid #76a9c1;border-radius:4px;background:#eff7fa;color:#315f79;font-size:10px;font-weight:650;cursor:pointer}
.commute-view-empty-actions button:hover{background:#e1f0f6}
@media(max-width:760px){.commute-view-popover{top:94px;left:8px;width:calc(100vw - 16px);padding:10px}.commute-view-calendar{min-width:980px}.commute-view-legend{gap:5px 9px}}

.commute-estimate-info{margin-top:8px;padding:7px 10px;border-left:3px solid #8547a5;border-radius:3px;background:#f7f1fa;color:#5e4672;font-size:10px;line-height:1.4}
.commute-estimate-info[hidden]{display:none}
.commute-view-day>h3.commute-view-holiday{background:#fff3de;color:#795322}
.commute-view-holiday small{display:block;margin-top:2px;font:600 8px Arial,sans-serif;letter-spacing:0}

.commute-view-direction-select{display:inline-flex;align-items:center;gap:6px;color:#526a79;font-size:10px;font-weight:650}
.commute-view-direction-select select{padding:4px 7px;border:1px solid #bfd2dc;border-radius:4px;background:#f7fafb;color:#315f79;font:inherit}
.commute-view-sides.single-direction{grid-template-columns:1fr}

.commute-view-week-nav #commute-view-today,.commute-view-week-nav #commute-view-bid-start{width:auto;padding:0 8px;font:700 10px Arial,sans-serif}
.commute-view-day.is-today{box-shadow:inset 0 0 0 2px #2585ad}
.commute-view-day.is-today>h3{background:#d9eff9;color:#155d7b;box-shadow:inset 0 -2px #2585ad}
.commute-view-today-label{display:block;margin-top:2px;font:700 8px Arial,sans-serif;letter-spacing:0;color:#155d7b}
