:root{color-scheme:light dark;--bg:#f6f7f9;--surface:#ffffff;--surface-2:#f8f9fb;--text:#171717;--muted:#6b7280;--border:#e5e7eb;--accent:#6d5dfc;--accent-soft:#efedff;--danger:#b42318;--danger-soft:#fff1f0}@media (prefers-color-scheme:dark){:root{--bg:#101114;--surface:#181a20;--surface-2:#20232a;--text:#f5f5f5;--muted:#9ca3af;--border:#2b2f36;--accent-soft:#2a264d;--danger:#ff8b84;--danger-soft:#321e1d}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.tripShell{max-width:1480px;margin:0 auto;padding:28px 24px 32px}.tripHeader{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.tripHeader h1{margin:4px 0;font-size:clamp(28px,4vw,42px);letter-spacing:-.03em}.eyebrow,.muted,.subtitle{color:var(--muted)}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.subtitle{font-size:14px}.memberPill{padding:9px 13px;border:1px solid var(--border);border-radius:999px;white-space:nowrap}.onlineDot{width:8px;height:8px;border-radius:50%;background:#2aa66a;display:inline-block;margin-right:6px}.workspaceGrid{display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px}.mapPanel{min-width:0;padding:20px}.mapHeader,.sectionHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mapHeader small,.sectionHeading small{color:var(--muted);display:block;margin-top:3px}.mapHeader>span{color:var(--muted);font-size:14px;white-space:nowrap}.placeForm{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.placeForm input,.placeForm select{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit;outline:none}.placeForm input:focus,.placeForm select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.formRow{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.primaryButton,.secondaryButton{min-height:44px;border-radius:10px;padding:0 14px}.primaryButton{border:0;background:var(--accent);color:white;font-weight:700}.secondaryButton{border:1px solid var(--border);background:transparent;color:var(--muted)}.statusMessage{margin-top:10px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface-2);font-size:13px}.searchResults{margin-top:12px;border:1px solid var(--border);border-radius:12px;overflow:hidden}.resultsLabel{padding:8px 10px;font-size:12px;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border)}.searchResult{width:100%;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:inherit;padding:10px;text-align:left;display:grid;grid-template-columns:auto 1fr auto;grid-gap:9px;gap:9px;align-items:center}.searchResult:last-child{border-bottom:0}.searchResult:hover{background:var(--surface-2)}.resultPin{font-size:18px}.resultText{min-width:0}.resultText small,.resultText strong{display:block}.resultText small{color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.addResult{font-size:12px;font-weight:700;color:var(--accent)}.filters{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 12px}.filter{padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:inherit}.filter.active{background:var(--accent);border-color:var(--accent);color:white}.placeList{display:grid;grid-gap:10px;gap:10px}.placeCard{border:1px solid var(--border);border-radius:12px;padding:12px;overflow:hidden;transition:border-color .15s ease,background .15s ease}.placeCard.selected{border-color:var(--accent);background:var(--accent-soft)}.placeCardTop{justify-content:space-between;gap:10px}.placeCardTop,.placeSelect{display:flex;align-items:flex-start}.placeSelect{min-width:0;flex:1 1;gap:8px;border:0;background:transparent;color:inherit;padding:0;text-align:left}.placeSelect small,.placeSelect strong{display:block}.placeSelect small{color:var(--muted);margin-top:3px;font-size:12px;overflow:hidden;text-overflow:ellipsis}.placeSelect small,.placeSelect strong{overflow-wrap:anywhere}.deleteButton{border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--danger);padding:6px 8px;font-size:12px}.deleteButton:hover{background:var(--danger-soft)}.placeMeta{color:var(--muted);font-size:13px;margin-top:7px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.unmappedBadge{margin-left:auto;border:1px solid var(--border);border-radius:999px;padding:2px 6px;font-size:11px}.emptyState{border:1px dashed var(--border);border-radius:12px;padding:18px;color:var(--muted);text-align:center}.mapFrame{position:relative;margin-top:14px;min-height:640px;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.mapCanvas{width:100%;min-height:640px}.mapOverlay{position:absolute;inset:14px auto auto 14px;border:1px solid var(--border);border-radius:10px;padding:9px 11px;background:var(--surface);color:var(--muted);font-size:13px;max-width:calc(100% - 28px)}.mapError{color:var(--danger)}.mapSetup{margin-top:14px;min-height:640px;border:1px dashed var(--border);border-radius:16px;display:grid;place-content:center;text-align:center;padding:30px;color:var(--muted)}.mapSetup strong{color:var(--text)}.mapSetup p{max-width:520px;margin:8px auto 0;line-height:1.5}.mapSetupIcon{font-size:52px;margin-bottom:8px}.mapSetup code{color:var(--text)}.selectedPanel{margin-top:12px;border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;grid-gap:5px;gap:5px}.selectedLabel,.selectedPanel small{color:var(--muted)}.selectedLabel{font-size:12px;text-transform:uppercase;letter-spacing:.05em}.selectedMeta{font-size:13px;color:var(--muted)}.placeId{display:block;margin-top:4px;font-size:11px;color:var(--muted);word-break:break-all}@media (max-width:1120px){.tripShell{padding:18px}.workspaceGrid{grid-template-columns:1fr}.mapPanel{order:-1}.mapCanvas,.mapFrame,.mapSetup{min-height:460px}}@media (max-width:820px){.tripShell{padding:14px}.tripHeader{align-items:flex-start}.mapCanvas,.mapFrame,.mapSetup{min-height:390px}}@media (max-width:520px){.tripHeader{display:grid}.memberPill{width:-moz-fit-content;width:fit-content}.formRow{grid-template-columns:1fr}.mapHeader{display:grid}.mapHeader>span{white-space:normal}}.homeShell{max-width:1080px;margin:0 auto;padding:48px 24px}.heroCard{max-width:760px;padding:34px;border:1px solid var(--border);border-radius:22px;background:var(--surface)}.authCard h1,.heroCard h1,.homeHeader h1{margin:7px 0 10px;letter-spacing:-.035em}.heroCard h1{font-size:clamp(38px,7vw,64px)}.heroCard p{color:var(--muted);font-size:18px;line-height:1.6;max-width:650px}.primaryLink,.secondaryLink{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border-radius:10px;padding:0 14px;text-decoration:none;font-weight:700}.primaryLink{background:var(--accent);color:#fff}.secondaryLink{border:1px solid var(--border);background:var(--surface)}.homeHeader{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.homeHeader h1{font-size:42px}.homeGrid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);grid-gap:18px;gap:18px}.homeGrid h2{margin-top:0}.createTripForm{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.createTripForm input{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit}.authForm label span,.createTripForm label span{display:block;margin-bottom:5px;color:var(--muted);font-size:13px}.tripList{display:grid;grid-gap:8px;gap:8px}.tripListItem{display:grid;grid-gap:4px;gap:4px;padding:13px;border:1px solid var(--border);border-radius:12px;text-decoration:none}.tripListItem:hover{border-color:var(--accent)}.tripListItem small{color:var(--muted)}.authShell{min-height:70vh;display:grid;place-items:center;padding:30px 20px}.authCard{width:min(520px,100%);border:1px solid var(--border);border-radius:20px;background:var(--surface);padding:28px}.authForm{display:grid;grid-gap:10px;gap:10px;margin-top:20px}.authForm input,.inviteUrl{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit}.setupCard{width:min(720px,100%)}.setupSteps{padding-left:22px;line-height:1.7}.envSample{overflow:auto;padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);font-size:12px}.compactButton{min-height:38px}.headerActions{justify-content:flex-end;gap:8px}.headerActions,.shareControl{display:flex;flex-wrap:wrap;align-items:center}.shareControl{gap:7px;max-width:480px}.shareControl small{flex-basis:100%}.inviteUrl{min-height:38px;max-width:330px;font-size:12px}.liveText{color:#2aa66a}.errorText{color:var(--danger)}.inlineDaySelect{border:0;background:transparent;color:var(--muted);padding:0;max-width:105px}.tripFooter{color:var(--muted);font-size:12px;margin-top:14px;text-align:right}.inviteAction{margin-top:18px;display:grid;grid-gap:10px;gap:10px}.headerActions{row-gap:10px}.mapHeader,.sectionHeading{gap:16px}.mapPanel .routeSummaryPanel,.mapPanel .selectedPanel{margin-top:14px}@media (max-width:820px){.homeGrid{grid-template-columns:1fr}.homeHeader{align-items:flex-start}.headerActions{justify-content:flex-start}}.modalBackdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.52);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modalCard{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);padding:20px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.modalCard h2{margin:4px 0 0;letter-spacing:-.025em}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.iconButton{width:40px;height:40px;flex:0 0 auto;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--muted);font-size:24px;line-height:1}.iconButton:hover{background:var(--surface-2);color:var(--text)}.settingsSection{display:grid;grid-gap:11px;gap:11px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.settingsHint{margin:5px 0 0;line-height:1.45}.settingsInput{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit;outline:none}.settingsInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modalActions,.settingsActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.modalActions{margin-top:20px}.dangerZone{border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:12px;padding:14px;background:var(--danger-soft)}.dangerButton{min-height:44px;width:-moz-fit-content;width:fit-content;border:1px solid var(--danger);border-radius:10px;padding:0 14px;background:transparent;color:var(--danger);font-weight:700}.dangerButton:hover:not(:disabled){background:var(--danger-soft)}.solidDanger{background:var(--danger);color:white}.solidDanger:hover:not(:disabled){filter:brightness(.94)}.dangerModal{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.dangerEyebrow{color:var(--danger)}.confirmSummary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;margin-top:20px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.confirmSummary span{min-width:0;overflow-wrap:anywhere}.confirmSummary span:last-child{font-weight:700}.confirmLabel{display:grid;grid-gap:8px;gap:8px;margin-top:18px}.confirmLabel>span{font-size:13px;color:var(--muted)}@media (max-width:520px){.modalBackdrop{padding:12px;align-items:end}.modalCard{max-height:calc(100vh - 24px);border-radius:18px 18px 12px 12px}.confirmSummary{grid-template-columns:1fr}.confirmSummary strong{transform:rotate(90deg);width:-moz-fit-content;width:fit-content}.modalActions>button,.settingsActions>button{width:100%}}.placeControls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;align-items:end;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.compactField{min-width:0;display:grid;grid-gap:4px;gap:4px}.compactField>span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.inlineMetaSelect{width:100%;min-height:36px;border:1px solid var(--border);border-radius:9px;padding:6px 8px;background:var(--surface);color:var(--text);outline:none}.inlineMetaSelect:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.starSelect{min-width:0}.orderField{width:100%}.orderButtons{display:flex;gap:5px}.orderButton{width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-weight:800}.orderButton:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.controlBadge{align-self:center;justify-self:start;margin-left:0}@media (max-width:620px){.placeControls{grid-template-columns:1fr}.orderButtons,.orderField{width:100%}.orderButton{flex:1 1}.controlBadge{grid-column:auto}}.routeControls{display:grid;grid-template-columns:minmax(140px,.8fr) auto minmax(180px,1.2fr);grid-gap:10px;gap:10px;align-items:end;margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.routeControls>label{display:grid;grid-gap:5px;gap:5px}.routeContext small,.routeControls>label>span{color:var(--muted);font-size:11px}.routeControls select{width:100%;padding:7px 9px;color:var(--text)}.routeControls select,.trafficToggle{min-height:40px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.trafficToggle{display:flex!important;grid-auto-flow:column;align-items:center;justify-content:center;gap:7px!important;padding:0 11px;white-space:nowrap}.trafficToggle input{width:16px;height:16px}.trafficToggle>span{color:var(--text)!important;font-size:13px!important}.routeContext{display:grid;grid-gap:3px;gap:3px;min-width:0}.routeContext strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routeSummaryPanel{margin-top:12px;border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface)}.routeSummaryTop{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.routeStatus{border:1px solid var(--border);border-radius:999px;padding:4px 8px;color:var(--muted);font-size:11px;white-space:nowrap}.routeStatus.ready{color:#2aa66a;border-color:color-mix(in srgb,#2aa66a 35%,var(--border))}.routeStatus.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.routeHint{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.45}.routeHintError{color:var(--danger)}.routeTotals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.routeTotals>div{min-width:0;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.routeTotals span,.routeTotals strong{display:block}.routeTotals span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.routeTotals strong{margin-top:3px;font-size:14px;overflow-wrap:anywhere}.routeLegs{display:grid;grid-gap:6px;gap:6px;margin-top:10px}.routeLeg{display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start;padding:8px 0;border-top:1px solid var(--border)}.routeLeg:first-child{border-top:0}.routeLegNumber{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800}.routeLeg small,.routeLeg strong{display:block}.routeLeg strong{font-size:13px;overflow-wrap:anywhere}.routeLeg small{color:var(--muted);margin-top:2px}.routeWarnings{display:grid;grid-gap:4px;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.routeWarnings small{color:var(--muted);line-height:1.45}@media (max-width:720px){.routeControls{grid-template-columns:1fr 1fr}.routeContext{grid-column:1/-1}.routeTotals{grid-template-columns:1fr 1fr}}@media (max-width:460px){.routeControls{grid-template-columns:1fr}.routeContext{grid-column:auto}.routeTotals{grid-template-columns:1fr 1fr}}.wishlistLayout{display:grid;grid-template-columns:minmax(210px,250px) minmax(330px,430px) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.wishlistSidebar{position:-webkit-sticky;position:sticky;top:14px;min-width:0}.folderTree{display:grid;grid-gap:3px;gap:3px;margin-top:14px}.folderRoot,.folderSelect{border:0;background:transparent;color:inherit;text-align:left;min-height:38px}.folderRoot{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:9px;padding:7px 9px}.folderRoot small,.folderSelect small{color:var(--muted);margin-left:auto}.folderRoot.active,.folderRow.active{background:var(--accent-soft)}.folderRow{display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;border-radius:9px}.folderRow,.folderSelect{align-items:center;min-width:0}.folderSelect{display:flex;gap:7px;padding:6px 5px}.folderSelect span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folderMiniAction{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:0}.folderMiniAction:hover{background:var(--surface-2);color:var(--text)}.folderMiniAction.danger:hover{color:var(--danger);background:var(--danger-soft)}.folderCreator{border-top:1px solid var(--border);margin-top:14px;padding-top:14px;display:grid;grid-gap:7px;gap:7px}.folderCreator input,.folderCreator select,.wishlistTripAction select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:inherit}.wishlistListPanel{min-width:0}.wishlistScopeTitle{margin:18px 0 10px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.wishlistScopeTitle small{color:var(--muted)}.wishlistPlaceList{max-height:780px;overflow:auto;padding-right:2px}.wishlistItemControls{display:grid;grid-template-columns:1.15fr 1fr .8fr;grid-gap:7px;gap:7px;margin-top:10px}.wishlistTripAction{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:7px;gap:7px;margin-top:9px}.wishlistTripAction .secondaryButton{min-height:40px;white-space:nowrap}.wishlistMapPanel{min-width:0;position:-webkit-sticky;position:sticky;top:14px}@media (max-width:1120px){.wishlistLayout{grid-template-columns:minmax(200px,240px) minmax(0,1fr)}.wishlistMapPanel{grid-column:1/-1;position:static}}@media (max-width:760px){.wishlistLayout{grid-template-columns:1fr}.wishlistSidebar{position:static}.wishlistMapPanel{grid-column:auto;order:-1}.wishlistItemControls{grid-template-columns:1fr 1fr}}@media (max-width:520px){.wishlistItemControls,.wishlistTripAction{grid-template-columns:1fr}}.wishlistBulkBar{display:grid;grid-gap:10px;gap:10px;margin:0 0 12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%)}.wishlistBulkTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.wishlistBulkQuickActions{display:flex;gap:7px;flex-wrap:wrap}.wishlistBulkTripAction{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px}.wishlistBulkTripAction select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:inherit}.wishlistSelectBox{display:grid;place-items:center;min-width:32px;min-height:38px;cursor:pointer}.wishlistSelectBox input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.placeCard.bulkSelected{outline:2px solid color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:-2px}.selectedPanel .compactButton{margin-top:10px}@media (max-width:760px){.wishlistBulkTripAction{grid-template-columns:1fr}.wishlistBulkTripAction>button{width:100%}}.homeTripRow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:stretch}.homeTripLink{min-width:0}.homeTripRow>.compactButton{align-self:center}.settingsSection label{display:grid;grid-gap:6px;gap:6px}@media (max-width:560px){.homeTripRow{grid-template-columns:1fr}.homeTripRow>.compactButton{width:100%}}.itineraryPanel{min-width:0;overflow:hidden}.compactField,.placeCard,.placeCardTop,.placeControls,.placeSelect{min-width:0;max-width:100%}.placeControls{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;overflow:hidden}.placeControls>*{min-width:0;max-width:100%}.inlineMetaSelect,.starSelect{width:100%;min-width:0!important;max-width:100%;text-overflow:ellipsis}.orderField{width:100%!important;min-width:0}.orderButtons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.orderButton,.orderButtons{width:100%;min-width:0}@media (max-width:620px){.placeControls{grid-template-columns:1fr!important}}.dayRoutePlanner{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);display:grid;grid-gap:12px;gap:12px}.dayRoutePlannerHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dayRoutePlannerHeader small{display:block;margin-top:3px;color:var(--muted)}.dayRoutePlannerGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.dayRoutePlannerGrid label{min-width:0;display:grid;grid-gap:5px;gap:5px}.dayRoutePlannerGrid label>span,.routeTimeAnchor>span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.dayRoutePlannerGrid input,.dayRoutePlannerGrid select{width:100%;min-width:0;min-height:40px;padding:7px 9px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text)}.routePreferenceRow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.routeTimeAnchor{min-height:40px;display:flex;gap:9px;align-items:center;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.routeTimeAnchor>span{margin-right:2px}.routeTimeAnchor label{display:flex;gap:5px;align-items:center;font-size:12px;white-space:nowrap}.routeTimeAnchor input{margin:0}.optimizationSuggestion{display:grid;grid-gap:10px;gap:10px;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:10px;background:var(--surface)}.optimizationSuggestion>div:first-child small,.optimizationSuggestion>div:first-child span,.optimizationSuggestion>div:first-child strong{display:block}.optimizationSuggestion>div:first-child span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.optimizationSuggestion>div:first-child small{color:var(--muted);margin-top:3px}.optimizationOrder{display:flex;gap:6px;flex-wrap:wrap}.optimizationOrder span{padding:5px 8px;border:1px solid var(--border);border-radius:999px;font-size:11px;background:var(--surface-2)}.optimizationActions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.routeScheduleSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:8px}.routeScheduleSummary>div{min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.routeScheduleSummary span,.routeScheduleSummary strong{display:block}.routeScheduleSummary span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.routeScheduleSummary strong{margin-top:3px;overflow-wrap:anywhere}@media (max-width:1180px){.dayRoutePlannerGrid,.routeScheduleSummary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.dayRoutePlannerHeader{display:grid}.dayRoutePlannerGrid{grid-template-columns:1fr}.routePreferenceRow{display:grid}.routeTimeAnchor{flex-wrap:wrap;height:auto;padding:9px 10px}.routeScheduleSummary{grid-template-columns:1fr 1fr}.optimizationActions>button{width:100%}}.placeSelect{align-items:center}.placeOrderBadge{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:800;line-height:1;box-shadow:0 0 0 3px var(--accent-soft)}.placeCategoryIcon{flex:0 0 auto;font-size:17px;line-height:1}.placeCard.selected .placeOrderBadge{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.googlePlaceCard{margin-top:10px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface-2)}.googlePlaceCard.compact{display:grid;grid-template-columns:minmax(110px,34%) minmax(0,1fr)}.googlePlaceFallback,.googlePlaceLoading{padding:10px 12px;color:var(--muted);font-size:12px}.googlePlacePhotoWrap{position:relative;min-height:112px;overflow:hidden;background:var(--surface-2)}.googlePlacePhoto{display:block;width:100%;height:100%;min-height:112px;object-fit:cover}.googlePhotoAttribution{position:absolute;left:5px;right:5px;bottom:5px;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 10px);padding:2px 5px;border-radius:5px;background:rgba(0,0,0,.58);color:#fff;font-size:8px}.googlePhotoAttribution a{color:inherit}.googlePlaceInfo{min-width:0;padding:10px 11px;display:grid;grid-gap:6px;gap:6px;align-content:start}.googlePlaceMetaRow{display:flex;gap:7px;flex-wrap:wrap;align-items:center;font-size:12px}.googleRating strong{font-size:14px}.googlePlaceAddress,.googleType{color:var(--muted)}.businessStatus{font-size:11px;font-weight:650;overflow-wrap:anywhere}.businessStatus.open{color:#21885a}.businessStatus.closed{color:var(--danger)}.businessStatus.neutral{color:var(--muted)}.googlePlaceAddress{font-size:11px;line-height:1.35;overflow-wrap:anywhere}.googlePlaceLinks{display:flex;flex-wrap:wrap;gap:8px}.googlePlaceLinks a,.googlePlaceLinks button{border:0;padding:0;background:transparent;color:var(--accent);font-size:11px;font-weight:700;text-decoration:none}.googleHoursList{display:grid;grid-gap:2px;gap:2px;padding-top:5px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;line-height:1.35}@media(max-width:620px){.googlePlaceCard.compact{grid-template-columns:1fr}.googlePlacePhoto,.googlePlacePhotoWrap{min-height:150px;max-height:210px}}.stayMinutesInput{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.stayMinutesInput::-webkit-inner-spin-button,.stayMinutesInput::-webkit-outer-spin-button{opacity:.6}.routeStopTiming{display:flex;gap:10px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:12px}.routeStopTiming b{color:var(--text)}.routeScheduleSummary small{display:block;margin-top:3px;color:var(--muted);font-size:11px}@media (min-width:1121px){.tripShell{width:min(1840px,calc(100vw - 32px));max-width:none;padding-left:20px;padding-right:20px}.workspaceGrid{grid-template-columns:minmax(440px,500px) minmax(720px,1fr);gap:24px}.itineraryPanel,.mapPanel{width:100%}.mapPanel{min-width:0;padding:22px}.mapCanvas,.mapFrame,.mapSetup{min-height:680px}}@media (min-width:1600px){.workspaceGrid{grid-template-columns:minmax(480px,540px) minmax(0,1fr);gap:26px}.tripShell{width:min(1900px,calc(100vw - 40px))}}@media (min-width:1121px){.wishlistShell{width:min(1900px,calc(100vw - 32px));max-width:none}.wishlistLayout{grid-template-columns:minmax(250px,290px) minmax(500px,580px) minmax(680px,1fr);gap:24px}.wishlistListPanel,.wishlistMapPanel,.wishlistSidebar{min-width:0}.wishlistPlaceList{max-height:none}.wishlistMapPanel .mapCanvas,.wishlistMapPanel .mapFrame,.wishlistMapPanel .mapSetup{min-height:680px}}@media (min-width:1600px){.wishlistShell{width:min(1960px,calc(100vw - 40px))}.wishlistLayout{grid-template-columns:minmax(270px,310px) minmax(540px,620px) minmax(0,1fr);gap:26px}}.wishlistPlaceList{gap:14px}.wishlistPlaceList .placeCard{padding:14px}.wishlistPlaceList .googlePlaceCard.rich{margin-top:12px;display:grid;grid-template-columns:minmax(220px,42%) minmax(0,1fr);min-height:220px}.wishlistPlaceList .googlePlaceCard.rich .googlePlacePhotoWrap{min-height:220px}.wishlistPlaceList .googlePlaceCard.rich .googlePlacePhoto{min-height:220px;max-height:330px}.googlePlaceCard.rich .googlePlaceInfo{padding:14px 15px;gap:9px}.googlePlaceCard.rich .googlePlaceMetaRow{font-size:13px}.googlePlaceCard.rich .googleRating strong{font-size:17px}.googlePlaceCard.rich .googlePlaceAddress{font-size:12px;line-height:1.5}.googlePlaceCard.rich .googlePlaceLinks{gap:12px;margin-top:2px}.googlePlaceCard.rich .googlePlaceLinks a,.googlePlaceCard.rich .googlePlaceLinks button{font-size:12px}.googleRichDetails{display:grid;grid-gap:10px;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.googleRichLoading{color:var(--muted);font-size:12px}.googleEditorialSummary{margin:0;color:var(--text);font-size:13px;line-height:1.55}.googleRichFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px}.googleRichFacts>div{min-width:0;padding:8px 9px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.googleRichFacts span,.googleRichFacts strong{display:block}.googleRichFacts span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.googleRichFacts strong{margin-top:3px;font-size:12px;overflow-wrap:anywhere}.googleAccessibility{display:grid;grid-gap:6px;gap:6px}.googleAccessibility>span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.googleAccessibility>div{display:flex;gap:6px;flex-wrap:wrap}.googleFactChip{border:1px solid var(--border);border-radius:999px;padding:4px 7px;color:var(--muted);font-size:11px;background:var(--surface)}.wishlistNotes{display:grid;grid-gap:7px;gap:7px;margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.wishlistNotesActions,.wishlistNotesHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.wishlistNotesHeader>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.wishlistNotesHeader small{color:var(--muted)}.wishlistNotes textarea{width:100%;min-height:72px;resize:vertical;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);line-height:1.45}.wishlistNotes textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.wishlistNotesActions .muted{font-size:11px}.wishlistEmojiRow{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.emojiPickerToggle{min-height:34px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:700}.emojiPickerToggle.active,.emojiPickerToggle:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.wishlistEmojiPicker{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 260px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.wishlistEmojiButton{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;font-size:18px;line-height:1}.wishlistEmojiButton:hover{background:var(--accent-soft);transform:translateY(-1px)}@media (max-width:1400px){.wishlistPlaceList .googlePlaceCard.rich{grid-template-columns:minmax(180px,36%) minmax(0,1fr)}}@media (max-width:760px){.wishlistPlaceList .googlePlaceCard.rich{grid-template-columns:1fr}.wishlistPlaceList .googlePlaceCard.rich .googlePlacePhoto,.wishlistPlaceList .googlePlaceCard.rich .googlePlacePhotoWrap{min-height:190px;max-height:280px}.googleRichFacts{grid-template-columns:1fr}.wishlistNotesActions{align-items:flex-start;flex-direction:column}.wishlistNotesActions button{width:100%}}.wishlistEmojiPickerPanel{flex:1 1 100%;display:grid;grid-gap:8px;gap:8px;padding:9px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.wishlistEmojiTabs{display:flex;gap:5px;flex-wrap:wrap}.emojiCategory{min-height:30px;padding:0 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:700}.emojiCategory.active,.emojiCategory:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.wishlistEmojiPickerPanel .wishlistEmojiPicker{max-height:132px;overflow-y:auto;padding-right:2px}.wishlistEmojiPickerPanel .wishlistEmojiButton{font-size:20px}