.trip-page{max-width:1800px;margin:auto;padding:40px 28px 64px;color:#032e3d}.trip-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.trip-heading h1{font-size:clamp(32px,3.5vw,54px);letter-spacing:-2px;margin:8px 0 12px;line-height:1.12}.trip-heading p{color:#5a7180;margin:0}.trip-workspace{display:grid;grid-template-columns:310px minmax(320px,1fr) 340px;grid-gap:22px;gap:22px;align-items:start}.trip-assumptions,.trip-battery,.trip-controls,.trip-results{background:white;border:1px solid #dfe8ed;border-radius:22px;padding:22px;min-width:0}.trip-controls{background:#f7f9fb}.trip-page label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:650;margin:15px 0;color:#234857}.trip-page input:not([type=checkbox]),.trip-page select,.trip-page textarea{width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid #cddce3;border-radius:11px;background:white;color:#123c4b;font:inherit;box-sizing:border-box}.trip-page input:focus,.trip-page select:focus,.trip-page textarea:focus{outline:2px solid #078b93;outline-offset:2px}.trip-page small{font-size:12px;font-weight:400;color:#5a7180;line-height:1.65}.trip-page button:disabled{opacity:.55;cursor:wait}.trip-panel-heading{margin:12px 0 18px}.trip-panel-heading:not(:first-child){margin-top:26px;border-top:1px solid #dfe8ed;padding-top:24px}.trip-panel-heading h2{font-size:18px;margin:8px 0;letter-spacing:-.4px}.trip-page .eyebrow{font-size:11px;letter-spacing:1.5px}.trip-text-button{background:none;border:0;color:#206b80;text-align:left;padding:10px 0;font:inherit;font-size:13px;font-weight:700;cursor:pointer;min-height:44px}.trip-two-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.trip-vehicle-card{background:#eef4f6;border-radius:14px;padding:15px}.trip-vehicle-card strong{font-size:14px}.trip-note,.trip-vehicle-card p{font-size:12px;line-height:1.7;color:#5a7180}.trip-vehicle-card p{margin:7px 0}.trip-page summary{cursor:pointer;font-weight:700;font-size:13px;min-height:44px;display:list-item;padding:12px 0}.trip-preferences{border-top:1px solid #dfe8ed;margin:20px 0 12px}.trip-page fieldset{border:0;padding:0}.trip-page legend{font-size:13px;font-weight:650}.trip-plugs{display:flex;flex-wrap:wrap;gap:8px}.trip-page .trip-check,.trip-page .trip-plugs label{flex-direction:row;align-items:flex-start;font-size:12px;line-height:1.7;font-weight:400}.trip-page input[type=checkbox]{accent-color:#087d70;width:18px;height:18px;flex:0 0 auto;margin-top:2px}.trip-page .button-primary,.trip-page .button-secondary{font-size:13px;min-height:44px;padding:12px 18px;text-align:center}.trip-calculate{width:100%}.trip-chat{border-top:1px solid #dfe8ed;margin-top:22px;padding-top:22px}.trip-chat p{font-size:13px;line-height:1.7}.trip-waypoint{display:flex;gap:10px;align-items:center}.trip-waypoint label{flex:1 1}.trip-waypoint button{border:0;background:none;font-size:24px;color:#597682;min-height:44px;min-width:32px}.trip-map-column{min-width:0}.trip-map-frame{height:540px;position:relative;border:1px solid #dfe8ed;border-radius:22px;overflow:hidden;background:#eef4f5}.trip-map{height:100%;width:100%}.trip-map-loading{display:flex;align-items:center;justify-content:center}.trip-map-intro{position:absolute;top:30px;left:22px;right:56px;max-width:370px;padding:26px;background:rgba(255,255,255,.96);border:1px solid #e1e9ed;border-radius:18px;pointer-events:none}.trip-map-intro h2{font-size:30px;line-height:1.18;letter-spacing:-1px;margin:10px 0}.trip-map-intro p{font-size:14px;line-height:1.65;color:#5a7180}.trip-map-pin{width:34px;height:34px;border:3px solid white;border-radius:50%;background:#053747;color:white;display:flex;align-items:center;justify-content:center;font:700 13px sans-serif;box-shadow:0 2px 8px #032e3d44}.trip-map-charger{background:#ffcb29;color:#032e3d;cursor:pointer}.trip-map-notice{position:absolute;bottom:30px;left:10px;right:10px;background:white;padding:12px;border-radius:10px;font-size:12px}.trip-battery{margin-top:20px}.trip-battery h3{font-size:17px;margin:0 0 14px}.trip-battery svg{width:100%;overflow:visible}.trip-battery text{font-size:10px;fill:#5a7180}.trip-battery circle{cursor:pointer}.trip-battery circle:focus{outline:2px solid #032e3d}.trip-battery p{font-size:13px;margin:4px 0}.trip-assumptions{margin-top:18px;font-size:12px;line-height:1.8}.trip-assumptions ul{padding-left:18px}.trip-assumptions li{margin-bottom:12px}.trip-summary-sheet>summary{font-size:18px;list-style:none;letter-spacing:-.4px}.trip-empty{text-align:left;padding:26px 0 10px}.trip-empty-symbol{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#fff4cb;color:#86680d;font-size:30px}.trip-empty h2{font-size:26px;line-height:1.2;letter-spacing:-.8px}.trip-empty p{font-size:14px;color:#5a7180;line-height:1.8}.trip-alert,.trip-notice{padding:14px 16px;border-radius:12px;font-size:13px;line-height:1.7;margin:0 0 16px;background:#fff5e5;color:#795219;border:1px solid #ecd9b6}.trip-notice{background:#eff7fa;color:#22596c;border-color:#cfe2ec}.trip-status{display:block;padding:9px 12px;font-size:12px;border-radius:8px;background:#eaf5ef;color:#176550;line-height:1.7;margin:12px 0 18px}.trip-status-infeasible{background:#fff0e8;color:#963a22}.trip-status-ordinary{background:#edf3f7;color:#496a7b}.trip-metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px 10px;gap:20px 10px;margin:22px 0}.trip-metrics small{display:block;font-size:11px}.trip-metrics strong{display:block;font-size:20px;letter-spacing:-.6px;line-height:1.5}.trip-explanation{font-size:13px;line-height:1.9;padding-top:18px;border-top:1px solid #e1e9ed}.trip-stop-list>article{border:1px solid #dfe8ed;border-radius:14px;padding:14px;margin:14px 0}.trip-stop-button{display:flex;gap:12px;align-items:flex-start;background:none;border:0;padding:0;text-align:left;color:#123c4b;width:100%;cursor:pointer}.trip-stop-button>span{background:#ffcb29;border-radius:50%;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:800}.trip-stop-button strong{font-size:13px;line-height:1.6}.trip-stop-button small{display:block;margin-top:4px}.trip-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 12px;align-items:center}.trip-save{border-top:1px solid #dfe8ed;padding-top:12px;margin-top:24px}.trip-shared-link{display:flex;flex-direction:column;gap:5px;margin-top:16px;font-size:13px}.trip-shared-link code{font-size:11px;overflow-wrap:anywhere}.trip-shared-link small{display:block}.trip-stop-dialog{border:1px solid #dfe8ed;border-radius:22px;padding:24px;width:min(580px,calc(100% - 24px));max-height:85dvh;color:#123c4b;background:white}.trip-stop-dialog::-webkit-backdrop{background:#002e3d66}.trip-stop-dialog::backdrop{background:#002e3d66}.trip-dialog-close{display:block;margin-left:auto;min-height:44px;cursor:pointer;border:0;background:#edf3f7;color:#123c4b;padding:10px 18px;border-radius:20px}.trip-stop-detail h3{font-size:25px;letter-spacing:-.5px;line-height:1.25}.trip-stop-detail p{font-size:13px;line-height:1.8}.trip-stop-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;padding:18px;background:#f0f6f6;border-radius:14px}.trip-stop-grid small,.trip-stop-grid strong{display:block}.trip-stop-detail dl{display:grid;grid-template-columns:1fr 1.4fr;grid-gap:12px;gap:12px;font-size:13px;line-height:1.6}.trip-stop-detail dt{color:#5a7180}.trip-stop-detail dd{margin:0}.trip-vehicle-editor{position:fixed;inset:0;z-index:1000;background:#002e3d77;overflow-y:auto;padding:40px 20px}.trip-vehicle-editor>form{max-width:800px;margin:auto;background:white;padding:30px;border-radius:22px}.trip-vehicle-editor .copilot-check:has(input:not([required])){display:none}.trip-shared-page{max-width:1050px}.trip-shared-page .trip-map-frame{margin:22px 0}.trip-shared-page>h1{font-size:40px}.trip-revoke{margin-top:30px;border-top:1px solid #dfe8ed;padding-top:20px}@media (min-width:1450px){.trip-map-frame{height:650px}.trip-workspace{grid-template-columns:330px minmax(350px,1fr) 355px}}@media (max-width:1200px){.trip-workspace{grid-template-columns:300px minmax(0,1fr)}.trip-results{grid-column:2}.trip-controls{grid-row:1/span 2}.trip-map-frame{height:490px}.trip-metrics{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.trip-page{padding:24px 16px 45px}.trip-heading{display:block;margin-bottom:22px}.trip-heading h1{letter-spacing:-1.2px}.trip-heading p{font-size:14px;line-height:1.8;margin-bottom:18px}.trip-workspace{display:flex;flex-direction:column;gap:16px}.trip-controls,.trip-map-column,.trip-results{width:100%;box-sizing:border-box}.trip-controls{padding:18px}.trip-controls .trip-panel-heading{margin-top:0}.trip-controls .trip-panel-heading:not(:first-child){padding-top:18px;margin-top:18px}.trip-map-frame{height:430px}.trip-map-intro{padding:20px}.trip-map-intro h2{font-size:26px}.trip-metrics{grid-template-columns:repeat(2,1fr)}.trip-summary-sheet>summary{list-style:disclosure-open}.trip-results{border-radius:24px 24px 14px 14px;padding:20px}.trip-summary-sheet:not([open])>summary{list-style:disclosure-closed}.trip-stop-dialog{margin:auto 0 0;width:100%;max-width:100%;box-sizing:border-box;border-radius:24px 24px 0 0;max-height:80dvh;padding:20px}.trip-stop-dialog:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:#ccdce3;margin:0 auto 12px}.trip-vehicle-editor{padding:14px}.trip-vehicle-editor>form{padding:20px}.trip-battery{padding:18px}.trip-stop-grid{padding:12px}.trip-stop-detail h3{font-size:22px}}.trip-vehicle-editor{border:0;width:min(850px,calc(100% - 28px));max-width:none;max-height:90dvh;height:auto;inset:auto;padding:0;border-radius:22px;background:white}.trip-vehicle-editor::-webkit-backdrop{background:#002e3d77}.trip-vehicle-editor::backdrop{background:#002e3d77}.trip-vehicle-editor>form{box-sizing:border-box;width:100%}.trip-controls:has(.trip-calculate:disabled){cursor:progress}.trip-chat-collapse>summary,.trip-vehicle-settings>summary{display:none}.trip-vehicle-settings{margin-top:26px;border-top:1px solid #dfe8ed;padding-top:18px}@media (max-width:760px){.trip-vehicle-settings{margin-top:10px;padding-top:0;margin-bottom:12px}.trip-chat-collapse>summary,.trip-vehicle-settings>summary{display:list-item}.trip-chat-collapse{margin-top:12px;border-top:1px solid #dfe8ed}.trip-chat{border-top:0;margin-top:0;padding-top:6px}.trip-map-column{scroll-margin-top:95px}}.trip-map-selected{background:#087d70;color:white;box-shadow:0 0 0 5px #087d7044,0 2px 8px #032e3d44}