:root{--brand-blue:#008cff;--brand-blue-strong:#006ee6;--brand-blue-dark:#033b75;--brand-cyan:#00d4ff;--ink:#071b2e;--ink-soft:#173a59;--muted:#536f85;--line:#b8ddff;--line-strong:#70c4ff;--surface:#fff;--surface-soft:#f2f9ff;--surface-blue:#e7f5ff;--surface-blue-strong:#d8efff;--success:#00b878;--success-dark:#087654;--warning:#ffb020;--danger:#ff4f5e;--violet:#7657d6;--shadow-blue:0 18px 44px #005cd224;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eaf7ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}.calendar-provider-grid,.calendar-connection-list{gap:16px;display:grid}.calendar-provider-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:18px 0}.calendar-provider-card,.calendar-connection-card{border:1px solid var(--border,#d8dee8);background:var(--panel,#fff);border-radius:16px;padding:18px}.calendar-provider-card label,.calendar-selection-row{gap:6px;margin-top:12px;display:grid}.calendar-selection-row{grid-template-columns:auto 1fr;align-items:center}.calendar-privacy-warning{color:#704900;border-left:3px solid #c98500;padding-left:10px}.calendar-connection-card,.calendar-connection-actions{gap:12px;display:flex}.calendar-connection-card{flex-wrap:wrap;justify-content:space-between;align-items:flex-start}.calendar-connection-actions{flex-wrap:wrap;align-items:center}.schedule-source-badge{color:#075aa6;background:#e8f2ff;border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.schedule-imported-panel{grid-column:1/-1}.schedule-location-mapping{gap:4px;min-width:180px;display:grid}.schedule-location-mapping select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:6px 8px}.danger-button{color:#a32121}*{box-sizing:border-box}body{background:linear-gradient(135deg,#011830fa 0%,#005db4eb 34%,#e1f5fff0 34%,#f7fbff 100%),#f7fbff;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.auth-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{width:min(440px,100%);box-shadow:var(--shadow-blue);background:#fffffff5;border:1px solid #70c4ffb8;border-radius:8px;padding:28px}.auth-panel h1{color:var(--ink);text-shadow:none;font-size:2rem;line-height:1.08}.auth-panel button{border:1px solid var(--brand-color,var(--brand-blue));background:var(--brand-color,var(--brand-blue));color:#fff;border-radius:8px;padding:9px 12px;font-weight:850}.app-shell{grid-template-rows:auto 1fr;gap:18px;width:min(1600px,100% - 32px);min-height:100vh;margin:0 auto;padding:22px 0;display:grid}.topbar{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:16px;display:grid}.topbar h1{color:#fff;text-shadow:0 2px 18px #00193759}.topbar>div:first-child .eyebrow{color:var(--brand-cyan)}.demo-nav,.topbar-actions,.button-row,.legend-row,.factor-chips,.plan-evidence-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.demo-nav{justify-content:center}.demo-nav button,.reset-button,.button-row button{color:var(--ink);background:#ffffffe6;border:1px solid #70c4ffb8;border-radius:8px;padding:9px 12px;font-weight:850;box-shadow:0 8px 18px #004e9e17}.demo-nav button.active,.button-row button,.reset-button{border-color:var(--brand-color,var(--brand-blue));background:linear-gradient(135deg, var(--brand-color,var(--brand-blue)), var(--brand-blue-strong));color:#fff}.button-row button.secondary,.demo-nav button:not(.active){color:var(--brand-blue-dark);background:#ffffffeb}.reset-button:disabled,.button-row button:disabled{background:#8fb3cf;border-color:#8fb3cf}.topbar-actions{justify-content:flex-end}.topbar-demo-package-button{min-height:48px;color:var(--brand-blue-dark);background:#ffffffeb;border:1px solid #d8efffd1;border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-weight:850;display:inline-flex;box-shadow:0 12px 28px #00469129}.topbar-demo-package-button:hover,.topbar-demo-package-button:focus-visible{border-color:var(--brand-cyan);outline:none;box-shadow:0 0 0 3px #00d4ff38,0 12px 28px #00469129}.topbar-demo-package-button:disabled{color:#627d93;cursor:wait;background:#dbe9f3;border-color:#8fb3cf}.topbar-demo-package-icon{fill:currentColor;width:19px;height:19px}.global-alert{color:#9f1c2a;background:#fff0f3;border:1px solid #ffb4bb;border-radius:8px;grid-column:1/-1;padding:10px 12px;font-weight:800}.recommendation-action{color:var(--ink);font-weight:900}.eyebrow{color:var(--brand-blue-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:2.25rem;line-height:1}h2{margin-bottom:8px;font-size:1.35rem;line-height:1.12}h3{margin-bottom:8px;font-size:1.24rem;line-height:1.12}p{color:var(--ink-soft)}.topbar-status{text-align:right;background:#ffffffeb;border:1px solid #d8efffcc;border-radius:8px;min-width:132px;padding:10px 14px;display:grid;box-shadow:0 12px 28px #00469129}.topbar-status-button{cursor:pointer}.topbar-status-button:hover,.topbar-status-button:focus-visible{border-color:var(--brand-cyan);outline:none;box-shadow:0 0 0 3px #00d4ff38,0 12px 28px #00469129}.topbar-status span{color:var(--muted);font-size:.78rem;font-weight:700}.topbar-status strong{color:var(--brand-blue);font-size:1.45rem;line-height:1}.topbar-status-edit{text-align:left;gap:8px;min-width:220px}.topbar-status-edit label{gap:4px;display:grid}.topbar-battery-input-row{justify-content:flex-end;align-items:center;gap:5px;display:flex}.topbar-battery-input-row input{width:78px;color:var(--ink);text-align:right;border:1px solid #70c4ffe0;border-radius:8px;padding:6px 8px;font-weight:900}.topbar-battery-actions{justify-content:flex-end;gap:6px;display:flex}.topbar-battery-actions button{color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8;border-radius:8px;padding:6px 9px;font-size:.78rem;font-weight:850}.topbar-battery-actions button[type=submit]{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}.topbar-battery-actions button:disabled{color:#627d93;background:#dbe9f3;border-color:#8fb3cf}.topbar-account{display:inline-flex;position:relative}.topbar-account-button{width:48px;height:48px;color:var(--brand-blue-dark);background:#ffffffeb;border:1px solid #d8efffd1;border-radius:8px;place-items:center;display:grid;box-shadow:0 12px 28px #00469129}.topbar-account-button:hover,.topbar-account-button:focus-visible,.topbar-account-button[aria-expanded=true]{border-color:var(--brand-cyan);outline:none;box-shadow:0 0 0 3px #00d4ff38,0 12px 28px #00469129}.topbar-account-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:25px;height:25px}.topbar-account-menu{z-index:25;background:#fffffffa;border:1px solid #d8efffdb;border-radius:8px;gap:8px;min-width:min(270px,100vw - 32px);padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 36px #0046912e}.topbar-account-name{max-width:250px;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:850;overflow:hidden}.topbar-account-menu button{border:1px solid var(--brand-color,var(--brand-blue));background:var(--brand-color,var(--brand-blue));color:#fff;border-radius:8px;padding:8px 10px;font-weight:850}.planner-layout{grid-template-columns:minmax(520px,1fr);align-items:stretch;gap:12px;height:clamp(560px,100vh - 132px,820px);min-height:560px;display:grid;position:relative}.planner-layout.controls-pinned{grid-template-columns:minmax(328px,420px) minmax(520px,1fr)}.planner-layout.controls-floating{grid-template-columns:minmax(520px,1fr)}.planner-layout.controls-pinned.controls-closed{grid-template-columns:minmax(280px,300px) minmax(520px,1fr)}.page-slot{min-height:0}.loading-state{place-items:center;min-height:560px;margin:0;display:grid}.page-slot[hidden]{display:none}.control-panel{align-content:start;gap:14px;min-width:0;display:grid}.map-control-shell{grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;min-height:0;display:grid}.controls-pinned .map-control-shell{grid-column:1}.controls-floating .map-control-shell{z-index:5;width:min(420px,100% - 24px);position:absolute;top:0;bottom:0;left:0}.controls-closed .map-control-shell{grid-template-rows:auto}.controls-floating.controls-closed .map-control-shell{width:min(300px,100% - 24px)}.controls-pinned .map-stack{grid-column:2}.controls-floating .map-stack{grid-column:1}.map-control-tabs{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:6px;min-height:0;display:grid}.map-control-tabs button{min-height:42px;color:var(--ink-soft);text-align:center;background:#fffffff5;border:1px solid #536f8533;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 8px;font-size:.78rem;font-weight:900;line-height:1.1;display:flex;box-shadow:0 10px 22px #071b2e14}.map-control-tab-icon{color:currentColor;place-items:center;display:inline-grid}.map-control-tab-icon .map-quick-action-icon{width:17px;height:17px}.map-control-tab-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.controls-floating.controls-closed .map-control-tabs button{width:auto;min-height:42px;padding:7px 4px}.controls-floating.controls-closed .map-control-tab-icon .map-quick-action-icon{width:18px;height:18px}.map-control-tabs button.active{color:var(--ink);background:#f4fff9;border-color:#00b87880;box-shadow:inset 0 0 0 2px #00b87824,0 12px 24px #071b2e1a}.map-control-drawer{background:#fffffffa;border:1px solid #536f8529;border-radius:8px;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden;box-shadow:0 24px 56px #071b2e29}.map-drawer-toolbar{justify-content:flex-end;padding:8px 8px 0;display:flex}.map-pin-icon-button{width:40px;height:40px;color:var(--brand-blue-dark);background:#fff;border:1px solid #0066cc5c;border-radius:8px;place-items:center;padding:0;display:inline-grid;box-shadow:0 12px 26px #0046912e}.map-pin-icon-button svg{fill:currentColor;width:20px;height:20px}.map-pin-icon-button.active{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}.map-tab-panel{align-content:start;gap:12px;min-height:0;padding:12px 14px;display:grid;overflow:auto}.map-tab-panel .planner-form,.map-tab-panel .charger-search-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.map-tab-panel .recommendation-panel,.map-tab-panel .route-mode-panel,.map-tab-panel .tracking-log-panel,.map-tab-panel .route-charger-panel,.map-tab-panel .route-itinerary-panel,.map-tab-panel .optimisation-panel,.map-tab-panel .legend-panel{gap:10px;padding:12px}.map-tab-panel h2{font-size:1.08rem}.map-tab-panel .metric-row{padding:9px 12px}.recommendation-panel,.charger-search-panel,.planner-form,.route-mode-panel,.route-itinerary-panel,.journey-summary,.tracking-log-panel,.route-charger-panel,.optimisation-panel,.charger-card,.panel-heading,.lead-panel,.schedule-calendar-panel,.schedule-editor-panel,.week-panel,.timeline-panel,.completed-trip-panel,.insight-panel,.vehicle-panel,.month-panel,.comparison-panel,.settings-card,.panel-block,.legend-panel,.comparison-table,.learning-form{background:linear-gradient(180deg, var(--surface), var(--surface-soft));box-shadow:var(--shadow-blue);border:1px solid #b8ddffdb;border-radius:8px}.demo-grid{grid-template-columns:minmax(420px,1.4fr) minmax(280px,.8fr);align-items:start;gap:14px;display:grid}.schedule-grid{grid-template-columns:minmax(420px,1.25fr) minmax(300px,.75fr);align-items:start;gap:14px;display:grid}.settings-grid{grid-template-columns:repeat(2,minmax(320px,1fr));align-items:start;gap:14px;display:grid}.settings-tabs-shell{grid-template-columns:minmax(0,1fr)}.settings-tab-list{box-shadow:var(--shadow-blue);background:#f8fcff;border:1px solid #b8ddffdb;border-radius:8px;flex-wrap:wrap;gap:8px;padding:6px;display:flex}.settings-tab-list button{min-height:42px;color:var(--brand-blue-dark);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:9px 16px;font-size:.9rem;font-weight:900}.settings-tab-list button:hover{background:#e1f3ffd1;border-color:#71beffcc}.settings-tab-list button[aria-selected=true]{color:var(--ink);background:#fff;border-color:#71befff2;box-shadow:0 6px 14px #3276b81f}.settings-tab-panel{gap:14px;min-width:0;display:grid}.settings-tab-panel[hidden]{display:none}.lead-panel{border-color:#5cb9fff2;border-left:7px solid var(--brand-color,var(--brand-blue));background:linear-gradient(135deg,#008cff29,#fff0 36%),linear-gradient(#fff,#eef8ff);gap:18px;padding:20px;display:grid}.lead-panel h2{max-width:760px;font-size:1.7rem}.lead-panel p{max-width:860px;margin-bottom:0;font-size:1rem}.lead-metrics{grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;display:grid}.metric-card{background:linear-gradient(#fff,#eef8ff);border:1px solid #b8ddffc7;border-radius:8px;gap:4px;padding:11px 12px;display:grid}.metric-card span{color:var(--muted);font-size:.78rem;font-weight:800}.metric-card strong{color:var(--ink);overflow-wrap:anywhere;font-size:1.05rem}.week-panel,.timeline-panel,.completed-trip-panel,.insight-panel,.vehicle-panel,.schedule-calendar-panel,.schedule-editor-panel,.month-panel,.comparison-panel,.settings-card,.panel-block,.legend-panel,.comparison-table,.learning-form{gap:14px;padding:16px;display:grid}.week-panel,.timeline-panel,.completed-trip-panel{grid-column:1}.completed-trip-list{gap:10px;display:grid}.completed-trip-card{background:#fff;border:1px solid #70c4ffb8;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.completed-trip-card>span{gap:4px;display:grid}.completed-trip-card small{color:var(--muted)}.completed-trip-card button{flex:none}.completed-trip-evidence{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.completed-trip-evidence span{color:var(--muted);background:#f3faff;border:1px solid #b8ddffc7;border-radius:8px;gap:3px;padding:9px 10px;font-size:.78rem;display:grid}.completed-trip-evidence strong{color:var(--ink);font-size:.9rem}.insight-panel,.vehicle-panel{grid-column:2}.schedule-editor-panel,.schedule-calendar-panel,.month-panel,.comparison-panel{grid-column:1/-1}.comparison-panel p{margin-bottom:0}.schedule-calendar-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schedule-view-tabs{background:#f8fcff;border:1px solid #b8ddffdb;border-radius:8px;flex:none;gap:6px;padding:4px;display:flex}.schedule-view-tabs button{min-height:34px;color:var(--brand-blue-dark);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:7px 12px;font-size:.82rem;font-weight:900}.schedule-view-tabs button[aria-selected=true]{color:var(--ink);background:#fff;border-color:#71befff2;box-shadow:0 6px 14px #3276b81f}.schedule-tab-panel[hidden]{display:none}.schedule-week-view,.month-view{gap:12px;display:grid}.week-calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.week-calendar-toolbar strong{color:var(--ink);font-size:.95rem}.week-calendar-nav{gap:6px;display:flex}.week-calendar-nav button{min-width:36px;color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8;border-radius:8px;padding:7px 9px;font-weight:900}.week-calendar-grid{grid-template-columns:repeat(6,minmax(150px,1fr));gap:8px;padding-bottom:4px;display:grid;overflow-x:auto}.week-day-column{background:#fff;border:1px solid #b8ddffdb;border-radius:8px;align-content:start;gap:8px;min-height:320px;padding:10px;display:grid}.week-day-column.has-charge{background:#effaf3}.week-day-column.has-risk{background:#fff8ea}.week-day-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.week-day-date{gap:1px;min-width:0;display:grid}.week-day-date span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.week-day-date strong{color:var(--brand-blue-dark);font-size:1.3rem;line-height:1}.week-day-tools{flex:none;align-items:center;gap:5px;display:flex}.week-day-add{width:27px;height:27px;color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8;border-radius:8px;place-items:center;padding:0;font-size:1rem;font-weight:900;line-height:1;display:inline-grid}.week-day-soc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:800;overflow:hidden}.week-day-add-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.week-day-add-options button{min-width:0;color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8;border-radius:8px;padding:6px 7px;font-size:.74rem;font-weight:900}.week-marker-stack{align-content:start;gap:6px;max-height:min(54vh,520px);padding-right:2px;display:grid;overflow:auto}.week-marker-stack .muted{margin:0;font-size:.76rem}.week-marker-card{border:1px solid #b8ddffb8;border-left:4px solid var(--brand-blue);background:#ffffffdb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:5px;padding:5px;display:grid}.week-marker-card.charge{border-left-color:var(--success)}.week-marker-card.risk{border-left-color:var(--warning)}.week-marker-card.return-trip{background:#00b8781a}.week-marker-main{min-width:0;color:var(--ink-soft);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}button.week-marker-main{cursor:pointer}.week-marker-copy{gap:2px;min-width:0;display:grid}.week-marker-copy strong,.week-marker-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week-marker-copy strong{color:var(--ink);font-size:.78rem;line-height:1.15}.week-marker-copy small{color:var(--muted);font-size:.68rem;font-weight:800}.week-marker-actions{gap:3px;display:flex}.week-marker-actions button{width:24px;min-width:0;height:24px;color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffad;border-radius:7px;place-items:center;padding:0;display:inline-grid}.week-marker-actions .danger-inline{color:var(--danger);border-color:#ff8080b8}.week-marker-actions svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:13px;height:13px}.schedule-marker-hover-panel{color:var(--ink);background:#f4faff;border:1px solid #70c4ff94;border-radius:7px;grid-column:1/-1;gap:5px;padding:7px 8px;display:none;box-shadow:0 7px 18px #3276b81f}.schedule-marker-hover-panel.charge{background:#effaf3;border-color:#47b57e94}.week-marker-card:hover>.schedule-marker-hover-panel,.week-marker-card:focus-within>.schedule-marker-hover-panel{display:grid}.schedule-marker-hover-context{color:var(--brand-blue-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:900;overflow:hidden}.schedule-marker-hover-soc{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;font-size:.65rem;font-weight:800;display:grid}.schedule-marker-hover-soc>span{gap:1px;display:grid}.schedule-marker-hover-soc>span:last-child{text-align:right}.schedule-marker-hover-soc strong{color:var(--ink);font-size:.76rem}.schedule-forms{grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px;display:grid}.schedule-trip-form{max-width:980px}.schedule-form{background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;gap:12px;padding:14px;display:grid}.schedule-form h3{margin-bottom:0;font-size:1rem}.schedule-form label{gap:6px;display:grid}.schedule-form label span{color:var(--brand-blue-dark);font-size:.78rem;font-weight:800}.schedule-form button{background:linear-gradient(135deg, var(--brand-blue), var(--brand-blue-strong));color:#fff;border:0;border-radius:8px;padding:11px 14px;font-weight:900}.schedule-form button:disabled{background:#8fb3cf}.recurrence-panel,.route-options-panel,.charge-charger-panel{background:#fff;border:1px solid #b8ddffc7;border-radius:8px;gap:10px;margin:0;padding:12px;display:grid}.recurrence-panel legend,.route-options-panel legend,.charge-charger-panel legend{color:var(--brand-blue-dark);padding:0 4px;font-size:.78rem;font-weight:900}.charge-charger-panel small{color:var(--muted);font-weight:700}.charger-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.charger-search-row .secondary{color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8}.energy-basis{background:#fff;border:1px solid #b8ddffc7;border-radius:8px;gap:3px;padding:10px 12px;display:grid}.energy-basis span{color:var(--brand-blue-dark);font-size:.78rem;font-weight:800}.energy-basis strong{color:var(--ink);font-size:1rem}.energy-basis small{color:var(--muted);font-weight:700}.checkbox-row,.weekday-toggle{align-items:center;gap:8px;display:flex}.checkbox-row input,.weekday-toggle input{width:18px;height:18px;accent-color:var(--brand-blue)}.recurrence-fields{grid-template-columns:minmax(260px,1fr) minmax(180px,.45fr);gap:12px;display:grid}.weekday-toggle-grid{grid-template-columns:repeat(7,minmax(56px,1fr));gap:8px;display:grid}.weekday-toggle{min-height:40px;color:var(--brand-blue-dark);background:#f8fcff;border:1px solid #70c4ffb8;border-radius:8px;justify-content:center;padding:7px 8px;font-weight:850}.dialog-backdrop{z-index:20;background:#071b2e7a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.schedule-dialog{background:#fff;border:1px solid #70c4ffdb;border-radius:8px;width:min(620px,100%);max-height:min(780px,100vh - 36px);overflow:auto;box-shadow:0 28px 70px #00285a47}.schedule-dialog .schedule-form{background:#fff;border:0}.dialog-heading,.dialog-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-heading h2{margin-bottom:0}.schedule-dialog-status{color:var(--brand-blue-dark);background:#f3faff;border:1px solid #70c4ffb3;border-radius:8px;margin:0;padding:10px 12px;font-size:.9rem;font-weight:900}.predicted-trip-summary{background:linear-gradient(135deg,#008cff1a,#fff 72%);border:1px solid #70c4ffc7;border-radius:8px;gap:7px;padding:10px 12px;display:grid}.predicted-trip-summary-heading{color:var(--brand-blue-dark);text-transform:uppercase;font-size:.78rem;font-weight:900}.predicted-trip-soc{color:var(--brand-blue-dark);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.predicted-trip-soc>span:not([aria-hidden=true]){gap:1px;display:grid}.predicted-trip-soc>span:last-child{text-align:right}.predicted-trip-soc small,.predicted-trip-route{color:var(--muted);font-weight:800}.predicted-trip-soc strong{color:var(--ink);font-size:1.12rem}.predicted-trip-route{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialog-actions{justify-content:flex-end}.dialog-actions button{min-width:132px}.dialog-actions .danger-button{margin-right:auto}.dialog-actions .secondary,.schedule-form .icon-button{color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8}.schedule-form .icon-button{place-items:center;width:34px;min-width:34px;height:34px;padding:0;display:inline-grid}.event-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.event-list-item{width:100%;color:var(--ink);text-align:left;background:#fff;border:1px solid #b8ddffc7;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.event-list-copy{gap:4px;min-width:0;display:grid}.event-list-copy strong,.event-list-copy span{overflow-wrap:anywhere}.event-list span,.event-list button{color:var(--muted);font-size:.8rem;font-weight:850}.event-list .soc-range-line{color:var(--brand-blue-dark)}.event-list-actions,.selected-day-marker-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.event-list-actions button,.selected-day-marker-actions button,.selected-day-add-options button{color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8;border-radius:8px;padding:6px 9px;font-weight:900}.event-list-actions .danger-inline,.selected-day-marker-actions .danger-inline{color:var(--danger);border-color:#ff8080b8}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.month-weekdays span{color:var(--muted);text-align:center;font-size:.76rem;font-weight:900}.month-cell{min-height:88px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #b8ddffdb;border-radius:8px;align-content:start;gap:5px;padding:7px;display:grid;position:relative}.month-cell-top{justify-content:space-between;align-items:flex-start;gap:6px;min-width:0;display:flex}.month-cell-tools{flex:none;align-items:center;gap:4px;display:flex}.month-cell:focus-visible{outline-offset:2px;outline:3px solid #008cff47}.month-cell-day{width:max-content;color:var(--brand-blue-dark);text-align:left;background:0 0;border:0;border-radius:6px;padding:0}.month-cell-add{width:24px;height:24px;color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8;border-radius:8px;place-items:center;padding:0;font-size:1rem;font-weight:900;line-height:1;display:inline-grid}.month-cell-add-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;display:grid}.month-cell-add-options button{min-width:0;color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8;border-radius:8px;padding:5px 6px;font-size:.72rem;font-weight:900}.month-cell.outside-month{opacity:.48}.month-cell.active{border-color:var(--brand-blue);box-shadow:inset 0 0 0 2px #008cff3d}.month-cell.has-charge{background:#e9f8ef}.month-cell.has-risk{background:#fff5e4}.month-cell span{color:var(--brand-blue-dark);font-size:.76rem;font-weight:600}.month-cell-day span{font-size:.84rem;font-weight:700}.month-cell .month-day-soc{max-width:calc(100% - 30px);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;font-weight:600;line-height:1.1;display:block;overflow:hidden}.month-marker-stack{gap:3px;display:grid}.month-marker-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:4px;min-width:0;display:grid;position:relative}.month-marker-row-static{grid-template-columns:minmax(0,1fr)}.month-marker-row>.schedule-marker-hover-panel{z-index:5;width:100%;position:absolute;top:calc(100% + 3px);left:0}.month-marker-row:hover>.schedule-marker-hover-panel,.month-marker-row:focus-within>.schedule-marker-hover-panel{display:grid}.month-marker-row>.schedule-marker-hover-panel .schedule-marker-hover-soc{grid-template-columns:1fr}.month-marker-row>.schedule-marker-hover-panel .schedule-marker-hover-soc>span:last-child{text-align:left}.month-marker{width:100%;color:var(--ink-soft);background:#ffffffc7;border:0;border-radius:999px;gap:1px;padding:2px 5px;font-size:.64rem;font-style:normal;font-weight:600;line-height:1.1;display:grid;overflow:hidden}.month-marker-heading{align-items:center;gap:4px;min-width:0;display:flex}.month-marker .month-marker-label,.month-marker .month-marker-soc{color:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-marker .month-marker-label{min-width:0;font-size:.66rem;font-weight:650}.month-marker .month-marker-soc{opacity:.82;font-size:.58rem;font-weight:600}.month-marker.return-trip{color:var(--success-dark);background:#00b8781f}.month-marker-return-indicator{background:var(--success);color:#fff;border-radius:999px;flex:none;place-items:center;width:15px;height:15px;display:inline-grid}.month-marker-return-indicator svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:11px;height:11px}.month-marker.charge{color:var(--success-dark)}.month-marker.trip{color:var(--brand-blue-dark)}.month-marker.risk{color:#8a5b00}button.month-marker{text-align:left}.month-marker-actions{flex:none;gap:3px;display:flex}.month-marker-actions button{width:22px;min-width:0;height:22px;color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffad;border-radius:7px;place-items:center;padding:0;line-height:1;display:inline-grid}.month-marker-actions .danger-inline{color:var(--danger);border-color:#ff8080b8}.month-marker-actions svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:13px;height:13px}.selected-day-panel{background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;gap:8px;padding:12px;display:grid}.selected-day-panel p,.selected-day-marker-main{align-items:center;gap:8px;margin:0;display:flex}.selected-day-marker{width:100%;color:var(--ink-soft);text-align:left;background:#fff;border:1px solid #b8ddffb8;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.selected-day-soc,.selected-day-marker-copy small{color:var(--brand-blue-dark);font-size:.76rem;font-weight:900}.selected-day-marker-copy{gap:2px;min-width:0;display:grid}.selected-day-marker-copy span,.selected-day-marker-copy small{overflow-wrap:anywhere}.selected-day-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.selected-day-add{width:max-content;color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8;border-radius:8px;padding:7px 10px;font-weight:900}.selected-day-add-options{flex-wrap:wrap;gap:8px;display:flex}.marker-dot{background:var(--muted);border-radius:999px;flex:none;width:10px;height:10px}.marker-dot.charge{background:var(--success)}.marker-dot.risk{background:var(--warning)}.marker-dot.trip{background:var(--brand-blue)}.marker-dot.event{background:var(--violet)}.panel-title h2{margin-bottom:0}.day-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.day-card{border:1px solid #b8ddffc7;border-left:5px solid var(--success);background:#f8fcff;border-radius:8px;gap:8px;min-height:124px;padding:12px;display:grid}.day-card.charge-recommended{border-left-color:var(--brand-blue);background:linear-gradient(#edf8ff,#dff2ff)}.day-card.watch{border-left-color:var(--warning)}.day-card.risk{border-left-color:var(--danger)}.day-card span,.day-card small{color:var(--muted);font-size:.78rem;font-weight:800}.day-card strong{font-size:.98rem;line-height:1.2}.day-card-heading,.timeline-row-title{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.timeline-row-title{justify-content:flex-start}.timeline-row-title strong{min-width:0}.weather-chip{width:max-content;max-width:100%;color:var(--brand-blue-dark);white-space:nowrap;background:#fff;border:1px solid #70c4ff6b;border-radius:999px;align-items:center;gap:5px;padding:3px 7px;font-size:.72rem;font-weight:900;line-height:1;display:inline-flex}.weather-chip svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:0 0 15px;width:15px;height:15px}.weather-chip span{color:inherit;font:inherit}.weather-chip.sunny{color:#8a5b00;background:#fff8d7;border-color:#f7d86a}.weather-chip.sunny svg circle:first-child{fill:currentColor;stroke:none}.weather-chip.rain{color:#0064a7;background:#e9f6ff;border-color:#9fd4ff}.weather-chip.windy{color:#087568;background:#ecfbf8;border-color:#aadfd6}.weather-chip.cloudy,.weather-chip.unknown{color:#52687a;background:#f5f9fc;border-color:#cbd9e8}.weather-chip.compact{justify-content:center;width:27px;height:27px;padding:0}.day-card .weather-chip,.timeline-row .weather-chip{font-size:.72rem}.timeline-list,.risk-list,.metric-stack{gap:10px;display:grid}.timeline-row{border:1px solid #b8ddffc7;border-left:5px solid var(--success);background:#f8fcff;border-radius:8px;grid-template-columns:110px minmax(140px,1fr) auto;align-items:start;gap:10px 14px;padding:11px 12px;display:grid}.timeline-row.interactive{cursor:pointer}.timeline-row.interactive:hover,.timeline-row.interactive:focus-visible{border-color:#70c4fff2;outline:none;box-shadow:0 0 0 3px #70c4ff47}.timeline-row.watch{border-left-color:var(--warning)}.timeline-row.risky{border-left-color:var(--danger)}.timeline-row.charging{border-left-color:var(--brand-blue);background:#edf8ff}.timeline-row span,.timeline-row em{color:var(--muted);font-size:.8rem;font-style:normal;font-weight:850}.timeline-row p{grid-column:2/-1;margin:0;font-size:.88rem}.timeline-row small{color:var(--muted);grid-column:2/-1;font-weight:850}.risk-card{border:1px solid #ffe0a7;border-left:5px solid var(--warning);background:#fff9ec;border-radius:8px;gap:5px;padding:11px 12px;display:grid}.risk-card.risky{border-color:#ffc2c8;border-left-color:var(--danger);background:#fff1f3}.risk-card span{color:var(--muted);font-size:.8rem;font-weight:850}.risk-card p{margin-bottom:0;font-size:.9rem}.factor-chips span,.legend-dot{color:var(--brand-blue-dark);background:#edf8ff;border:1px solid #70c4ffa3;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:.78rem;font-weight:850;display:inline-flex}.plan-evidence-chips span{min-width:0;color:var(--ink-soft);overflow-wrap:anywhere;background:#fff;border:1px solid #071b2e1f;border-radius:999px;align-items:center;padding:7px 10px;font-size:.78rem;font-weight:900;line-height:1.1;display:inline-flex}.plan-evidence-chips.compact{gap:6px}.plan-evidence-chips.compact span{padding:5px 8px;font-size:.68rem}.plan-evidence-chips span.success{color:var(--success-dark);background:#effaf3;border-color:#00b87861}.plan-evidence-chips span.warning{color:#835100;background:#fff7e8;border-color:#ffd18a}.plan-evidence-chips span.danger{color:#9f1c2a;background:#fff1f3;border-color:#ffb4bb}.plan-evidence-chips span.info{color:var(--brand-blue-dark);background:#edf8ff;border-color:#70c4ffa3}.energy-conservation-tips{background:linear-gradient(135deg,#f1fbf6,#f7fcff);border:1px solid #00976f3d;border-radius:10px;gap:9px;padding:11px 12px;display:grid}.energy-conservation-tips-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.energy-conservation-tips-heading>strong{color:var(--success-dark);font-size:.88rem}.energy-conservation-tips-heading>span{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:850}.energy-conservation-tips ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.energy-conservation-tips li{border-top:1px solid #071b2e14;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding-top:7px;display:grid}.energy-conservation-tips li:first-child{border-top:0;padding-top:0}.energy-conservation-tips li strong{color:var(--ink);font-size:.8rem;display:block}.energy-conservation-tips li p{color:var(--ink-soft);margin:2px 0 0;font-size:.75rem;line-height:1.35}.energy-conservation-tip-saving{color:var(--success-dark);white-space:nowrap;background:#fff;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:950}.route-warning-chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.route-warning-chips span{color:#7b4a00;text-overflow:ellipsis;white-space:nowrap;background:#fff8e8;border:1px solid #f59e0b57;border-radius:999px;align-items:center;min-width:0;max-width:100%;padding:6px 9px;font-size:.72rem;font-weight:950;line-height:1.12;display:inline-flex;overflow:hidden}.route-warning-chips.compact{margin-top:-2px}.route-warning-chips.compact span{padding:4px 8px;font-size:.66rem}.legend-dot i{border-radius:999px;width:10px;height:10px;display:inline-block}.legend-dot i.comfortable{background:var(--success)}.legend-dot i.watch{background:var(--warning)}.legend-dot i.risky{background:var(--danger)}.legend-dot i.recommended{background:var(--brand-blue)}.legend-dot i.backup{background:var(--brand-cyan)}.legend-dot i.avoided{background:var(--danger)}.detail-grid,.comparison-page,.learning-page{grid-template-columns:minmax(380px,1.2fr) minmax(280px,.8fr);align-items:start;gap:14px;display:grid}.detail-lead,.comparison-page .lead-panel,.learning-page .lead-panel{grid-column:1/-1}.button-row.stacked{flex-direction:column;align-items:stretch}.button-row.stacked button{width:100%}.comparison-table{grid-column:1/-1;padding:0;overflow:hidden}.comparison-row{border-top:1px solid #b8ddffd1;border-left:6px solid #8fb3cf;grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(100px,.7fr));align-items:center;gap:12px;padding:13px 14px;display:grid}.comparison-row:first-child{border-top:0}.comparison-row.recommended{border-left-color:var(--brand-blue);background:#e8f6ff}.comparison-row.backup{border-left-color:var(--brand-cyan);background:#e9fbff}.comparison-row.avoided{border-left-color:var(--danger);background:#fff1f3}.comparison-row.supporting{border-left-color:var(--violet);background:#f3f0ff}.comparison-row span{gap:2px;min-width:0;display:grid}.comparison-row small{color:var(--muted);font-weight:850}.comparison-row em{color:var(--ink-soft);font-size:.86rem;font-style:normal;font-weight:850}.learning-form label{gap:6px;display:grid}.learning-form label span{color:var(--brand-blue-dark);font-size:.78rem;font-weight:850}.learning-form button{background:linear-gradient(135deg, var(--brand-color,var(--brand-blue)), var(--brand-blue-strong));color:#fff;border:0;border-radius:8px;padding:11px 14px;font-weight:900}.recommendation-panel{padding:16px}.recommendation-panel p:last-child{margin-bottom:0}.optimisation-panel{gap:12px;padding:16px;display:grid}.route-mode-panel{gap:12px;padding:14px;display:grid}.route-alternative-list{gap:8px;display:grid}.route-alternative-list button{width:100%;color:var(--ink);text-align:left;background:#fff;border:1px solid #b8ddffd1;border-left:5px solid #0000;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;padding:9px 10px;display:grid}.route-alternative-list button.active{border-color:#70c4ffe0;border-left-color:var(--brand-blue);background:#eef8ff}.route-alternative-list span{gap:2px;min-width:0;display:grid}.route-alternative-list strong,.route-alternative-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-alternative-list strong{font-size:.82rem;font-weight:950}.route-alternative-list small{color:var(--muted);font-size:.66rem;font-weight:850}.route-alternative-name strong{color:var(--brand-blue-dark)}.route-alternative-name{grid-column:1/-1}.route-alternative-risk{background:#effaf3;border-radius:8px;padding:5px 7px}.route-alternative-risk.watch,.route-alternative-risk.charging,.route-alternative-risk.backup{background:#fff8ea}.route-alternative-risk.risky{background:#fff1f3}.route-alternative-risk.comfortable strong{color:var(--success-dark)}.route-alternative-risk.watch strong,.route-alternative-risk.charging strong,.route-alternative-risk.backup strong{color:#7b4a00}.route-alternative-risk.risky strong{color:#9f1c2a}.route-itinerary-panel{gap:12px;padding:14px;display:grid}.route-details-disclosure,.route-itinerary-alternatives{background:#f8fcffeb;border:1px solid #b8ddffdb;border-radius:8px}.route-details-disclosure>summary,.route-itinerary-alternatives>summary{color:var(--brand-blue-dark);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:.78rem;font-weight:950;list-style:none;display:flex}.route-details-disclosure>summary::-webkit-details-marker{display:none}.route-itinerary-alternatives>summary::-webkit-details-marker{display:none}.route-details-disclosure>summary:after,.route-itinerary-alternatives>summary:after{content:"+";flex:none;font-size:1rem}.route-details-disclosure[open]>summary:after,.route-itinerary-alternatives[open]>summary:after{content:"−"}.route-details-disclosure>summary span{gap:2px;display:grid}.route-details-disclosure>summary small{color:var(--muted);font-size:.68rem;font-weight:800}.route-details-disclosure-content{border-top:1px solid #b8ddffb8;gap:12px;padding:12px;display:grid}.route-itinerary-alternatives>summary{padding:9px 11px}.route-itinerary-alternatives .route-itinerary-list{border-top:1px solid #b8ddffb8;padding:9px}.route-itinerary-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.route-itinerary-item{background:#fff;border:1px solid #b8ddffdb;border-left-width:5px;border-radius:8px;grid-template-columns:30px minmax(0,1fr) minmax(58px,auto);align-items:center;gap:9px;min-height:50px;padding:8px 10px;display:grid}.route-itinerary-item.start{border-left-color:var(--brand-blue)}.route-itinerary-item.waypoint{background:#f5fbf8;border-left-color:#087654}.route-itinerary-item.charge{border-left-color:var(--brand-cyan);background:#f2fcff}.route-itinerary-item.backup{background:#fff9ed;border-left-color:#ffb020}.route-itinerary-item.avoid{border-left-color:var(--danger);background:#fff4f5}.route-itinerary-item.finish{border-left-color:#071b2e}.route-itinerary-marker{color:#fff;background:#071b2e;border-radius:999px;place-items:center;width:28px;height:28px;font-size:.74rem;font-weight:950;line-height:1;display:inline-grid}.route-itinerary-item.start .route-itinerary-marker{background:var(--brand-blue)}.route-itinerary-item.waypoint .route-itinerary-marker{background:#087654}.route-itinerary-item.charge .route-itinerary-marker{color:#0a9668;background:#e9f8f1;border:2px solid #0a9668}.route-itinerary-item.backup .route-itinerary-marker,.route-itinerary-item.avoid .route-itinerary-marker{color:#6c7f8f;background:#f1f4f6;border:2px solid #6c7f8f}.route-itinerary-lightning-icon{fill:currentColor;width:16px;height:16px}.route-itinerary-copy{gap:2px;min-width:0;display:grid}.route-itinerary-copy strong,.route-itinerary-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-itinerary-copy strong{color:var(--ink);font-size:.86rem;line-height:1.2}.route-itinerary-copy small{color:var(--muted);font-size:.72rem;font-weight:800}.route-itinerary-copy .route-itinerary-leg{color:#3f6a7a;letter-spacing:0;text-transform:uppercase;font-size:.64rem;font-weight:950}.route-itinerary-copy .route-itinerary-capability{color:#136b4e;font-size:.68rem;font-weight:950}.route-itinerary-copy .route-itinerary-timing{color:#315f70;font-size:.68rem;font-weight:950}.route-itinerary-item em{color:var(--ink);text-align:right;white-space:nowrap;font-size:.82rem;font-style:normal;font-weight:950}.route-charger-panel{gap:12px;padding:14px;display:grid}.route-charger-panel p{color:var(--muted);margin:0;font-size:.88rem;font-weight:750}.route-charger-list{gap:8px;max-height:360px;padding-right:2px;display:grid;overflow:auto}.map-tab-panel .route-charger-list{max-height:220px}.route-charger-row{width:100%;color:var(--ink);text-align:left;background:#fff;border:1px solid #b8ddffdb;border-left-width:5px;border-radius:8px;grid-template-columns:minmax(0,1.45fr) repeat(4,minmax(58px,.5fr));align-items:center;gap:8px;padding:10px;display:grid}.route-charger-row:hover,.route-charger-row:focus-visible{border-color:var(--line-strong);background:#f4fbff}.route-charger-main,.route-charger-row>span{gap:2px;min-width:0;display:grid}.route-charger-main strong,.route-charger-row>span strong{overflow-wrap:anywhere;color:var(--ink);font-size:.84rem;line-height:1.2}.route-charger-main small,.route-charger-row>span{color:var(--muted);font-size:.72rem;font-weight:800}.route-charger-amenities{color:var(--brand-blue-dark)}.route-charger-evidence{flex-wrap:wrap;grid-column:1/-1;gap:4px;min-width:0;display:flex}.optimisation-panel h2{margin:0 0 6px;font-size:1rem}.optimisation-panel p:last-child{margin-bottom:0}.option-list{gap:8px;display:grid}.option-row{background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.map-tab-panel .option-row{flex-direction:column;align-items:flex-start}.map-tab-panel .option-row em{text-align:left;white-space:normal}.charger-title-row{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.charger-title-row h3{overflow-wrap:anywhere;min-width:0}.charger-quality-badge{min-width:48px;color:var(--ink);background:#fff;border:1px solid #b8ddffd1;border-radius:8px;place-items:center;padding:5px 7px;font-size:1rem;font-weight:950;line-height:1;display:inline-grid}.charger-quality-badge small{color:var(--muted);font-size:.58rem;font-weight:850}.charger-quality-badge.grade-a{color:var(--success-dark);background:#effaf3;border-color:#00b87880}.charger-quality-badge.grade-b{color:var(--brand-blue-dark);background:#eef8ff;border-color:#70c4ffb8}.charger-quality-badge.grade-c{color:#7b4a00;background:#fff8ea;border-color:#ffe0a7}.charger-quality-badge.grade-d{color:#9f1c2a;background:#fff1f3;border-color:#ffb4bb}.option-row.recommended{border-color:var(--line-strong);background:#e8f6ff}.option-row.backup{background:#e9fbff;border-color:#76e2ff}.option-row.avoided{background:#fff1f3;border-color:#ffb4bb}.option-row span{gap:2px;display:grid}.option-row small{color:var(--muted);font-weight:700}.option-row em{color:var(--ink-soft);text-align:right;white-space:nowrap;font-size:.78rem;font-style:normal;font-weight:800}.charger-search-panel,.settings-form,.planner-form{gap:12px;padding:14px;display:grid}.charger-search-panel{background:#fff;border-color:#536f852e;padding:16px;box-shadow:0 16px 34px #071b2e14}.charger-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.charger-results-panel{background:#fff;border:1px solid #536f8529;border-radius:8px;gap:8px;min-width:0;padding:9px;display:grid;box-shadow:0 10px 24px #1f293312}.charger-results-heading{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.charger-results-heading>div{justify-items:end;gap:2px;min-width:0;display:grid}.charger-results-heading span{color:#65717d;letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:900}.charger-results-heading strong{color:#202a36;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:950;overflow:hidden}.charger-results-heading small{color:#65717d;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.64rem;font-weight:850;overflow:hidden}.charger-results-list{gap:6px;min-width:0;display:grid}.charger-result-sort{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:0;display:grid}.charger-search-panel .charger-result-sort button{color:#4b5968;text-align:center;background:#f7f8f9;border:1px solid #75808c4d;border-radius:8px;min-height:34px;padding:7px 8px;font-size:.72rem;font-weight:900}.charger-search-panel .charger-result-sort button.active{color:#202a36;background:#f5faf6;border-color:#08765452;box-shadow:0 6px 14px #1f293314}.charger-result-data-coverage{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-width:0;display:grid}.charger-result-data-coverage>span{background:#fafbfc;border:1px solid #75808c38;border-radius:8px;gap:1px;min-width:0;padding:6px 7px;display:grid}.charger-result-data-coverage strong,.charger-result-data-coverage small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.charger-result-data-coverage strong{color:#202a36;font-size:.7rem;font-weight:950;line-height:1.15}.charger-result-data-coverage small{color:#65717d;letter-spacing:0;text-transform:uppercase;font-size:.57rem;font-weight:900;line-height:1.15}.charger-result-data-coverage .tone-source{background:#fff}.charger-result-data-coverage .tone-profile{background:#f5faf6;border-color:#0876543d}.charger-result-data-coverage .tone-status{background:#f4fafb;border-color:#2a7f9538}.charger-result-data-coverage .tone-fallback{background:#fff8e8;border-color:#b4741047}.charger-result-highlights{gap:5px;min-width:0;display:grid}.charger-search-panel .charger-result-highlights button{color:#202a36;text-align:left;background:#fff;border:1px solid #75808c47;border-radius:8px;grid-template-columns:minmax(72px,90px) minmax(88px,1fr) minmax(50px,96px);align-items:center;gap:7px;min-width:0;min-height:37px;padding:6px 8px;display:grid;box-shadow:0 5px 12px #1f293312}.charger-search-panel .charger-result-highlights button:hover,.charger-search-panel .charger-result-highlights button:focus-visible,.charger-search-panel .charger-result-highlights button.hovered{border-color:#5965736b;box-shadow:0 10px 20px #1f29331f}.charger-search-panel .charger-result-highlights button.active{background:#f5faf6;border-color:#08765457;box-shadow:0 10px 20px #1f29331f}.charger-result-highlight-label,.charger-result-highlight-name,.charger-result-highlight-metric{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.charger-result-highlight-label{color:#087654;letter-spacing:0;text-transform:uppercase;background:#f5faf6;border:1px solid #08765438;border-radius:999px;min-width:0;padding:3px 6px;font-size:.58rem;font-weight:950;line-height:1.15}.charger-result-highlight-name{color:#202a36;font-size:.7rem;font-weight:950;line-height:1.18}.charger-result-highlight-metric{color:#4b5968;justify-self:end;max-width:100%;font-size:.62rem;font-weight:900}.charger-search-panel .charger-result-row{color:#202a36;text-align:left;background:#fff;border:1px solid #75808c4d;border-left-width:3px;border-radius:8px;grid-template-columns:24px minmax(0,1fr) max-content;align-items:start;gap:4px 7px;min-width:0;min-height:0;padding:7px 8px;display:grid;box-shadow:0 5px 12px #1f293312}.charger-search-panel .charger-result-row.role-network{border-left-color:#75808cb8}.charger-search-panel .charger-result-row.role-recommended{border-left-color:#087654b8}.charger-search-panel .charger-result-row.role-backup,.charger-search-panel .charger-result-row.role-alternative,.charger-search-panel .charger-result-row.role-near-route{border-left-color:#b47410c2}.charger-search-panel .charger-result-row.role-avoided{border-left-color:#c4313db8}.charger-search-panel .charger-result-row:hover,.charger-search-panel .charger-result-row:focus-visible,.charger-search-panel .charger-result-row.hovered{border-color:#59657370;transform:translateY(-1px);box-shadow:0 10px 20px #1f29331c}.charger-search-panel .charger-result-row.selected{background:#f6faf7;border-color:#08765461;box-shadow:0 10px 20px #1f29331c}.charger-result-row .charger-result-index{grid-row:1/span 2;justify-items:center;gap:3px;width:22px;min-width:22px;display:grid}.charger-result-row .charger-result-rank{color:#202a36;background:#f7f8f9;border:1px solid #75808c52;border-radius:999px;place-items:center;width:22px;min-width:22px;height:22px;font-size:.66rem;font-weight:950;display:grid;box-shadow:inset 0 0 0 2px #fff}.charger-result-row.selected .charger-result-rank{color:#fff;background:#087654;border-color:#08765475}.charger-result-row .charger-result-quality{color:#4b5968;background:#fff;border:1px solid #75808c3d;border-radius:6px;place-items:center;width:22px;min-width:22px;height:17px;font-size:.56rem;font-weight:950;line-height:1;display:grid}.charger-result-row .charger-result-quality.grade-a{color:#087654;background:#effaf3;border-color:#00b8786b}.charger-result-row .charger-result-quality.grade-b{color:#2a6170;background:#f4fafb;border-color:#2a7f954d}.charger-result-row .charger-result-quality.grade-c{color:#7b4a00;background:#fff8e8;border-color:#f59e0b57}.charger-result-row .charger-result-quality.grade-d{color:#9f1c2a;background:#fff1f3;border-color:#c4313d47}.charger-result-row span{gap:2px;min-width:0;display:grid}.charger-result-row span.charger-result-index,.charger-result-row span.charger-result-rank,.charger-result-row span.charger-result-quality{min-width:22px}.charger-result-row strong,.charger-result-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.charger-result-row strong{color:#202a36;font-size:.76rem;font-weight:950}.charger-result-row small{color:#4b5968;font-size:.65rem;font-weight:850}.charger-result-main strong{overflow-wrap:anywhere;-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.12;display:-webkit-box;overflow:hidden}.charger-result-main small{white-space:nowrap;line-height:1.18}.charger-result-main .charger-result-row-highlights{flex-wrap:wrap;align-items:center;gap:3px;min-width:0;margin-top:1px;display:flex}.charger-result-main .charger-result-row-highlights span{color:#087654;text-transform:uppercase;white-space:nowrap;background:#f5faf6;border:1px solid #08765438;border-radius:999px;align-items:center;min-width:0;max-width:100%;padding:1px 5px;font-size:.56rem;font-weight:950;line-height:1.2;display:inline-flex}.charger-result-main .charger-result-row-amenities{flex-wrap:wrap;align-items:center;gap:3px;min-width:0;display:flex}.charger-result-main .charger-result-row-amenities span{color:#4b5968;white-space:nowrap;background:#fafbfc;border:1px solid #75808c38;border-radius:999px;align-items:center;min-width:0;max-width:100%;padding:1px 5px;font-size:.56rem;font-weight:900;line-height:1.2;display:inline-flex}.charger-result-row .charger-result-power{text-align:right;justify-items:end}.charger-result-row .charger-result-queue{flex-wrap:wrap;grid-column:2/-1;align-items:center;gap:4px;display:flex}.charger-result-row .charger-result-queue strong,.charger-result-row .charger-result-queue small{color:#27313b;background:#f7f8f9;border:1px solid #75808c3d;border-radius:999px;padding:1px 6px}.charger-result-row .charger-result-queue .charger-result-wait-evidence{letter-spacing:0;text-transform:uppercase;font-size:.56rem}.charger-result-row .charger-result-queue .charger-result-wait-evidence.tone-fallback{color:#7b4a00;background:#fff8e8;border-color:#f59e0b57}.charger-result-row .charger-result-queue .charger-result-wait-evidence.tone-profile{color:#006d56;background:#ecfff9;border-color:#00b8944d}.charger-result-row .charger-result-queue .charger-result-wait-evidence.tone-status{color:#2a6170;background:#f5fbfd;border-color:#2a7f9542}.charger-result-row .charger-result-evidence{scrollbar-width:none;flex-wrap:nowrap;grid-column:1/-1;gap:3px;min-width:0;padding-bottom:1px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 16px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 16px),#0000)}.charger-result-row .charger-result-evidence::-webkit-scrollbar{display:none}.charger-result-live-feed-note{color:#4b5968;background:#fff;border:1px solid #75808c38;border-radius:999px;align-items:center;gap:4px 6px;min-width:0;margin:0;padding:4px 7px;font-size:.6rem;line-height:1.15;display:flex}.charger-result-live-feed-note strong{color:#202a36;text-transform:uppercase;flex:none;font-size:.62rem;font-weight:950;line-height:1.15}.charger-result-live-feed-note span{color:#4b5968;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:780;overflow:hidden}.charger-result-live-feed-note.tone-fallback{background:#fffaf0;border-color:#f59e0b4d}.charger-result-live-feed-note.tone-status{background:#f5fbfd;border-color:#2a7f953d}.charger-result-row .charger-result-evidence-chip{color:#4b5968;text-overflow:ellipsis;white-space:nowrap;background:#f7f8f9;border:1px solid #75808c42;border-radius:999px;flex:none;align-items:center;min-width:0;max-width:100%;padding:1px 5px;font-size:.56rem;font-weight:900;line-height:1.15;display:inline-flex;overflow:hidden}.charger-result-evidence-chip.tone-source{color:#4b5968;background:#fff;border-color:#75808c4d}.charger-result-evidence-chip.tone-profile{color:#006d56;background:#ecfff9;border-color:#00b89452}.charger-result-evidence-chip.tone-fallback,.charger-result-evidence-chip.tone-static{color:#7b4a00;background:#fff8e8;border-color:#f59e0b57}.charger-result-evidence-chip.tone-status{color:#4b5968;background:#fff;border-color:#75808c47}.charger-result-evidence-chip.tone-selected{background:var(--success-dark);color:#fff;border-color:#00b87861}.route-option-callout{z-index:2;color:#202a36;cursor:pointer;text-align:left;background:#fffffff5;border:1px solid #1f29332e;border-left:5px solid #617181;border-radius:8px;gap:3px;min-width:132px;max-width:178px;padding:7px 9px;display:grid;box-shadow:0 12px 26px #1f29332e}.route-option-callout.risk-comfortable{border-left-color:var(--success-dark)}.route-option-callout.risk-watch{border-left-color:#b47410}.route-option-callout.risk-risky{border-left-color:#c4313d}.route-option-callout:hover,.route-option-callout:focus-visible{border-color:#1f29335c;transform:translateY(-1px);box-shadow:0 16px 34px #1f293338}.route-option-callout.active{z-index:2;border-color:#071b2eb8;border-left-color:var(--brand-blue);color:#fff;background:#071b2ef5;box-shadow:0 18px 38px #071b2e47}.route-option-callout-main,.route-option-callout-detail{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.route-option-callout-main strong,.route-option-callout-main small,.route-option-callout-detail span,.route-option-callout-detail small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-option-callout-main strong{color:inherit;font-size:.84rem;font-weight:950;line-height:1.1}.route-option-callout-main small{color:var(--success-dark);font-size:.62rem;font-weight:950;line-height:1.1}.route-option-callout-detail span{color:#4b5968;font-size:.66rem;font-weight:950;line-height:1.15}.route-option-callout-detail small{color:#5c6670;font-size:.6rem;font-weight:900;line-height:1.15}.route-option-callout.active .route-option-callout-main small,.route-option-callout.active .route-option-callout-detail span,.route-option-callout.active .route-option-callout-detail small{color:#ffffffc7}.route-endpoint-callout{z-index:3;border:1px solid #071b2e29;border-left:5px solid var(--brand-blue);min-width:112px;max-width:146px;color:var(--ink);pointer-events:none;background:#fffffff5;border-radius:8px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px;padding:6px 8px 6px 6px;display:grid;box-shadow:0 12px 26px #071b2e2e}.route-endpoint-callout.role-destination{border-left-color:#071b2e}.route-endpoint-callout.compact{min-width:0;max-width:none;box-shadow:none;background:0 0;border:0;grid-template-columns:1fr;padding:0;display:grid}.route-endpoint-callout.compact .route-endpoint-callout-marker{border:3px solid #fff;width:28px;height:28px;font-size:.76rem;box-shadow:0 8px 20px #071b2e4d}.route-endpoint-callout-marker{background:var(--brand-blue);color:#fff;border-radius:999px;place-items:center;width:22px;height:22px;font-size:.68rem;font-weight:950;line-height:1;display:grid}.route-endpoint-callout.role-destination .route-endpoint-callout-marker{background:#071b2e}.route-endpoint-callout-copy{gap:1px;min-width:0;display:grid}.route-endpoint-callout-copy span,.route-endpoint-callout-copy strong,.route-endpoint-callout-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-ferry-callout{z-index:4;min-width:132px;max-width:190px;color:var(--ink);background:#f5fbfff7;border:1px solid #1686d957;border-left:5px solid #1686d9;border-radius:9px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:7px;padding:7px 9px 7px 6px;display:grid;box-shadow:0 12px 28px #07488038}.route-ferry-callout:focus-visible{outline-offset:2px;outline:3px solid #1686d959}.route-ferry-callout-marker{color:#fff;background:#1686d9;border-radius:999px;place-items:center;width:24px;height:24px;font-size:.8rem;display:grid}.route-ferry-callout-copy{gap:1px;min-width:0;display:grid}.route-ferry-callout-copy strong,.route-ferry-callout-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-ferry-callout-copy strong{font-size:.7rem;font-weight:950}.route-ferry-callout-copy small{color:var(--ink-soft);font-size:.62rem;font-weight:850}.route-endpoint-callout-copy span{color:var(--muted);text-transform:uppercase;font-size:.56rem;font-weight:950}.route-endpoint-callout-copy strong{color:var(--ink);font-size:.78rem;font-weight:950}.route-endpoint-callout-copy small{color:var(--ink-soft);font-size:.62rem;font-weight:850}.route-stop-callout{--route-stop-color:#6c7f8f;--route-stop-surface:#f1f4f6;z-index:4;width:38px;height:41px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:center;align-items:center;padding:0 0 7px;display:flex;position:relative}.route-stop-callout.role-recommended,.route-stop-callout.selected{--route-stop-color:#0a9668;--route-stop-surface:#e9f8f1}.route-stop-callout:hover .route-stop-callout-card,.route-stop-callout:focus-visible .route-stop-callout-card,.route-stop-callout.selected .route-stop-callout-card{border-color:#071b2e52;box-shadow:0 18px 36px #071b2e40}.route-stop-callout:focus-visible{outline:0}.route-stop-callout.selected .route-stop-callout-card{outline-offset:2px;outline:3px solid #00b8783d}.route-stop-callout-card{border:1px solid #071b2e24;border-left:5px solid var(--route-stop-color);background:#fffffffa;border-radius:9px;gap:4px;width:198px;padding:7px 9px;transition:opacity .12s,transform .12s,visibility .12s;display:grid;position:absolute;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 14px 30px #071b2e33}.route-stop-callout-name{border:1px solid #071b2e24;border-left:4px solid var(--route-stop-color);width:max-content;max-width:164px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#fffffff5;border-radius:8px;padding:5px 8px;font-size:.65rem;font-weight:950;line-height:1.15;display:block;position:absolute;bottom:48px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 9px 20px #071b2e29}.route-stop-callout.role-backup .route-stop-callout-card{top:48px;bottom:auto;left:calc(50% - 100px)}.route-stop-callout.role-avoided:not(.selected) .route-stop-callout-card{visibility:hidden;opacity:0;transform:translate(-50%,5px)}.route-stop-callout.role-avoided:hover .route-stop-callout-card,.route-stop-callout.role-avoided:focus-visible .route-stop-callout-card{visibility:visible;opacity:1;transform:translate(-50%)}.route-stop-callout-heading,.route-stop-callout-specs,.route-stop-callout-trip{min-width:0;display:flex}.route-stop-callout-heading{gap:1px;display:grid}.route-stop-callout-heading span{color:var(--route-stop-color);text-transform:uppercase;font-size:.55rem;font-weight:950;line-height:1.1}.route-stop-callout-heading strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;font-weight:950;line-height:1.15;overflow:hidden}.route-stop-callout-specs{justify-content:space-between;align-items:baseline;gap:8px}.route-stop-callout-specs strong,.route-stop-callout-specs span{text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;font-weight:900;line-height:1.15;overflow:hidden}.route-stop-callout-specs strong{color:var(--ink)}.route-stop-callout-specs span{color:var(--success-dark)}.route-stop-callout-trip small{color:var(--ink-soft);text-overflow:ellipsis;white-space:normal;font-size:.59rem;font-weight:850;line-height:1.25;overflow:hidden}.route-stop-callout-pin{isolation:isolate;border:3px solid var(--route-stop-color);background:var(--route-stop-surface);width:34px;height:34px;color:var(--route-stop-color);border-radius:999px;place-items:center;display:grid;position:relative;box-shadow:0 0 0 2px #fff,0 12px 24px #071b2e4d}.route-stop-callout-pin:after{z-index:-1;border-right:3px solid var(--route-stop-color);border-bottom:3px solid var(--route-stop-color);background:var(--route-stop-surface);content:"";border-radius:0 0 4px;width:12px;height:12px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.route-stop-callout-marker{z-index:1;fill:currentColor;width:17px;height:17px;position:relative}.route-leg-callout{z-index:3;border:1px solid #071b2e29;border-left:5px solid var(--success-dark);width:190px;color:var(--ink);pointer-events:none;background:#fffffff7;border-radius:9px;gap:3px;padding:7px 9px;display:grid;box-shadow:0 12px 28px #071b2e2e}.route-leg-callout.compact{border-left-width:4px;gap:2px;width:168px;padding:5px 7px;box-shadow:0 8px 20px #071b2e24}.route-leg-callout.compact .route-leg-callout-heading strong{font-size:.6rem}.route-leg-callout.compact .route-leg-callout-trip strong,.route-leg-callout.compact .route-leg-callout-trip span{font-size:.59rem}.route-leg-callout-heading strong,.route-leg-callout-trip strong,.route-leg-callout-trip span,.route-leg-callout-battery small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-leg-callout-heading strong{color:var(--ink);font-size:.64rem;font-weight:950;line-height:1.15;display:block}.route-leg-callout-trip{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.route-leg-callout-trip strong{color:var(--success-dark);font-size:.74rem;font-weight:950}.route-leg-callout-trip span,.route-leg-callout-battery small{color:var(--ink-soft);font-size:.6rem;font-weight:850}.route-ferry-callout,.route-stop-callout-card,.route-stop-callout-name,.route-endpoint-callout,.route-leg-callout,.route-option-callout{transition:opacity .12s,translate .12s}.map-callout-collision-hidden{opacity:0!important;pointer-events:none!important}.national-charger-cluster,.national-charger-pin,.saved-charger-pin{color:#073749;cursor:pointer;border:2px solid #fff;border-radius:999px;place-items:center;font-weight:950;display:grid;position:relative;box-shadow:0 5px 14px #071b2e3d}.national-charger-pin.favourite,.saved-charger-pin.favourite{border-color:#f4b400}.charger-favourite-marker-badge{z-index:3;color:#4b3500;background:#f4b400;border:1.5px solid #fff;border-radius:999px;place-items:center;width:15px;height:15px;font-size:.55rem;line-height:1;display:grid;position:absolute;top:-7px;right:-7px;box-shadow:0 2px 6px #071b2e40}.national-charger-cluster{background:#7dd6d0;min-width:30px;height:30px;padding:0 6px;font-size:.68rem}.national-charger-pin{background:#2aa7c8;width:14px;height:14px;padding:0}.saved-charger-pin{color:#fff;background:#087654;border-color:#fff;width:34px;height:34px;padding:7px}.saved-charger-pin.kind-work{background:#145f96}.saved-charger-pin.kind-other{background:#7452a3}.saved-charger-pin svg{fill:currentColor;width:100%;height:100%}.national-charger-pin.risk-medium,.national-charger-pin.layer-cost.cost-medium{background:#ffb020}.national-charger-pin.risk-high,.national-charger-pin.layer-cost.cost-high{background:#ff6f7a}.national-charger-pin.layer-cost.cost-free{background:#00b878}.national-charger-pin.layer-cost.cost-unknown{background:#6c7f8f}.national-charger-cluster:hover,.national-charger-cluster:focus-visible,.national-charger-pin:hover,.national-charger-pin:focus-visible,.saved-charger-pin:hover,.saved-charger-pin:focus-visible{outline-offset:2px;outline:3px solid #0d6fd357}.charger-results-more{border-top:1px solid #536f8524;justify-content:space-between;align-items:center;gap:8px;min-width:0;margin:0;padding-top:7px;display:flex}.charger-results-more span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:850;overflow:hidden}.charger-results-more div{flex:none;gap:5px;display:flex}.charger-search-panel .charger-results-more button{color:#4b5968;background:#fff;border-color:#75808c47;min-height:28px;padding:5px 8px;font-size:.66rem;font-weight:900}.planner-action-row{grid-template-columns:1fr;gap:8px;display:grid}.quick-trip-vehicle,.quick-trip-vehicle-summary,.quick-trip-setup-prompt{gap:7px;display:grid}.quick-trip-vehicle{background:#f8fcff;border:1px solid #b8ddffd1;border-radius:8px;padding:10px}.quick-trip-vehicle-heading,.quick-trip-setup-prompt,.quick-trip-vehicle-summary{justify-content:space-between;align-items:center;gap:10px;display:flex}.quick-trip-vehicle-heading>span{color:var(--brand-blue-dark);font-size:.78rem;font-weight:800}.planner-form .quick-trip-vehicle-heading button.compact{min-height:30px;padding:5px 10px}.quick-trip-vehicle-summary>div{gap:2px;min-width:0;display:grid}.quick-trip-vehicle-summary strong{color:var(--ink);font-size:.84rem;line-height:1.3}.quick-trip-vehicle-summary small,.quick-trip-setup-prompt{color:var(--muted);font-size:.72rem;font-weight:750}.quick-trip-percent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.plan-options-summary{min-height:76px;color:var(--ink);text-align:left;background:#f8fcff;border:1px solid #70c4ffb8;border-radius:8px;align-content:center;justify-items:start;gap:2px;padding:9px 11px;display:grid}.plan-options-summary>span,.plan-options-sheet-header span{color:var(--brand-blue-dark);font-size:.72rem;font-weight:850}.plan-options-summary strong{font-size:.88rem}.plan-options-summary small{color:var(--muted);font-size:.7rem;font-weight:750}.plan-options-sheet{z-index:1300;background:#fff;border:1px solid #536f853d;border-radius:12px;gap:14px;width:min(390px,100vw - 36px);max-height:min(720px,100vh - 36px);padding:16px;display:grid;position:fixed;bottom:18px;right:18px;overflow:auto;box-shadow:0 24px 70px #13364e47}.plan-options-sheet-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plan-options-sheet-header>div{gap:2px;display:grid}.plan-options-sheet-header strong{color:var(--ink);font-size:1.08rem}.route-avoidance-field,.route-avoidance-options{gap:8px;display:grid}.route-avoidance-field{border:0;padding:0}.route-avoidance-field legend{color:var(--brand-blue-dark);margin-bottom:8px;font-size:.78rem;font-weight:800}.route-avoidance-options{grid-template-columns:repeat(2,minmax(0,1fr))}.percentage-input{display:block;position:relative}.percentage-input input{font-variant-numeric:tabular-nums;padding-right:30px}.planner-form .percentage-input>span{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.planner-field-note.warning{color:#9a5a00}.quick-trip-more-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:9px;display:grid}.quick-trip-departure-summary{color:#315f70;white-space:nowrap;padding:11px 0;font-size:.74rem;font-weight:900}.departure-mode-field{border:0;gap:8px;padding:0;display:grid}.departure-mode-field legend{color:var(--brand-blue-dark);font-size:.78rem;font-weight:800}.vehicle-picker-dialog{z-index:1200;background:#fff;border:1px solid #536f8547;border-radius:12px;gap:12px;width:min(560px,100vw - 28px);max-height:min(680px,100vh - 28px);padding:16px;display:grid;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 28px 80px #071b2e57}.vehicle-picker-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.vehicle-picker-header>div{gap:2px;display:grid}.vehicle-picker-header small{color:var(--muted);font-size:.74rem;font-weight:750}.planner-form .vehicle-picker-header .icon-button{width:34px;min-height:34px;padding:0}.vehicle-picker-results{gap:6px;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.planner-form .vehicle-picker-results button{width:100%;color:var(--ink);text-align:left;background:#fff;border:1px solid #536f852e;gap:3px;padding:9px 10px;display:grid}.planner-form .vehicle-picker-results button.selected{background:#eaf7f0;border-color:#168253}.vehicle-picker-results small{color:var(--muted);font-size:.7rem}.planner-form label,.settings-form label,.charger-search-panel label,.location-search-box label,.connector-field,.amenity-field,.network-preference-field,.vehicle-details-field,.efficiency-profile-field,.saved-location-charger-fields{border:0;gap:6px;margin:0;padding:0;display:grid}.planner-form label span,.settings-form label span,.charger-search-panel label span,.location-search-box label span,.connector-field legend,.amenity-field legend,.network-preference-field legend,.vehicle-details-field legend,.efficiency-profile-field legend,.saved-location-charger-fields legend{color:var(--brand-blue-dark);font-size:.78rem;font-weight:800}.electricity-rate-editor{gap:10px;padding-top:8px;display:grid}.electricity-rate-list{gap:10px;display:grid}.electricity-rate-row{background:#fff;border:1px solid #b8ddffc7;border-radius:8px;grid-template-columns:minmax(120px,1.2fr) repeat(3,minmax(86px,.8fr)) auto;align-items:end;gap:8px;margin:0;padding:10px;display:grid}.electricity-rate-row legend{color:var(--brand-blue-dark);grid-column:1/-1;font-size:.78rem;font-weight:850}select,input{width:100%;color:var(--ink);background:#f8fcff;border:1px solid #70c4ffc7;border-radius:8px;padding:9px 10px}select:focus,input:focus,button:focus-visible{outline-offset:2px;outline:3px solid #008cff47}.input-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wide-field{grid-column:1/-1}.vehicle-details-field{background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;padding:10px}.vehicle-details-field small{color:var(--muted);font-size:.74rem;font-weight:750}.efficiency-profile-field{background:#fff;border:1px solid #b8ddffc7;border-radius:8px;padding:10px}.efficiency-profile-field small{color:var(--muted);font-size:.72rem;font-weight:700;line-height:1.45}.real-consumption-panel,.past-trip-panel{background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;gap:10px;padding:12px;display:grid}.past-trip-form{gap:12px}.past-trip-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.past-trip-summary div{background:#fff;border:1px solid #b8ddffc2;border-radius:8px;padding:9px 10px}.past-trip-summary span{color:var(--muted);font-size:.76rem;font-weight:760;display:block}.past-trip-summary strong{color:var(--ink)}.past-trip-stops{gap:10px;display:grid}.past-trip-stop{background:#fff;border:1px solid #b8ddffc7;border-radius:8px;gap:10px;min-width:0;padding:10px;display:grid}.past-trip-stop legend{color:var(--brand-blue-dark);padding:0 5px;font-weight:900}.tracking-log-panel,.tracking-privacy-panel{gap:10px;display:grid}.tracking-log-panel{padding:12px}.tracking-action-row,.tracking-privacy-metrics,.tracking-metrics{gap:8px;display:grid}.tracking-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tracking-arrival-field{gap:5px;display:grid}.tracking-metrics{grid-template-columns:1fr}.tracking-latest{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.78rem;font-weight:750}.tracking-privacy-panel{background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;padding:12px}.tracking-privacy-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.tracking-privacy-metrics div{background:#fff;border:1px solid #b8ddffc2;border-radius:8px;padding:9px 10px}.tracking-privacy-metrics span{color:var(--muted);font-size:.76rem;font-weight:760;display:block}.tracking-privacy-metrics strong{color:var(--ink)}.panel-heading.compact{box-shadow:none;background:0 0;border:0;padding:0}.panel-heading.compact h3{font-size:1rem}.consumption-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.consumption-metrics div,.trip-history-row{background:#fff;border:1px solid #b8ddffc2;border-radius:8px;padding:9px 10px}.consumption-metrics span,.trip-history-row small{color:var(--muted);font-size:.76rem;font-weight:760}.consumption-metrics strong,.trip-history-row strong{color:var(--ink)}.trip-history-list{gap:7px;display:grid}.trip-history-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.trip-history-row span{gap:2px;display:grid}.trip-history-row em{color:var(--brand-blue-dark);flex:none;font-style:normal;font-weight:900}.vehicle-detail-card{background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.vehicle-detail-card div{gap:2px;min-width:0;display:grid}.vehicle-detail-card span{color:var(--muted);font-size:.72rem;font-weight:800}.vehicle-detail-card strong{color:var(--ink);overflow-wrap:anywhere;font-size:.82rem;line-height:1.2}.check-pill{background:#fff;border:1px solid #70c4ffb8;border-radius:999px;align-items:center;gap:6px;width:auto;padding:7px 10px;display:inline-flex}.check-pill input{width:auto}.amenity-options,.connector-options{flex-wrap:wrap;gap:8px;display:flex}.charger-selection-priority-field{border:0;gap:7px;padding:0;display:grid}.charger-selection-priority-options{flex-wrap:wrap;gap:6px;display:flex}.priority-pill{background:#fff;padding:6px 9px}.priority-pill:has(input:checked){color:#174b35;background:#eaf7f0;border-color:#168253}.network-preference-grid{gap:10px;display:grid}.network-preference-control{gap:6px;min-width:0;display:grid}.network-preference-control select{width:100%}.network-preference-chips{flex-wrap:wrap;gap:5px;display:flex}.network-preference-chip{color:#254d3b;background:#f3f8f5;border:1px solid #38816057;border-radius:6px;align-items:center;gap:5px;min-width:0;padding:3px 4px 3px 7px;font-size:.72rem;font-weight:800;display:inline-flex}.network-preference-chip>span{overflow-wrap:anywhere}.planner-form .network-preference-chip button{color:#52645c;background:0 0;border:0;border-radius:4px;place-items:center;width:20px;min-height:20px;padding:0;font-size:1rem;line-height:1;display:grid}.planner-form .network-preference-chip button:hover{color:#193b2d;background:#e1eee6}.planner-form .planner-option-check{background:#edf8ff;border:1px solid #70c4ffb8;border-radius:8px;align-items:center;gap:9px;width:fit-content;padding:9px 10px;display:flex}.planner-form .planner-option-check input{width:auto}.route-stop-editor{border-top:1px solid #536f8529;border-bottom:1px solid #536f8529;gap:8px;padding:9px 0;display:grid}.route-stop-editor-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.route-stop-editor-header>div{align-items:baseline;gap:7px;min-width:0;display:flex}.route-stop-editor-header strong{color:var(--brand-blue-dark);font-size:.78rem;font-weight:900}.route-stop-editor-header small{color:var(--muted);font-size:.68rem;font-weight:800}.planner-form .route-stop-editor-header button.compact{min-height:30px;padding:5px 9px;font-size:.7rem}.route-stop-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.route-stop-list li{background:#fff;border:1px solid #536f852e;border-left:3px solid #087654;border-radius:7px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:6px 7px;display:grid}.route-stop-index{color:#fff;background:#087654;border-radius:999px;place-items:center;width:22px;height:22px;font-size:.68rem;font-weight:950;display:inline-grid}.route-stop-copy{gap:1px;min-width:0;display:grid}.route-stop-copy strong,.route-stop-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-stop-copy strong{color:var(--ink);font-size:.75rem}.route-stop-copy small{color:var(--muted);font-size:.64rem;font-weight:700}.route-stop-actions{gap:3px;display:flex}.planner-form .route-stop-actions .icon-button{width:26px;min-width:26px;height:26px;color:var(--ink-soft);background:#fff;border:1px solid #536f8538;border-radius:6px;place-items:center;padding:0;font-size:.75rem;line-height:1;display:inline-grid}.planner-form .route-stop-actions .icon-button.danger{color:#b51f35}.planner-form .route-stop-actions .icon-button:disabled{color:#9aa6b0;background:#f3f5f7;border-color:#536f851f}.planner-advanced{background:#f8fcff;border:1px solid #b8ddffd1;border-radius:8px;gap:10px;display:grid;overflow:hidden}.planner-advanced:not([open]){display:block}.planner-advanced summary{color:var(--brand-blue-dark);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-weight:900;display:flex}.planner-advanced summary small{color:var(--muted);text-align:right;font-size:.74rem;font-weight:850}.planner-advanced summary::-webkit-details-marker{display:none}.planner-advanced summary:after{content:"+";width:24px;height:24px;color:var(--brand-blue);background:#fff;border-radius:999px;flex:none;place-items:center;display:inline-grid}.planner-advanced[open]{padding:0 10px 10px}.planner-advanced[open] summary{border-bottom:1px solid #b8ddffd1;margin:0 -10px 10px}.planner-advanced[open] summary:after{content:"-"}.planner-field-note{color:var(--muted);margin-top:-4px;font-size:.76rem;font-weight:750;display:block}.arrival-reserve-field{gap:6px;display:grid}.arrival-reserve-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.arrival-reserve-heading output{color:#08724f;font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:900}.planner-form .arrival-reserve-field input[type=range]{accent-color:#12805c;width:100%;min-height:24px;margin:0;padding:0}.planner-form button,.settings-form button,.charger-search-panel button{background:linear-gradient(135deg, var(--brand-blue), var(--brand-blue-strong));color:#fff;border:0;border-radius:8px;padding:11px 14px;font-weight:900}.planner-form button:disabled,.settings-form button:disabled,.charger-search-panel button:disabled{background:#8fb3cf}.settings-form .secondary,.planner-form .secondary,.charger-search-panel .secondary,.location-search-box .secondary,.danger-button{color:var(--ink-soft);background:#fff;border:1px solid #536f853d}.planner-schedule-status{color:var(--brand-blue-dark);margin:0;font-size:.86rem;font-weight:800}.planner-soc-estimate{background:#f8fcff;border:1px solid #70c4ffb8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;margin:0;padding:10px 12px;display:grid}.planner-soc-estimate span,.planner-soc-estimate small{color:var(--brand-blue-dark);font-size:.78rem;font-weight:800}.planner-soc-estimate strong{color:var(--ink);font-size:1.25rem;font-weight:900}.planner-soc-estimate small{color:var(--muted);grid-column:1/-1}.location-search-box{gap:8px;display:grid}.map-tab-panel .location-search-box{grid-template-columns:minmax(0,1fr) auto;gap:7px}.map-tab-panel .location-search-box label{grid-column:1}.map-tab-panel .location-search-box>button.secondary{grid-column:2;align-self:end;min-width:76px;padding:9px 10px}.map-tab-panel .selected-location,.map-tab-panel .search-status,.map-tab-panel .location-results,.map-tab-panel .location-no-results{grid-column:1/-1}.map-tab-panel .selected-location{padding:7px 9px}.map-tab-panel .selected-location span{display:none}.location-search-box>button{padding:9px 12px}.selected-location,.route-warning{color:var(--ink-soft);background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;margin:0;padding:9px 10px;font-size:.84rem;font-weight:800}.selected-location{gap:2px;display:grid}.charger-search-panel .selected-location,.charger-search-panel .search-status,.charger-search-panel .status-message{color:var(--ink-soft);box-shadow:none;background:#f5f7f8;border-color:#536f8533}.selected-location strong{color:var(--ink)}.selected-location span{color:var(--muted);font-size:.78rem}.location-results{background:#fff;border:1px solid #b8ddffc7;border-radius:8px;display:grid;overflow:hidden}.location-result-group{display:grid}.location-result-group>p{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#f3f9ff;margin:0;padding:8px 10px 5px;font-size:.68rem;font-weight:900}.location-results button{color:var(--ink);text-align:left;background:#fff;border:0;border-top:1px solid #b8ddffb8;border-radius:0;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.location-results button.active{background:#e9f6ff}.location-result-group:first-child button:first-of-type{border-top:0}.location-results span{gap:2px;min-width:0;display:grid}.location-results small,.location-results em{color:var(--muted);font-size:.76rem;font-style:normal;font-weight:800}.map-tab-panel .location-results{max-height:280px;overflow-y:auto}.map-tab-panel .location-result-group{min-width:0}.map-tab-panel .location-results button{width:100%;min-width:0}.map-tab-panel .location-results button>span:not(.location-result-icon){min-width:0}.map-tab-panel .location-results strong{overflow-wrap:anywhere}.location-result-icon{width:26px;height:26px;color:var(--brand-blue-dark);background:#dff2ff;border-radius:999px;flex:0 0 26px;place-items:center;font-size:.72rem;font-weight:900;display:inline-grid}.location-no-results{background:#fff;border:1px solid #b8ddffc7;border-radius:8px;gap:8px;padding:9px 10px;display:grid}.location-no-results p{color:var(--muted);margin:0;font-size:.8rem;font-weight:800}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.segmented-control button{color:var(--brand-blue-dark);background:#fff;border:1px solid #70c4ffb8;border-radius:8px;gap:2px;padding:9px 10px;font-weight:900;display:grid}.segmented-control button.active{border-color:var(--brand-blue);background:linear-gradient(135deg, var(--brand-blue), var(--brand-blue-strong));color:#fff}.segmented-control small{font-size:.74rem;font-weight:800}.route-warning{background:#fff9ec;border-color:#ffe0a7}.danger-button{color:#9f1c2a;border-color:#ffb4bb}.search-status,.status-message{color:var(--ink-soft);background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;margin:0;padding:9px 10px;font-size:.86rem;font-weight:800}.charger-subtle{color:var(--muted);margin-bottom:6px;font-size:.84rem;font-weight:800}.locations-section{grid-column:1/-1;gap:12px;display:grid}.saved-location-list{gap:8px;display:grid}.saved-location-list button{width:100%;color:var(--ink);text-align:left;background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.saved-location-list button.active{border-color:var(--brand-blue);box-shadow:inset 0 0 0 2px #008cff2e}.saved-location-list span{gap:2px;min-width:0;display:grid}.saved-location-list strong,.saved-location-list small{overflow-wrap:anywhere}.saved-location-list small{color:var(--muted);font-size:.8rem;font-weight:750}.saved-location-list em{background:var(--surface-blue);color:var(--brand-blue-dark);border-radius:999px;flex:none;padding:4px 8px;font-size:.76rem;font-style:normal;font-weight:900}.journey-summary{gap:0;display:grid;overflow:hidden}.route-constraint-evidence{border-top:1px solid #b8ddffd1;gap:7px;padding:11px 14px;display:grid}.route-constraint-evidence>span{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.route-constraint-evidence strong,.route-constraint-evidence small{font-size:.76rem}.route-constraint-evidence small{color:var(--muted);text-align:right;font-weight:800}.route-constraint-evidence .unsupported small{color:#9a5a00}.metric-row{border-top:1px solid #b8ddffd1;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.metric-row:first-child{border-top:0}.metric-row span{color:var(--muted);font-size:.86rem;font-weight:700}.metric-row strong{color:var(--ink)}.route-weather-chips{border-top:1px solid #b8ddffd1;flex-wrap:wrap;gap:7px;padding:11px 14px;display:flex}.route-weather-chip{color:var(--brand-blue-dark);background:#edf8ff;border:1px solid #70c4ffa3;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:850}.map-stack{align-self:stretch;min-width:0;height:100%;min-height:0;display:grid}.map-panel{background:#d9f1ff;border:1px solid #70c4ffdb;border-radius:8px;align-self:stretch;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 24px 60px #0054b433}.map-panel>.map-canvas{width:100%;height:100%;position:absolute;inset:0}.map-quick-actions{z-index:70;pointer-events:auto;justify-items:end;gap:8px;width:auto;display:grid;position:absolute;top:16px;right:58px}.map-quick-actions button{min-height:38px;color:var(--ink-soft);text-align:center;background:#fffffff0;border:1px solid #071b2e29;border-radius:8px;justify-content:center;align-items:center;padding:8px 10px;font-size:.7rem;font-weight:950;display:inline-grid;box-shadow:0 12px 24px #071b2e21}.map-quick-actions button:hover,.map-quick-actions button:focus-visible{color:#087654;background:#f5fff9;border-color:#08765457;outline:none;box-shadow:0 14px 28px #071b2e2e}.map-quick-actions button:disabled{color:#6c8ba3;cursor:wait;background:#f0f6fbe6;border-color:#8fb3cf8a}.map-quick-action{gap:8px}.map-quick-action.icon-only{width:42px;height:42px;min-height:42px;padding:0}.map-quick-action.with-label{text-align:left;grid-template-columns:18px minmax(0,1fr);justify-content:start;min-width:122px}.map-quick-action.icon-only .map-quick-action-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.map-quick-action-icon{fill:currentColor;width:18px;height:18px}.map-quick-action-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-quick-actions.compact{width:auto}.map-quick-actions.compact .map-quick-actions-menu-button{place-items:center;width:38px;height:38px;min-height:38px;padding:0;display:grid}.map-tools-icon{grid-template-columns:repeat(2,5px);gap:4px;display:grid}.map-tools-icon span{background:currentColor;border-radius:999px;width:5px;height:5px}.map-quick-actions-menu{gap:6px;width:132px;display:grid;position:absolute;top:46px;right:0}.map-quick-actions-menu[hidden]{display:none}.map-layer-controls{z-index:70;pointer-events:none;justify-items:start;width:auto;max-width:calc(100% - 32px);display:grid;position:absolute;bottom:16px;left:16px}.map-layer-controls>*{pointer-events:auto}.map-layer-controls.open{width:min(252px,100% - 32px)}.map-layer-button{width:36px;height:36px;color:var(--ink-soft);background:#fffffff0;border:1px solid #071b2e29;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 12px 26px #071b2e29}.map-layer-button:hover,.map-layer-button:focus-visible{color:#087654;border-color:#08765457;outline:none;box-shadow:0 14px 30px #071b2e33}.map-layer-button.active{color:#087654;background:#f5fff9;border-color:#0876546b}.map-layer-button-icon{width:19px;height:19px;display:block}.map-layer-button-icon path{fill:currentColor}.map-layer-menu{background:#fffffff7;border:1px solid #071b2e24;border-radius:8px;width:min(252px,100vw - 32px);padding:7px;position:absolute;bottom:42px;left:0;box-shadow:0 18px 38px #071b2e33}.map-layer-menu[hidden]{display:none}.map-layer-section{gap:6px;padding:4px 0 8px;display:grid}.map-layer-title{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:950}.map-layer-segmented{gap:5px;display:grid}.map-layer-segmented button{color:var(--ink-soft);text-align:left;background:#fff;border:1px solid #536f852e;border-radius:7px;gap:2px;padding:7px 8px;display:grid}.map-layer-segmented button:hover,.map-layer-segmented button:focus-visible{border-color:#08765457;outline:none;box-shadow:0 8px 18px #071b2e1a}.map-layer-segmented button.active{color:#087654;background:#f5fff9;border-color:#0876546b}.map-layer-segmented strong{font-size:.74rem;line-height:1.15}.map-layer-segmented small{color:var(--muted);font-size:.64rem;font-weight:800;line-height:1.22}.map-plan-summary{z-index:60;pointer-events:none;gap:8px;width:min(520px,100% - 32px);display:grid;position:absolute;top:16px;right:16px}.map-plan-summary.compact{width:min(400px,100% - 32px)}.map-plan-summary.expanded{grid-template-rows:auto minmax(0,1fr);width:min(520px,100% - 32px);max-height:calc(100% - 32px)}.map-route-tabs,.map-plan-card{pointer-events:auto}.map-route-tabs{background:#fffffff0;border:1px solid #071b2e1f;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:7px;padding:5px;display:grid;box-shadow:0 14px 34px #00285a2e}.map-route-tabs button{min-height:60px;color:var(--brand-blue-dark);background:0 0;border:1px solid #0000;border-radius:7px;gap:5px;padding:8px 10px;font-weight:900;display:grid}.map-plan-summary.compact .map-route-tabs{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}.map-plan-summary.compact .map-route-tabs button{min-height:42px;padding:7px 9px}.map-plan-summary.compact .map-route-tab-meta{display:none}.map-route-tabs button.active{color:#fff;background:#071b2e;border-color:#071b2ed1}.map-route-tabs span,.map-route-tabs strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-route-tabs span{font-size:.78rem}.map-route-tabs strong{font-size:.84rem}.map-route-tab-main{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.map-route-tab-meta{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.map-route-tab-meta small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #536f852e;border-radius:999px;padding:2px 6px;font-size:.58rem;font-weight:900;line-height:1.15;overflow:hidden}.map-route-tabs button.active .map-route-tab-meta small{color:#fff;background:#ffffff1f;border-color:#ffffff38}.map-route-tab-meta .risk-comfortable,.map-route-tab-meta .risk-charging,.map-route-tab-meta .risk-backup{color:#006d56;background:#ecfff9;border-color:#00b87857}.map-route-tab-meta .risk-watch{color:#7b4a00;background:#fff8e8;border-color:#f59e0b57}.map-route-tab-meta .risk-risky{color:#9f1c2a;background:#fff1f3;border-color:#ff4f5e52}.map-plan-card{background:#fffffff5;border:1px solid #071b2e1f;border-left:5px solid #087654;border-radius:8px;gap:9px;padding:12px;display:grid;box-shadow:0 18px 40px #00285a2e}.map-plan-card.compact{gap:7px;padding:10px;box-shadow:0 16px 34px #071b2e24}.map-plan-card.expanded{overscroll-behavior:contain;min-height:0;overflow-y:auto}.map-plan-card.expanded::-webkit-scrollbar{width:8px}.map-plan-card.expanded::-webkit-scrollbar-thumb{background:#536f8547;border-radius:999px}.map-plan-heading,.map-plan-metrics,.map-plan-assurance,.map-plan-effort,.map-plan-stop-strip,.map-plan-badges,.map-plan-actions{align-items:center;gap:8px;display:flex}.map-plan-heading{justify-content:space-between}.map-plan-heading>div{align-items:center;gap:8px;min-width:0;display:flex}.map-plan-heading span{color:#087654;background:#f5faf6;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900}.map-plan-heading strong{color:var(--ink);font-size:1.15rem;line-height:1}.map-plan-detail-toggle{color:var(--ink-soft);background:#fff;border:1px solid #536f853d;border-radius:8px;flex:none;padding:7px 10px;font-size:.72rem;font-weight:950;box-shadow:0 8px 18px #071b2e14}.map-plan-detail-toggle:hover,.map-plan-detail-toggle:focus-visible{color:#087654;border-color:#08765457;box-shadow:0 10px 22px #071b2e1f}.map-plan-metrics{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.map-plan-travel-breakdown{flex-wrap:wrap;gap:6px;display:flex}.map-plan-travel-breakdown span{color:var(--ink-soft);background:#f2f9ff;border:1px solid #1686d933;border-radius:999px;padding:4px 8px;font-size:.66rem;font-weight:850}.map-plan-travel-breakdown strong{color:#0b66a8}.route-ferry-warning{background:#f2f9ff;border-left-color:#1686d9;margin:0}.map-plan-assurance{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.map-plan-detail-content{gap:9px;min-width:0;display:grid}.map-plan-detail-content[hidden]{display:none}.map-plan-effort{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.map-plan-effort-compact{border-top:1px solid #071b2e14;gap:6px;padding-top:8px}.map-plan-metrics span{min-width:0;color:var(--muted);background:#f8fcff;border:1px solid #b8ddffc2;border-radius:8px;gap:2px;padding:8px 9px;font-size:.68rem;font-weight:850;display:grid}.map-plan-assurance span{min-width:0;color:var(--muted);background:#fff;border:1px solid #536f8524;border-radius:7px;gap:2px;padding:6px 8px;font-size:.64rem;font-weight:850;display:grid}.map-plan-assurance span.confidence-high,.map-plan-assurance span.buffer-comfortable{background:#effaf3;border-color:#08765438}.map-plan-assurance span.confidence-medium,.map-plan-assurance span.buffer-watch{background:#fff8e8;border-color:#f59e0b3d}.map-plan-assurance span.confidence-low,.map-plan-assurance span.buffer-risky{background:#fff1f3;border-color:#ff4f5e3d}.map-plan-effort span{min-width:0;color:var(--muted);background:#fbfdff;border:1px solid #536f8524;border-radius:7px;gap:2px;padding:6px 7px;font-size:.64rem;font-weight:850;display:grid}.map-plan-metrics strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.map-plan-assurance strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.map-plan-assurance span.confidence-high strong,.map-plan-assurance span.buffer-comfortable strong{color:var(--success-dark)}.map-plan-assurance span.confidence-medium strong,.map-plan-assurance span.buffer-watch strong{color:#7b4a00}.map-plan-assurance span.confidence-low strong,.map-plan-assurance span.buffer-risky strong{color:#9f1c2a}.map-plan-effort strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.map-plan-stop-strip{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #071b2e1a;border-left:0;border-right:0;grid-template-columns:28px minmax(0,1fr) minmax(188px,1.05fr);align-items:center;gap:7px 8px;padding:9px 0;display:grid}.map-plan-card.compact .map-plan-stop-strip{grid-template-columns:28px minmax(0,1fr);align-items:start;padding:8px 0}.map-plan-card.compact .map-plan-stop-copy{grid-column:2}.map-plan-card.compact .map-plan-stop-metrics{grid-area:2/2;grid-template-columns:repeat(5,minmax(0,1fr))}.map-plan-stop-strip.muted{cursor:default}button.map-plan-stop-strip:hover,button.map-plan-stop-strip:focus-visible{border-color:#08765447}.map-plan-stop-marker{color:#fff;background:#087654;border-radius:999px;grid-area:1/1;place-items:center;width:28px;height:28px;font-size:.72rem;font-weight:950;display:grid}.map-plan-stop-copy{grid-area:1/2;gap:2px;min-width:0;display:grid}.map-plan-stop-copy strong,.map-plan-stop-copy small,.map-plan-stop-metrics strong,.map-plan-stop-metrics small,.map-plan-stop-backup strong,.map-plan-stop-backup small,.map-plan-stop-evidence small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-plan-stop-copy strong{color:var(--ink);font-size:.82rem;font-weight:950}.map-plan-stop-copy small,.map-plan-stop-backup small{color:var(--ink-soft);font-size:.68rem;font-weight:800}.map-plan-stop-metrics{grid-area:1/3;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 6px;width:100%;min-width:0;display:grid}.map-plan-stop-metrics strong,.map-plan-stop-metrics small{color:var(--ink);text-align:center;background:#f4f8fa;border-radius:999px;padding:3px 6px;font-size:.66rem;font-weight:900}.map-plan-stop-metrics strong{color:var(--success-dark);background:#eaf7ef}.map-plan-stop-backup{grid-area:2/2/auto/4;align-items:center;gap:6px;min-width:0;display:flex}.map-plan-stop-backup strong{color:var(--muted);text-transform:uppercase;background:#fff8e8;border-radius:999px;flex:none;padding:3px 7px;font-size:.62rem;font-weight:950}.map-plan-stop-evidence{flex-wrap:wrap;grid-area:3/2/auto/4;gap:5px;min-width:0;display:flex}.map-plan-stop-evidence small{max-width:150px;color:var(--ink-soft);background:#f7fafc;border:1px solid #536f852e;border-radius:999px;padding:3px 7px;font-size:.62rem;font-weight:900}.map-plan-stop-evidence small.tone-profile,.map-plan-stop-evidence small.tone-status{color:var(--success-dark);background:#effaf3;border-color:#08765438}.map-plan-stop-evidence small.tone-fallback,.map-plan-stop-evidence small.tone-static{color:#7b4a00;background:#fff8e8;border-color:#b4741042}.map-plan-stop-strip em{color:var(--muted);grid-area:1/3;justify-self:end;font-size:.7rem;font-style:normal;font-weight:900}.map-plan-card p{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:.82rem;font-weight:800}.map-plan-badges{flex-wrap:wrap}.map-plan-badges span{max-width:100%;color:var(--success-dark);text-overflow:ellipsis;white-space:nowrap;background:#effaf3;border:1px solid #00b87861;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:900;overflow:hidden}.map-plan-badges span.avoid{color:#9f1c2a;background:#fff1f3;border-color:#ffb4bb}.map-plan-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.map-plan-actions button{min-width:0;min-height:36px;color:var(--brand-blue-dark);text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #071b2e1f;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:8px 7px;font-size:.72rem;font-weight:950;display:inline-flex;overflow:hidden}.map-plan-action-icon-wrap{color:currentColor;background:#071b2e0d;border-radius:999px;flex:none;place-items:center;width:16px;height:16px;display:inline-grid}.map-plan-action-icon{width:12px;height:12px;display:block}.map-plan-action-icon path{fill:currentColor}.map-plan-action-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.map-plan-actions button:last-child{color:var(--brand-blue-strong);background:#eef8ff;border-color:#008cff66}.map-plan-actions .map-plan-clear-action{color:#9f1c2a;border-color:#b51f353d}.map-plan-card.compact .map-plan-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.map-plan-actions>button:only-child{grid-column:-3/-1;min-width:88px}.map-plan-actions button:last-child .map-plan-action-icon-wrap{background:#008cff1f}.map-plan-actions button:disabled{cursor:not-allowed;opacity:.55}.map-plan-action-status{color:var(--muted)!important;font-size:.72rem!important}.map-plan-evidence-rail{border-top:1px solid #071b2e14;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding-top:8px;display:grid}.map-plan-evidence-rail>strong{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:950}.map-plan-evidence-rail .plan-evidence-chips{gap:5px;min-width:0}.map-plan-evidence-rail .plan-evidence-chips span{text-overflow:ellipsis;white-space:nowrap;max-width:132px;overflow:hidden}.map-plan-itinerary{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.map-plan-itinerary li{min-width:0}.map-plan-itinerary-card{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;background:#f8fcff;border:1px solid #b8ddffc2;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:start;column-gap:6px;padding:6px;display:grid}button.map-plan-itinerary-card{cursor:pointer}button.map-plan-itinerary-card:hover,button.map-plan-itinerary-card:focus-visible{border-color:var(--brand-cyan);outline:none;box-shadow:0 0 0 3px #00d4ff2e}.map-plan-itinerary-card .map-plan-itinerary-marker{color:#fff;background:#071b2e;border-radius:999px;grid-row:1;place-items:center;width:22px;height:22px;margin-top:1px;font-size:.66rem;font-weight:950;display:inline-grid}.map-plan-itinerary-card.waypoint{background:#f5fbf8;border-color:#0876544d}.map-plan-itinerary-card.waypoint .map-plan-itinerary-marker{background:#087654}.map-plan-itinerary-card.charge .map-plan-itinerary-marker{color:#0a9668;background:#e9f8f1;border:2px solid #0a9668}.map-plan-itinerary-card.ferry{background:#f2f9ff;border-color:#1686d957}.map-plan-itinerary-card.ferry .map-plan-itinerary-marker{color:#fff;background:#1686d9}.map-plan-itinerary-card.backup .map-plan-itinerary-marker,.map-plan-itinerary-card.avoid .map-plan-itinerary-marker{color:#6c7f8f;background:#f1f4f6;border:2px solid #6c7f8f}.map-plan-itinerary-card .route-itinerary-lightning-icon{width:13px;height:13px}.map-plan-itinerary-card>strong,.map-plan-itinerary-card>small{grid-column:2}.map-plan-itinerary-card strong,.map-plan-itinerary-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-plan-itinerary-card strong{color:var(--ink);font-size:.78rem;line-height:1.1}.map-plan-itinerary-card small{color:var(--muted);font-size:.64rem;font-weight:850}.map-plan-itinerary-card .map-plan-itinerary-leg,.map-plan-itinerary-card .map-plan-itinerary-timing,.map-plan-itinerary-card .map-plan-itinerary-capability,.map-plan-itinerary-card .map-plan-itinerary-detail{font-size:.58rem;line-height:1.15}.map-plan-itinerary-card .map-plan-itinerary-leg{color:var(--ink);opacity:.74}.map-plan-itinerary-card .map-plan-itinerary-timing{color:#315f70;text-overflow:clip;white-space:normal;font-weight:950;overflow:visible}.map-plan-itinerary-card .map-plan-itinerary-capability{color:#136b4e;text-overflow:clip;white-space:normal;font-weight:950;overflow:visible}.map-plan-itinerary-card .map-plan-itinerary-detail{color:var(--muted)}.controls-floating.controls-open .map-layer-controls{left:min(476px,100% - 326px)}.controls-floating.controls-closed .map-layer-controls{left:92px}.map-layer-coverage{border-top:1px solid #071b2e1a;padding:7px 0 0;display:grid}.map-layer-coverage-toggle{width:100%;color:var(--ink-soft);text-align:left;background:#fff;border:1px solid #536f852e;border-radius:7px;grid-template-columns:28px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:6px 8px;display:grid}.map-layer-coverage-toggle:hover,.map-layer-coverage-toggle:focus-visible{border-color:#08765457;outline:none;box-shadow:0 8px 18px #071b2e1a}.map-layer-coverage-toggle.active{color:#087654;background:#f5fff9;border-color:#0876546b}.map-layer-coverage-icon{width:28px;height:28px;color:var(--ink-soft);background:#f4f8fa;border-radius:999px;place-items:center;display:grid}.map-layer-coverage-toggle.active .map-layer-coverage-icon{color:#087654;background:#e3f7eb}.map-layer-coverage-icon svg{fill:currentColor;width:15px;height:15px}.map-layer-coverage-copy{gap:1px;min-width:0;display:grid}.map-layer-coverage-copy strong,.map-layer-coverage-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-layer-coverage-copy strong{color:var(--ink);font-size:.72rem;font-weight:950;line-height:1.1}.map-layer-coverage-copy small{color:var(--muted);font-size:.62rem;font-weight:850;line-height:1.15}.map-layer-switch{background:#536f852e;border-radius:999px;width:30px;height:18px;display:block;position:relative;box-shadow:inset 0 0 0 1px #536f851f}.map-layer-switch span{background:#fff;border-radius:999px;width:12px;height:12px;transition:transform .15s;display:block;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #071b2e38}.map-layer-coverage-toggle.active .map-layer-switch{background:#087654}.map-layer-coverage-toggle.active .map-layer-switch span{transform:translate(12px)}.map-overlay,.map-alert{z-index:80;border-radius:8px;padding:12px 14px;font-weight:800;position:absolute;left:16px;right:16px}.map-overlay{width:max-content;max-width:calc(100% - 128px);color:var(--brand-blue-dark);text-align:center;background:#ebf8fff0;border:1px solid #70c4ffb8;padding:9px 12px;bottom:16px;left:50%;right:auto;transform:translate(-50%)}.map-panel .maplibregl-ctrl-bottom-left{z-index:70;bottom:16px;left:60px}.map-panel .maplibregl-ctrl-bottom-left .maplibregl-ctrl{margin:0}.map-alert{color:#a61e2d;background:#fff1f3f5;border:1px solid #ffb4bbcc;bottom:92px}.map-pick-alert{color:var(--brand-blue-dark);background:#ebf8fff5;border-color:#70c4ffc7;top:16px;bottom:auto;right:auto}.selected-charger-panel{gap:8px;min-width:0;display:grid}.charger-search-panel .selected-charger-route-back{width:100%;min-height:40px;color:var(--brand-blue-dark);text-align:left;background:#ebf8fff5;border:1px solid #0077cc47;border-radius:8px;justify-content:flex-start;align-items:center;gap:8px;padding:9px 12px;font-size:.82rem;font-weight:950;display:inline-flex;box-shadow:0 8px 18px #071b2e0f}.charger-search-panel .selected-charger-route-back:hover,.charger-search-panel .selected-charger-route-back:focus-visible{background:#dff4ff;border-color:#0077cc85}.selected-charger-route-back span{font-size:1.05rem;line-height:1}.selected-charger-panel-toolbar{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.selected-charger-panel-toolbar>span{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.74rem;font-weight:900}.charger-search-panel .selected-charger-close{width:34px;height:34px;color:var(--ink-soft);background:#fff;border:1px solid #536f8538;border-radius:8px;flex:none;place-items:center;padding:0;font-size:1.25rem;line-height:1;display:grid;box-shadow:0 8px 18px #071b2e14}.charger-search-panel .selected-charger-close:hover,.charger-search-panel .selected-charger-close:focus-visible{color:var(--ink);background:#f5f7f8;border-color:#071b2e52}.selected-charger-status{color:var(--ink-soft);background:#f5f7f8;border:1px solid #536f8538;border-radius:8px;margin:0;padding:10px 12px;font-size:.82rem;font-weight:850;box-shadow:0 8px 18px #071b2e0f}.selected-charger-search-context{background:#fff;border:1px solid #536f852e;border-radius:8px;gap:7px;min-width:0;padding:10px;display:grid;box-shadow:0 10px 22px #071b2e12}.selected-charger-search-heading{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.selected-charger-search-heading strong,.selected-charger-search-heading small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-charger-search-heading strong{color:var(--ink);font-size:.82rem;font-weight:950}.selected-charger-search-heading small{color:var(--muted);font-size:.66rem;font-weight:900}.selected-charger-search-chips{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.selected-charger-search-chips span{max-width:100%;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border:1px solid #536f8533;border-radius:999px;padding:3px 7px;font-size:.6rem;font-weight:900;line-height:1.2;display:inline-flex;overflow:hidden}.selected-charger-search-chips .tone-highlight{color:#006d56;background:#ecfff9;border-color:#00b87861}.selected-charger-search-context p{color:var(--ink-soft);margin:0;font-size:.72rem;font-weight:800;line-height:1.35}.selected-charger-trip-context{background:#fff;border:1px solid #536f852e;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.selected-charger-context-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.selected-charger-context-grid span{background:#fff;border:1px solid #071b2e14;border-radius:8px;gap:2px;min-width:0;padding:7px 8px;display:grid}.selected-charger-context-grid strong,.selected-charger-context-grid small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-charger-context-grid strong{color:var(--ink);font-size:.78rem;font-weight:950}.selected-charger-context-grid small{color:var(--muted);font-size:.64rem;font-weight:850}.selected-charger-trip-context p{color:var(--ink-soft);margin:0;font-size:.78rem;font-weight:800;line-height:1.35}.selected-charger-stop-window{background:#effaf3;border:1px solid #00b87857;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.selected-charger-window-heading{gap:2px;min-width:0;display:grid}.selected-charger-window-heading strong{color:var(--ink);font-size:.82rem;font-weight:950}.selected-charger-window-heading small{color:var(--success-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:850;overflow:hidden}.selected-charger-window-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.selected-charger-window-grid span{background:#fff;border:1px solid #071b2e14;border-radius:8px;gap:2px;min-width:0;padding:7px 8px;display:grid}.selected-charger-window-grid strong,.selected-charger-window-grid small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-charger-window-grid strong{color:var(--ink);font-size:.78rem;font-weight:950}.selected-charger-window-grid small{color:var(--muted);font-size:.64rem;font-weight:850}.selected-charger-stop-window p{color:var(--ink-soft);margin:0;font-size:.78rem;font-weight:800;line-height:1.35}.selected-charger-plan-advantage{background:#fffaf0;border:1px solid #f4b94675;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.selected-charger-advantage-heading{gap:2px;min-width:0;display:grid}.selected-charger-advantage-heading strong{color:var(--ink);font-size:.82rem;font-weight:950}.selected-charger-advantage-heading small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:850;overflow:hidden}.selected-charger-advantage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.selected-charger-advantage-grid span{background:#fff;border:1px solid #071b2e14;border-radius:8px;gap:2px;min-width:0;padding:7px 8px;display:grid}.selected-charger-advantage-grid strong,.selected-charger-advantage-grid small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-charger-advantage-grid strong{color:var(--ink);font-size:.78rem;font-weight:950}.selected-charger-advantage-grid small{color:var(--muted);font-size:.64rem;font-weight:850}.selected-charger-plan-advantage p{color:var(--ink-soft);margin:0;font-size:.78rem;font-weight:800;line-height:1.35}.selected-charger-actions{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px;display:grid}.selected-charger-actions button{border-radius:8px;min-height:38px;padding:8px 10px;font-size:.78rem;font-weight:900}.selected-charger-actions .charger-favourite-action{justify-content:center;align-items:center;gap:6px;display:inline-flex}.selected-charger-actions .charger-favourite-action.active{color:#674800;background:#fff5cf;border-color:#d69c00}.selected-charger-actions .charger-favourite-action span{color:#d69c00}.panel-heading{padding:14px}.panel-heading h2{margin-bottom:0}.panel-heading small{color:var(--muted);margin-top:4px;font-size:.78rem;font-weight:850;display:block}.charger-card{border-left-width:6px;gap:14px;padding:16px;display:grid}.role-recommended{border-left-color:var(--brand-blue)}.role-backup{border-left-color:var(--brand-cyan)}.role-avoided{border-left-color:var(--danger)}.role-destination{border-left-color:var(--violet)}.role-alternative,.role-near-route{border-left-color:var(--warning)}.role-network{border-left-color:#8fb3cf}.source-openchargemap.role-alternative,.source-openchargemap.role-near-route,.source-openchargemap.role-network{border-left-color:#2aa7c8}.source-openstreetmap.role-alternative,.source-openstreetmap.role-near-route,.source-openstreetmap.role-network{border-left-color:#6c914e}.source-regional-curated.role-alternative,.source-regional-curated.role-near-route,.source-regional-curated.role-network{border-left-color:#008cff}.source-partner-demo-package.role-alternative,.source-partner-demo-package.role-near-route,.source-partner-demo-package.role-network{border-left-color:#ffb020}.source-raa-charge-web.role-alternative,.source-raa-charge-web.role-near-route,.source-raa-charge-web.role-network{border-left-color:#005eb8}.source-user-home.role-alternative,.source-user-home.role-near-route,.source-user-home.role-network,.source-user-place.role-alternative,.source-user-place.role-near-route,.source-user-place.role-network{border-left-color:#00b894}.charger-card p{margin-bottom:0}.source-note{color:var(--muted);font-size:.78rem;font-weight:800}.charger-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.charger-evidence-grid span{min-width:0;color:var(--muted);background:#fff;border:1px solid #071b2e14;border-radius:8px;gap:2px;padding:7px 8px;font-size:.64rem;font-weight:850;display:grid}.charger-evidence-grid strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:950;overflow:hidden}.charger-evidence-grid .tone-source{background:#f2fbfd;border-color:#2aa7c857}.charger-evidence-grid .tone-profile{background:#effaf3;border-color:#00b87852}.charger-evidence-grid .tone-fallback,.charger-evidence-grid .tone-static{background:#fff8ea;border-color:#ffe0a7}.charger-evidence-grid .tone-status{background:#eef8ff;border-color:#70c4ff8a}.amenity-summary{color:#604100;overflow-wrap:anywhere;background:#fff8ed;border:1px solid #ffb02085;border-radius:999px;width:fit-content;max-width:100%;padding:5px 9px;font-size:.78rem;font-weight:850;display:inline-flex}.charger-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.charger-stats span{color:var(--muted);background:#f8fcff;border:1px solid #b8ddffc7;border-radius:8px;gap:2px;padding:10px;font-size:.76rem;font-weight:800;display:grid}.charger-stats strong{overflow-wrap:anywhere;color:var(--ink);font-size:.98rem}.charger-stat-wide{grid-column:1/-1}.muted{color:var(--muted);background:#fff;border:1px solid #b8ddffd1;border-radius:8px;margin:0;padding:14px}@media (width<=1180px){.topbar{grid-template-columns:1fr}.demo-nav,.topbar-actions{justify-content:flex-start}.demo-grid,.schedule-grid,.settings-grid,.detail-grid,.comparison-page,.learning-page{grid-template-columns:1fr}.week-panel,.timeline-panel,.insight-panel,.vehicle-panel,.schedule-calendar-panel,.locations-section{grid-column:auto}.day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-row{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(90px,.7fr))}.planner-layout,.planner-layout.controls-floating{grid-template-columns:minmax(420px,1fr);align-items:start;height:auto;min-height:0}.planner-layout.controls-pinned{grid-template-columns:minmax(340px,420px) minmax(420px,1fr);align-items:start;height:auto;min-height:0}.planner-layout.controls-pinned.controls-closed{grid-template-columns:minmax(280px,300px) minmax(420px,1fr)}.controls-pinned .map-control-shell{grid-column:1;width:auto;position:relative;top:auto;bottom:auto;left:auto}.controls-pinned .map-stack,.controls-floating .map-stack{grid-column:2;min-height:620px}.controls-floating .map-stack{grid-column:1}.controls-floating .map-layer-controls{left:16px}.saved-location-list{grid-template-columns:1fr}}@media (width<=820px){.app-shell{width:min(100% - 20px,1600px);padding:14px 0}.topbar{align-items:flex-start}h1{font-size:1.8rem}.planner-layout,.planner-layout.controls-pinned,.planner-layout.controls-floating,.planner-layout.controls-pinned.controls-closed,.planner-layout.controls-floating.controls-closed{grid-template-columns:1fr}.map-overlay{max-width:calc(100% - 32px);bottom:64px}.map-control-shell,.controls-pinned .map-control-shell,.controls-floating .map-control-shell,.controls-pinned .map-stack,.controls-floating .map-stack{grid-column:1}.controls-floating .map-control-shell{width:auto;position:relative;top:auto;bottom:auto;left:auto}.map-control-shell{grid-template-columns:1fr}.controls-closed .map-control-shell,.controls-floating.controls-closed .map-control-shell{grid-template-columns:1fr;width:auto}.map-control-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.controls-floating.controls-closed .map-control-tabs button{width:auto;min-height:48px;padding:8px 6px}.controls-floating.controls-closed .map-control-tab-label{clip-path:none;white-space:nowrap;width:auto;height:auto;position:static;overflow:hidden}.lead-metrics,.day-grid,.schedule-forms,.recurrence-fields,.comparison-row,.past-trip-summary,.week-calendar-grid,.month-weekdays,.month-grid{grid-template-columns:1fr}.week-day-column{gap:6px;min-height:0;padding:7px}.week-marker-stack{gap:4px;padding-right:0}.week-marker-card{padding:4px}.schedule-calendar-heading,.week-calendar-toolbar{flex-direction:column;align-items:stretch}.schedule-view-tabs,.week-calendar-nav{width:100%}.schedule-view-tabs button,.week-calendar-nav button{flex:1}.weekday-toggle-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.month-weekdays{display:none}.month-cell{min-height:74px}.timeline-row{grid-template-columns:1fr}.timeline-row p,.timeline-row small{grid-column:auto}.map-panel{height:520px}.map-plan-summary{width:auto;top:10px;left:10px;right:10px}.map-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;width:auto;top:10px;left:10px;right:10px}.map-quick-actions.compact{grid-template-columns:1fr;justify-items:end;width:auto;left:auto;right:10px}.map-plan-stop-strip{grid-template-columns:28px minmax(0,1fr);align-items:start}.map-plan-stop-copy{grid-area:1/2}.map-plan-stop-metrics{grid-area:2/1/auto/-1;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;padding-left:36px}.map-plan-stop-backup{grid-area:3/1/auto/-1;padding-left:36px}.map-plan-stop-evidence{grid-area:4/1/auto/-1;padding-left:36px}.map-stack,.controls-pinned .map-stack,.controls-floating .map-stack{height:auto;min-height:auto}.input-grid,.quick-trip-percent-grid,.charger-stats,.consumption-metrics,.electricity-rate-row{grid-template-columns:1fr}.route-charger-row{grid-template-columns:1fr 1fr}.route-charger-main{grid-column:1/-1}.route-alternative-list button{grid-template-columns:1fr 1fr}.route-alternative-name{grid-column:1/-1}.route-itinerary-item{grid-template-columns:30px minmax(0,1fr)}.route-itinerary-item em{text-align:left;grid-column:2}}@media (width<=560px){.plan-options-sheet{border-radius:14px 14px 0 0;width:100%;max-height:min(82vh,720px);bottom:0;left:0;right:0}.topbar{display:grid}.topbar-status{text-align:left;width:100%}.topbar-account-menu{left:0;right:auto}.map-panel{height:440px}.map-plan-summary.compact{overscroll-behavior:contain;max-height:min(62%,280px);overflow-y:auto}.map-plan-summary .map-route-tabs,.map-plan-summary .map-plan-metrics,.map-plan-summary .map-plan-effort,.map-plan-summary .map-plan-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.map-plan-itinerary{grid-template-columns:1fr}.map-plan-card{gap:7px;padding:10px}.route-charger-row,.route-alternative-list button{grid-template-columns:1fr}.route-alternative-name{grid-column:auto}}.app-recovery-shell{background:var(--page-bg,#f4f7fb);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.app-recovery-card{background:#fff;border:1px solid #16315224;border-radius:18px;max-width:520px;padding:28px;box-shadow:0 18px 48px #1631521f}.app-recovery-card h1{margin-top:0}
