.appRoot{--theme-surface:#fff;--theme-surface-translucent:#ffffffd1;--theme-surface-subtle:#f8fafc;--theme-surface-muted:#edf0f3;--theme-line-strong:#cfd6df;--theme-blue-text:#175cd3;--theme-green-text:#067647;--theme-amber-text:#b54708;--theme-red-text:#b42318;--theme-blue-soft:#eef4ff;--theme-green-soft:#ecfdf3;--theme-red-soft:#fef3f2;--theme-amber-soft:#fffaeb;--theme-blue-line:#cfddf8;--theme-green-line:#abefc6;--theme-red-line:#fecdca;--theme-amber-line:#fedf89;--theme-strong-surface:#101828;--theme-nav-active-top:#f6f9ff;--theme-nav-active-bottom:#edf4ff;--theme-nav-active-hover-top:#f3f7ff;--theme-nav-active-hover-bottom:#e8f1ff;--theme-blue-chip:#dbe8ff;--theme-mobile-nav-bg:#fffffff5;--theme-mobile-nav-shadow:0 16px 42px #10182829;--theme-autocomplete-bg:#fffffffa;--theme-autocomplete-shadow:0 18px 48px #10182829}.appRoot[data-theme=dark]{--bg:#0a1119;--surface:#111a24;--surface-dark:#172536;--text:#f2f4f7;--muted:#9aa9b8;--line:#293746;--blue:#5b8def;--green:#32b777;--blue-soft:#14243a;--green-soft:#12291f;--amber:#f5a524;--amber-soft:#2b2112;--red:#f97066;--red-soft:#2d1718;--shadow:0 24px 70px #00000057;--theme-surface:#111a24;--theme-surface-translucent:#111a24d6;--theme-surface-subtle:#16212d;--theme-surface-muted:#1c2835;--theme-line-strong:#3a4a5b;--theme-blue-text:#84adff;--theme-green-text:#75e0a7;--theme-amber-text:#fec84b;--theme-red-text:#fda29b;--theme-blue-soft:#152943;--theme-green-soft:#132c22;--theme-red-soft:#321a1c;--theme-amber-soft:#302514;--theme-blue-line:#31537f;--theme-green-line:#285b42;--theme-red-line:#6a3333;--theme-amber-line:#66502a;--theme-strong-surface:#1a2939;--theme-nav-active-top:#172b45;--theme-nav-active-bottom:#13253c;--theme-nav-active-hover-top:#1b3150;--theme-nav-active-hover-bottom:#162a44;--theme-blue-chip:#1b3556;--theme-mobile-nav-bg:#111a24f5;--theme-mobile-nav-shadow:0 18px 46px #00000057;--theme-autocomplete-bg:#111a24fa;--theme-autocomplete-shadow:0 18px 48px #00000057;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.themePreference{border:0;min-width:0;margin:2px 0 0;padding:0}.themePreference legend{color:#344054;margin:0 0 7px;padding:0;font-size:12px;font-weight:800}.themePreference>.fieldHelp{margin:0}.themeOptions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:11px;display:grid}.themeOption{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:13px;min-width:0;padding:12px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;position:relative}.themeOption:hover{border-color:#98a2b3;transform:translateY(-1px)}.themeOption:has(input:checked){border-color:#8fb3ff;box-shadow:0 0 0 3px #2563eb1a}.themeOption:has(input:focus-visible){outline-offset:2px;outline:3px solid #2563eb3d}.themeOption input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.themeOptionPreview{border:1px solid;border-radius:8px;grid-template-rows:10px 1fr;gap:6px;height:66px;padding:7px;display:grid;overflow:hidden}.themeOptionPreviewLight{background:#f4f6f8;border-color:#dfe4ea}.themeOptionPreviewDark{background:#0a1119;border-color:#334354}.themePreviewTopbar{border-radius:4px}.themeOptionPreviewLight .themePreviewTopbar{background:#fff;box-shadow:inset 0 -1px #dfe4ea}.themeOptionPreviewDark .themePreviewTopbar{background:#111a24;box-shadow:inset 0 -1px #293746}.themePreviewContent{grid-template-rows:repeat(2,1fr);grid-template-columns:1.15fr .85fr;gap:5px;display:grid}.themePreviewContent i{border-radius:4px;display:block}.themePreviewContent i:first-child{grid-row:1/-1}.themeOptionPreviewLight .themePreviewContent i{background:#fff;border:1px solid #dfe4ea}.themeOptionPreviewLight .themePreviewContent i:last-child{background:#eef4ff}.themeOptionPreviewDark .themePreviewContent i{background:#111a24;border:1px solid #293746}.themeOptionPreviewDark .themePreviewContent i:last-child{background:#152943;border-color:#31537f}.themeOptionCopy{gap:4px;min-width:0;display:grid}.themeOptionCopy strong{color:var(--text);font-size:12px}.themeOptionCopy small{color:var(--muted);font-size:10px;line-height:1.45}.themePreference>.fieldError{margin:8px 0 0}.appRoot[data-theme=dark] .formField label,.appRoot[data-theme=dark] .labelRow,.appRoot[data-theme=dark] .themePreference legend{color:var(--text)}.appRoot[data-theme=dark] .formField input,.appRoot[data-theme=dark] .formField select,.appRoot[data-theme=dark] .locationPickerField input[type=search],.appRoot[data-theme=dark] .dashboardFilterField input[type=search]{border-color:var(--theme-line-strong);background:var(--theme-surface);color:var(--text)}.appRoot[data-theme=dark] .formField input:hover,.appRoot[data-theme=dark] .formField select:hover,.appRoot[data-theme=dark] .themeOption:hover{border-color:#526579}.appRoot[data-theme=dark] .fieldHelp{color:var(--muted)}.appRoot[data-theme=dark] .eyebrow,.appRoot[data-theme=dark] .eyebrow.dark{color:#a8b6c5}.appRoot[data-theme=dark] .fieldError{color:var(--theme-red-text)}.appRoot[data-theme=dark] .formFeedback.error,.appRoot[data-theme=dark] .appNotice.error{border-color:var(--theme-red-line);background:var(--theme-red-soft);color:var(--theme-red-text)}.appRoot[data-theme=dark] .formFeedback.success,.appRoot[data-theme=dark] .appNotice.success{border-color:var(--theme-green-line);background:var(--theme-green-soft);color:var(--theme-green-text)}.appRoot[data-theme=dark] .secondaryButton{border-color:var(--line);background:var(--theme-surface-translucent);color:var(--text)}.appRoot[data-theme=dark] .secondaryButton:hover{background:var(--theme-surface-subtle)}.appRoot[data-theme=dark] .primaryButton,.appRoot[data-theme=dark] .authSubmit{color:#fff;background:#203249}.appRoot[data-theme=dark] .primaryButton:hover,.appRoot[data-theme=dark] .authSubmit:hover:not(:disabled){background:#29405c}.appRoot[data-theme=dark] .brandLogo:not(.brandLogo--mark){filter:brightness(0)invert();opacity:.94}body:has(.appRoot[data-theme=dark]){background:#0a1119}body:has(.appRoot[data-theme=dark]) .projectAttribution{color:#9aa9b8;background:#0a1119;border-top-color:#293746}body:has(.appRoot[data-theme=dark]) .projectAttributionByline{color:#d9e2ec}.appRoot[data-theme=dark] .tripFuelStatusWarning,.appRoot[data-theme=dark] .tripNoMarketData{background:var(--theme-amber-soft)}.appRoot[data-theme=dark] .alertKindBadge,.appRoot[data-theme=dark] .alertPromiseCard,.appRoot[data-theme=dark] .alertTypeOption.selected,.appRoot[data-theme=dark] .alertTypeOptionEyebrow,.appRoot[data-theme=dark] .tripMapControls button:hover,.appRoot[data-theme=dark] .tripProvinceChain span{background:var(--theme-blue-soft)}.appRoot[data-theme=dark] .appNotice.success,.appRoot[data-theme=dark] .comparisonPrice--cheapest,.appRoot[data-theme=dark] .tripFuelStatusGood,.appRoot[data-theme=dark] .tripRecommendationTag{background:var(--theme-green-soft)}.appRoot[data-theme=dark] .appNotice.error,.appRoot[data-theme=dark] .comparisonPrice--priciest,.appRoot[data-theme=dark] .dangerZone,.appRoot[data-theme=dark] .errorPanel{background:var(--theme-red-soft)}.appRoot[data-theme=dark] .alertPromiseIcon,.appRoot[data-theme=dark] .authAsidePreview,.appRoot[data-theme=dark] .tripCalculateButton:hover:not(:disabled),.appRoot[data-theme=dark] .tripRecommendationActions a:first-child,.appRoot[data-theme=dark] .tripStopNumber,.appRoot[data-theme=dark] .tripTopStopActions a:first-child,.appRoot[data-theme=dark] .tripTopStopRank>span{background:var(--theme-strong-surface)}.appRoot[data-theme=dark] .addressResults button,.appRoot[data-theme=dark] .appHeader,.appRoot[data-theme=dark] .browserToolbar,.appRoot[data-theme=dark] .comparisonForm select,.appRoot[data-theme=dark] .comparisonSelectorCard,.appRoot[data-theme=dark] .comparisonSharedControls select,.appRoot[data-theme=dark] .dailyAlertCard,.appRoot[data-theme=dark] .dashboardFilterField select,.appRoot[data-theme=dark] .favoriteButton,.appRoot[data-theme=dark] .historyFilter select,.appRoot[data-theme=dark] .locationPickerField input[type=search],.appRoot[data-theme=dark] .logoutButton,.appRoot[data-theme=dark] .plannerInputGrid input,.appRoot[data-theme=dark] .plannerInputGrid select,.appRoot[data-theme=dark] .plannerMunicipalityForm select,.appRoot[data-theme=dark] .plannerStationLink,.appRoot[data-theme=dark] .productPreview,.appRoot[data-theme=dark] .projectAttribution,.appRoot[data-theme=dark] .stationPeriodForm select,.appRoot[data-theme=dark] .tripAlternativeGrid article,.appRoot[data-theme=dark] .tripLocationInputWrap input,.appRoot[data-theme=dark] .tripMapAttribution,.appRoot[data-theme=dark] .tripMapControls,.appRoot[data-theme=dark] .tripMapControls button,.appRoot[data-theme=dark] .tripMapLegend,.appRoot[data-theme=dark] .tripRecommendationActions a,.appRoot[data-theme=dark] .tripTopStopActions a,.appRoot[data-theme=dark] .tripTopStopCard,.appRoot[data-theme=dark] .tripVehicleGrid input,.appRoot[data-theme=dark] .tripVehicleGrid select,.appRoot[data-theme=dark] .tripZoneCard{background:var(--theme-surface)}.appRoot[data-theme=dark] .tripLoadingCards span,.appRoot[data-theme=dark] .tripLoadingMap,.appRoot[data-theme=dark] .tripMapSvg,.appRoot[data-theme=dark] .tripMapViewport{background:var(--theme-surface-muted)}.appRoot[data-theme=dark] .accountLink:hover,.appRoot[data-theme=dark] .addressResults button:hover,.appRoot[data-theme=dark] .adminEmptyState,.appRoot[data-theme=dark] .alertCard,.appRoot[data-theme=dark] .alertEmptyState,.appRoot[data-theme=dark] .alertState,.appRoot[data-theme=dark] .alertTypeOption,.appRoot[data-theme=dark] .appContextMeta>span,.appRoot[data-theme=dark] .appNav a:hover,.appRoot[data-theme=dark] .browserAddress,.appRoot[data-theme=dark] .browserStatus,.appRoot[data-theme=dark] .emailStatus,.appRoot[data-theme=dark] .logoutButton:hover:not(:disabled),.appRoot[data-theme=dark] .plannerMarketSummary,.appRoot[data-theme=dark] .rankingsSection,.appRoot[data-theme=dark] .runStatus,.appRoot[data-theme=dark] .savingLine,.appRoot[data-theme=dark] .tripAlternativeRank,.appRoot[data-theme=dark] .tripProvinceChain,.appRoot[data-theme=dark] .tripTopStopMetrics div{background:var(--theme-surface-subtle)}.appRoot[data-theme=dark] .appContextBar,.appRoot[data-theme=dark] .decisionSignal,.appRoot[data-theme=dark] .tripIntroSteps span,.appRoot[data-theme=dark] .tripRecommendationMetrics div{background:var(--theme-surface-translucent)}.appRoot[data-theme=dark] .historyLatestPanel dl div,.appRoot[data-theme=dark] .ingestionTable td,.appRoot[data-theme=dark] .ingestionTable th,.appRoot[data-theme=dark] .marketLeadPrice{border-bottom-color:var(--line)}.appRoot[data-theme=dark] .alertTypeOption,.appRoot[data-theme=dark] .appContextMeta>span,.appRoot[data-theme=dark] .decisionSignal,.appRoot[data-theme=dark] .favoritePriceGrid,.appRoot[data-theme=dark] .tripAlternativeGrid article,.appRoot[data-theme=dark] .tripMandatoryStops article,.appRoot[data-theme=dark] .tripMapControls button,.appRoot[data-theme=dark] .tripMetricGrid,.appRoot[data-theme=dark] .tripProvinceChain,.appRoot[data-theme=dark] .tripTopStopCard,.appRoot[data-theme=dark] .tripTopStopMetrics div,.appRoot[data-theme=dark] .tripZoneCard{border-color:var(--line)}.appRoot[data-theme=dark] .configurationNotice,.appRoot[data-theme=dark] .favoriteButton.compact:hover:not(:disabled),.appRoot[data-theme=dark] .rankingList li:first-child .rankingPosition,.appRoot[data-theme=dark] .tripFuelStatusWarning,.appRoot[data-theme=dark] .tripNoMarketData{border-color:var(--theme-amber-line)}.appRoot[data-theme=dark] .alertPromiseCard,.appRoot[data-theme=dark] .decisionHero{border-color:var(--theme-blue-line)}.appRoot[data-theme=dark] .appNotice.success,.appRoot[data-theme=dark] .comparisonPrice--cheapest,.appRoot[data-theme=dark] .decisionSignal--down,.appRoot[data-theme=dark] .plannerDecisionSummary,.appRoot[data-theme=dark] .tripBetaBadge,.appRoot[data-theme=dark] .tripFuelStatusGood{border-color:var(--theme-green-line)}.appRoot[data-theme=dark] .addressSearchForm input,.appRoot[data-theme=dark] .comparisonForm select,.appRoot[data-theme=dark] .comparisonSharedControls select,.appRoot[data-theme=dark] .dashboardFilterField select,.appRoot[data-theme=dark] .favoriteButton,.appRoot[data-theme=dark] .historyFilter select,.appRoot[data-theme=dark] .locationPickerField input[type=search],.appRoot[data-theme=dark] .logoutButton:hover:not(:disabled),.appRoot[data-theme=dark] .plannerInputGrid input,.appRoot[data-theme=dark] .plannerInputGrid select,.appRoot[data-theme=dark] .plannerMunicipalityForm select,.appRoot[data-theme=dark] .stationPeriodForm select,.appRoot[data-theme=dark] .tripLocationInputWrap input,.appRoot[data-theme=dark] .tripMapViewport,.appRoot[data-theme=dark] .tripRecommendationActions a,.appRoot[data-theme=dark] .tripTopStopActions a,.appRoot[data-theme=dark] .tripVehicleGrid input,.appRoot[data-theme=dark] .tripVehicleGrid select{border-color:var(--theme-line-strong)}.appRoot[data-theme=dark] .appNotice.error,.appRoot[data-theme=dark] .comparisonPrice--priciest,.appRoot[data-theme=dark] .dangerZone,.appRoot[data-theme=dark] .decisionSignal--up,.appRoot[data-theme=dark] .errorPanel{border-color:var(--theme-red-line)}.appRoot[data-theme=dark] .favoritePriceGrid>div+div,.appRoot[data-theme=dark] .tripMetricGrid article{border-left-color:var(--line)}.appRoot[data-theme=dark] .plannerDecisionMetric{border-left-color:var(--theme-green-line)}.appRoot[data-theme=dark] .appNav,.appRoot[data-theme=dark] .brandTable td,.appRoot[data-theme=dark] .brandTable th,.appRoot[data-theme=dark] .favoritePriceGrid>div+div,.appRoot[data-theme=dark] .movementColumn>p,.appRoot[data-theme=dark] .movementColumn li,.appRoot[data-theme=dark] .notificationList article,.appRoot[data-theme=dark] .rankingList li,.appRoot[data-theme=dark] .tripMetricGrid article,.appRoot[data-theme=dark] .tripMetricGrid article:nth-child(3),.appRoot[data-theme=dark] .tripMetricGrid article:nth-child(4),.appRoot[data-theme=dark] .tripSearchFooter,.appRoot[data-theme=dark] .tripVehicleGrid{border-top-color:var(--line)}.appRoot[data-theme=dark] .plannerDecisionMetric{border-top-color:var(--theme-green-line)}.appRoot[data-theme=dark] .accountLink,.appRoot[data-theme=dark] .alertState,.appRoot[data-theme=dark] .appContextMeta>span,.appRoot[data-theme=dark] .appContextPrimary small,.appRoot[data-theme=dark] .authAlternative,.appRoot[data-theme=dark] .authAsidePreviewList span,.appRoot[data-theme=dark] .authAsidePreviewMetricRow small,.appRoot[data-theme=dark] .authFooterNote,.appRoot[data-theme=dark] .backLink,.appRoot[data-theme=dark] .browserAddress,.appRoot[data-theme=dark] .browserStatus,.appRoot[data-theme=dark] .comparisonForm label,.appRoot[data-theme=dark] .comparisonInsight p,.appRoot[data-theme=dark] .comparisonMarketMeta,.appRoot[data-theme=dark] .comparisonSharedControls label,.appRoot[data-theme=dark] .dangerAcknowledgement,.appRoot[data-theme=dark] .dangerZoneContent>p,.appRoot[data-theme=dark] .dashboardFilterField label,.appRoot[data-theme=dark] .dashboardFootnote a,.appRoot[data-theme=dark] .decisionHeroMeta,.appRoot[data-theme=dark] .decisionHeroText,.appRoot[data-theme=dark] .decisionScore>span,.appRoot[data-theme=dark] .decisionScore small,.appRoot[data-theme=dark] .decisionSignal,.appRoot[data-theme=dark] .emailStatus,.appRoot[data-theme=dark] .historyFilter label,.appRoot[data-theme=dark] .longTermDay small,.appRoot[data-theme=dark] .panelLabel,.appRoot[data-theme=dark] .plannerDecisionSummary p:not(.panelLabel),.appRoot[data-theme=dark] .plannerInputGrid label,.appRoot[data-theme=dark] .plannerMarketSummary,.appRoot[data-theme=dark] .plannerMunicipalityForm label,.appRoot[data-theme=dark] .plannerPrimaryMetric span,.appRoot[data-theme=dark] .previewDisclaimer,.appRoot[data-theme=dark] .projectAttribution,.appRoot[data-theme=dark] .radarExplainContent p,.appRoot[data-theme=dark] .radarFactor>div:first-child small,.appRoot[data-theme=dark] .radarGauge small,.appRoot[data-theme=dark] .rankingPosition,.appRoot[data-theme=dark] .rankingPrice small,.appRoot[data-theme=dark] .rankingSaving small,.appRoot[data-theme=dark] .runStatus,.appRoot[data-theme=dark] .savingLine,.appRoot[data-theme=dark] .stationPriceCard>p,.appRoot[data-theme=dark] .trendDay small,.appRoot[data-theme=dark] .tripAlternativeGrid p,.appRoot[data-theme=dark] .tripAlternativeGrid small,.appRoot[data-theme=dark] .tripAlternativeRank,.appRoot[data-theme=dark] .tripCoverageNote,.appRoot[data-theme=dark] .tripFormStatus,.appRoot[data-theme=dark] .tripInputSuffix span,.appRoot[data-theme=dark] .tripIntroSteps span,.appRoot[data-theme=dark] .tripMandatoryStops p:not(.panelLabel),.appRoot[data-theme=dark] .tripMapAttribution,.appRoot[data-theme=dark] .tripMapHelp,.appRoot[data-theme=dark] .tripMapLegend,.appRoot[data-theme=dark] .tripMetricGrid span,.appRoot[data-theme=dark] .tripProvinceChain div:not(:last-child):after,.appRoot[data-theme=dark] .tripRecommendationCopy>p:not(.panelLabel):not(.tripRecommendationPlace),.appRoot[data-theme=dark] .tripRecommendationMetrics dt,.appRoot[data-theme=dark] .tripSectionDescription,.appRoot[data-theme=dark] .tripSectionHeading>span,.appRoot[data-theme=dark] .tripSummaryRoute h2 span,.appRoot[data-theme=dark] .tripTopStopMain p,.appRoot[data-theme=dark] .tripTopStopMain small,.appRoot[data-theme=dark] .tripTopStopMetrics dt,.appRoot[data-theme=dark] .tripZoneCard dt,.appRoot[data-theme=dark] .tripZoneCard p{color:var(--muted)}.appRoot[data-theme=dark] .addressResults button,.appRoot[data-theme=dark] .alertTypeOption small,.appRoot[data-theme=dark] .authAsideItem p,.appRoot[data-theme=dark] .favoriteButton,.appRoot[data-theme=dark] .logoutButton,.appRoot[data-theme=dark] .plannerResultCard dd,.appRoot[data-theme=dark] .projectAttributionByline,.appRoot[data-theme=dark] .tripLocationField,.appRoot[data-theme=dark] .tripMapControls button,.appRoot[data-theme=dark] .tripRecommendationActions a,.appRoot[data-theme=dark] .tripRecommendationPlace,.appRoot[data-theme=dark] .tripTopStopActions a,.appRoot[data-theme=dark] .tripVehicleGrid label{color:var(--text)}.appRoot[data-theme=dark] .configurationNotice,.appRoot[data-theme=dark] .favoriteButton.compact,.appRoot[data-theme=dark] .favoriteButton:hover:not(:disabled),.appRoot[data-theme=dark] .tripNoMarketData p{color:var(--theme-amber-text)}.appRoot[data-theme=dark] .accountAvatar,.appRoot[data-theme=dark] .accountOverviewAvatar,.appRoot[data-theme=dark] .alertKindBadge,.appRoot[data-theme=dark] .alertTypeOptionEyebrow,.appRoot[data-theme=dark] .appContextMeta a,.appRoot[data-theme=dark] .appContextPin,.appRoot[data-theme=dark] .comparisonDecisionBadge,.appRoot[data-theme=dark] .decisionSecondaryLink,.appRoot[data-theme=dark] .rankingActions a,.appRoot[data-theme=dark] .tripAlternativeGrid a,.appRoot[data-theme=dark] .tripIntroSteps b,.appRoot[data-theme=dark] .tripLocationButton,.appRoot[data-theme=dark] .tripMapControls button:hover,.appRoot[data-theme=dark] .tripProvinceChain span,.appRoot[data-theme=dark] .tripZoneKm{color:var(--theme-blue-text)}.appRoot[data-theme=dark] .alertState.active,.appRoot[data-theme=dark] .appNotice.success,.appRoot[data-theme=dark] .authAsideBadge,.appRoot[data-theme=dark] .browserStatus,.appRoot[data-theme=dark] .changeDown,.appRoot[data-theme=dark] .decisionSignal--down,.appRoot[data-theme=dark] .emailStatus.sent,.appRoot[data-theme=dark] .plannerDecisionMetric strong,.appRoot[data-theme=dark] .previewFrameBadge,.appRoot[data-theme=dark] .privateAccountBadge,.appRoot[data-theme=dark] .rankingSaving span,.appRoot[data-theme=dark] .runStatus.succeeded,.appRoot[data-theme=dark] .tripBetaBadge,.appRoot[data-theme=dark] .tripFuelStatusGood,.appRoot[data-theme=dark] .tripPositive,.appRoot[data-theme=dark] .tripRecommendationTag,.appRoot[data-theme=dark] .tripTopStopRank small{color:var(--theme-green-text)}.appRoot[data-theme=dark] .appNotice.error{color:var(--theme-red-text)}.appRoot[data-theme=dark] .appHeader{background:#0a1119f2;box-shadow:0 1px #ffffff05}.appRoot[data-theme=dark] .appContextBar{background:#111a24db;box-shadow:0 8px 24px #00000029}.appRoot[data-theme=dark] .decisionHero{background:radial-gradient(circle at 88% 18%,#5b8def29,#0000 30%),linear-gradient(135deg,#111a24 0%,#132033 56%,#152943 100%);border-color:#31537f;box-shadow:0 18px 46px #0003}.appRoot[data-theme=dark] .decisionSignal{background:#111a24c2;border-color:#334354}.appRoot[data-theme=dark] .comparisonDecisionInsight{background:radial-gradient(circle at 92% 12%, #5b8def24, transparent 30%), var(--surface);box-shadow:0 16px 40px #0003}.appRoot[data-theme=dark] .plannerResultCard{--recommendation-soft:#152943;--recommendation-border:#31537f;box-shadow:0 12px 28px #0000002e}.appRoot[data-theme=dark] .plannerResultCard--cheapest{--recommendation-accent:#75e0a7;--recommendation-soft:#132c22;--recommendation-border:#285b42}.appRoot[data-theme=dark] .plannerResultCard--nearest{--recommendation-accent:#84adff;--recommendation-soft:#152943;--recommendation-border:#31537f}.appRoot[data-theme=dark] .plannerResultCard--bestNet{--recommendation-accent:#fec84b;--recommendation-soft:#302514;--recommendation-border:#66502a}.appRoot[data-theme=dark] .plannerResultCard:hover{box-shadow:0 18px 38px #00000042}.appRoot[data-theme=dark] .plannerPrimaryMetric{background:linear-gradient(135deg, var(--recommendation-soft), #111a24 72%)}.appRoot[data-theme=dark] .plannerResultCard dl,.appRoot[data-theme=dark] .historyLatestPanel dl div,.appRoot[data-theme=dark] .brandTable th,.appRoot[data-theme=dark] .brandTable td{border-color:var(--line)}.appRoot[data-theme=dark] .plannerDecisionSummary{background:linear-gradient(135deg,#14271f 0%,#11241c 100%)}.appRoot[data-theme=dark] .comparisonPrice--cheapest{border-color:var(--theme-green-line);background:var(--theme-green-soft)}.appRoot[data-theme=dark] .comparisonPrice--priciest{border-color:var(--theme-red-line);background:var(--theme-red-soft)}.appRoot[data-theme=dark] .trendPlot,.appRoot[data-theme=dark] .longTermBars{background-image:linear-gradient(#9aa9b829 1px,#0000 1px)}.appRoot[data-theme=dark] .dashboardLoadingGrid span,.appRoot[data-theme=dark] .skeletonLine,.appRoot[data-theme=dark] .loadingToolbarSkeleton span,.appRoot[data-theme=dark] .decisionLoadingSkeleton span,.appRoot[data-theme=dark] .decisionLoadingSkeleton i{background:linear-gradient(90deg,#182431,#233142,#182431)}.appRoot[data-theme=dark] .tripSummaryHero{background:radial-gradient(circle at top left, #5b8def24, transparent 36%), var(--surface)}.appRoot[data-theme=dark] .tripMetricGrid{background:#16212de6}.appRoot[data-theme=dark] .tripRecommendation{background:radial-gradient(circle at 100% 0,#32b77724,#0000 34%),linear-gradient(#111a24 0%,#12231c 100%)}.appRoot[data-theme=dark] .tripRecommendationMetrics div{background:#111a24c7}.appRoot[data-theme=dark] .tripMapAttribution,.appRoot[data-theme=dark] .tripMapLegend,.appRoot[data-theme=dark] .tripMapControls{border-color:var(--line);color:var(--muted);background:#111a24f0}.appRoot[data-theme=dark] .tripMapControls button{color:var(--text)}.appRoot[data-theme=dark] .tripMapControls button:hover{background:#1c2c3e}.appRoot[data-theme=dark] .tripTopStopCardBest{background:radial-gradient(circle at top right, #32b7771f, transparent 26%), var(--surface)}.appRoot[data-theme=dark] .tripLoadingMap:after,.appRoot[data-theme=dark] .tripLoadingCards span:after{background:linear-gradient(90deg,#0000,#84adff1f,#0000)}.appRoot[data-theme=dark] .alertTypeOption.selected{border-color:var(--theme-blue-line);background:var(--theme-blue-soft)}.appRoot[data-theme=dark] .alertPromiseCard{border-color:var(--theme-blue-line);background:#132033}.appRoot[data-theme=dark] .dangerZone,.appRoot[data-theme=dark] .errorPanel{border-color:var(--theme-red-line);background:#241719}.appRoot[data-theme=dark] .dangerZoneContent{border-top-color:var(--theme-red-line)}.appRoot[data-theme=dark] .dangerZoneContent>p{color:var(--muted)}.appRoot[data-theme=dark] .radarGauge{background:conic-gradient(#84adff 0 var(--score-angle), #26384b var(--score-angle) 360deg)}.appRoot[data-theme=dark] .factorTrack{background:#26384b}.appRoot[data-theme=dark] .factorTrack span{background:#84adff}@media (max-width:620px){.themeOptions{grid-template-columns:1fr}.themeOption{grid-template-columns:96px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.themeOption{transition:none}.themeOption:hover{transform:none}}
