@import "https://fonts.googleapis.com/css2?family=Lora:wght@700&display=swap&subset=vietnamese";
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f2;--panel:#fff;--panel-soft:#eef3ef;--text:#17211e;--muted:#64706b;--line:#d9e0da;--accent:#0f766e;--accent-strong:#0a5f59;--accent-soft:#d8f2ec;--amber:#b7791f;--amber-soft:#fff2d8;--danger:#b42318;--danger-soft:#fee4df;--shadow:0 18px 42px #17211e17}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101614;--panel:#18201d;--panel-soft:#202a26;--text:#eff7f3;--muted:#a8b5af;--line:#33413c;--accent:#35c6b5;--accent-strong:#65dfcf;--accent-soft:#163a35;--amber:#f0b45c;--amber-soft:#3a2b17;--danger:#ff897c;--danger-soft:#3d1f1b;--shadow:0 18px 42px #00000040}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-height:100vh;color:var(--text);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,1280px);min-height:100vh;margin:0 auto;padding:18px 14px 32px}.entry-animation{z-index:3000;pointer-events:none;background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 34%), color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);place-items:center;padding:24px;animation:1.8s forwards entry-shell;display:grid;position:fixed;inset:0}.entry-card{border:1px solid color-mix(in srgb, var(--line) 72%, transparent);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:18px;justify-items:center;gap:12px;width:min(86vw,360px);padding:26px 24px;animation:1.4s cubic-bezier(.2,.9,.25,1) forwards entry-card;display:grid;box-shadow:0 24px 80px #0c302a38}.entry-compass{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 22%, transparent), transparent), color-mix(in srgb, var(--panel-strong) 88%, transparent);width:86px;height:86px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line) 72%, transparent);border-radius:999px;place-items:center;display:grid;position:relative}.entry-compass img{object-fit:cover;border-radius:999px;width:58px;height:58px;animation:1.45s both entry-logo}.entry-compass svg{color:#fff;background:var(--accent);border-radius:999px;width:34px;height:34px;padding:5px;animation:1.45s both entry-arrow;position:absolute;bottom:5px;right:-7px;box-shadow:0 10px 24px #10b98152}.entry-route{justify-content:center;align-items:center;gap:34px;width:min(220px,70vw);height:24px;display:flex;position:relative}.entry-route:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);transform-origin:0;height:2px;animation:1.25s .15s forwards entry-route;position:absolute;top:50%;left:18px;right:18px;transform:translateY(-50%)scaleX(0)}.entry-route span{z-index:1;background:var(--accent);width:11px;height:11px;box-shadow:0 0 0 7px color-mix(in srgb, var(--accent) 16%, transparent);opacity:0;border-radius:999px;animation:.5s forwards entry-dot;position:relative;transform:scale(.5)}.entry-route span:nth-child(2){animation-delay:.28s}.entry-route span:nth-child(3){animation-delay:.52s}.entry-card p{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:2px 0 -6px;font-size:.78rem;font-weight:900}.entry-card strong{color:var(--text);font-size:1.1rem}@keyframes entry-shell{0%{opacity:0}12%,78%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes entry-card{0%{opacity:0;transform:translateY(22px)scale(.94)}24%,82%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-12px)scale(.98)}}@keyframes entry-logo{0%{transform:scale(.8)rotate(-8deg)}70%{transform:scale(1.05)rotate(2deg)}to{transform:scale(1)rotate(0)}}@keyframes entry-arrow{0%{opacity:0;transform:translate(-24px,18px)rotate(-35deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes entry-route{to{transform:translateY(-50%)scaleX(1)}}@keyframes entry-dot{to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.entry-animation,.entry-card,.entry-compass img,.entry-compass svg,.entry-route:before,.entry-route span{animation-duration:.01ms;animation-iteration-count:1}}.top-bar{grid-template-columns:42px 1fr auto;align-items:center;gap:10px;margin-bottom:16px;display:grid}.brand-mark,.icon-button,.primary-icon{border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.brand-mark{background:var(--accent);color:#fff}.brand-copy p,.brand-copy span,.eyebrow,.summary-tile p,.section-heading h2,.expense-item h3,.expense-item p{margin:0}.brand-copy p{font-weight:800;line-height:1.1}.brand-copy span,.eyebrow,.summary-tile p,.expense-item p,.rate-note,.section-heading span{color:var(--muted);font-size:.82rem}.icon-button,.primary-icon{border:1px solid var(--line);background:var(--panel);color:var(--text)}.top-actions{align-items:center;gap:8px;display:inline-flex}.trip-manager{gap:8px;margin-bottom:12px;display:grid}.trip-manager label,.trip-create-form{gap:6px;display:grid}.trip-manager label span{color:var(--muted);font-size:.82rem;font-weight:800}.trip-manager select,.trip-create-form input,.trip-create-form button{border:1px solid var(--line);background:var(--panel);min-width:0;min-height:42px;color:var(--text);border-radius:8px}.trip-manager select,.trip-create-form input{padding:0 11px}.trip-create-form{grid-template-columns:minmax(0,1fr) 42px}.trip-create-form button{background:var(--accent);color:#fff;border-color:#0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.trip-create-form button:disabled,.trip-manager select:disabled{cursor:not-allowed;opacity:.6}.logout-button,.auth-submit,.google-submit{border:1px solid var(--line);background:var(--panel);min-height:42px;color:var(--text);border-radius:8px;padding:0 12px;font-weight:800}.auth-submit{background:var(--accent);color:#fff;border-color:#0000;width:100%;margin-top:12px}.auth-submit:disabled{cursor:not-allowed;opacity:.65}.google-submit{background:var(--panel);justify-content:center;align-items:center;gap:9px;width:100%;margin-top:8px;display:inline-flex}.google-submit span{border:1px solid var(--line);width:22px;height:22px;color:var(--accent-strong);border-radius:999px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.google-submit:disabled{cursor:not-allowed;opacity:.65}.primary-icon:disabled{cursor:not-allowed;opacity:.6}.primary-icon{background:var(--accent);color:#fff;border-color:#0000}.trip-strip{gap:10px;margin-bottom:12px;display:grid}.route-card{border:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 75%, transparent), transparent), repeating-linear-gradient(115deg, transparent 0 13px, color-mix(in srgb, var(--line) 38%, transparent) 13px 14px), var(--panel);min-height:96px;box-shadow:var(--shadow);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;display:grid;overflow:hidden}.route-card h1{margin:2px 0 0;font-size:2rem;line-height:1}.route-line{grid-template-columns:repeat(3,1fr);align-items:center;gap:0;min-width:72px;height:22px;display:grid;position:relative}.route-line:before{background:var(--accent);content:"";height:2px;position:absolute;left:0;right:0}.route-line span{z-index:1;border:2px solid var(--accent);background:var(--panel);border-radius:999px;width:10px;height:10px}.route-line span:nth-child(2){border-color:var(--amber);justify-self:center}.route-line span:nth-child(3){justify-self:end}.route-meta{white-space:nowrap;justify-items:end;gap:4px;display:grid}.route-meta span{color:var(--muted);font-size:.82rem}.offline-pill{border:1px solid var(--line);background:var(--panel);min-height:42px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.offline-pill.ready{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft);color:var(--accent-strong)}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.api-alert{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--line));background:var(--danger-soft);color:var(--danger);border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:.9rem;font-weight:700}.live-sync-bar{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));background:var(--panel);color:var(--muted);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:12px;padding:9px 10px;font-size:.84rem;font-weight:750;display:grid}.live-sync-bar span{min-width:0}.live-sync-bar button{border:1px solid var(--line);background:var(--panel-soft);min-height:32px;color:var(--text);border-radius:8px;padding:0 10px;font-weight:850}.live-sync-bar button:disabled{cursor:not-allowed;opacity:.65}.live-sync-bar .spinning{animation:.9s linear infinite spin-sync}@keyframes spin-sync{to{transform:rotate(360deg)}}.sync-alert{border:1px solid color-mix(in srgb, var(--amber) 36%, var(--line));background:var(--amber-soft);color:var(--amber);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:12px;padding:9px 10px;font-size:.84rem;font-weight:800;display:grid}.sync-alert span{min-width:0}.sync-alert button{border:1px solid color-mix(in srgb, var(--amber) 45%, transparent);background:var(--panel);min-height:32px;color:var(--text);border-radius:8px;padding:0 10px;font-weight:850}.sync-alert button:disabled{cursor:not-allowed;opacity:.65}.presence-toast{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--accent-soft);color:var(--accent-strong);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:12px;padding:9px 10px;font-size:.84rem;font-weight:850;display:grid}.presence-toast.leave{border-color:var(--line);background:var(--panel);color:var(--muted)}.presence-toast.message{border-color:color-mix(in srgb, var(--amber) 35%, var(--line));background:var(--amber-soft);color:var(--amber)}.presence-toast span{min-width:0}.presence-toast button{border:1px solid var(--line);background:var(--panel);width:28px;height:28px;color:inherit;border-radius:8px;font-weight:900}.empty-state{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;margin-bottom:12px;padding:14px;display:grid}.empty-state svg{color:var(--accent)}.empty-state h2{color:var(--text);margin:0 0 4px;font-size:1rem}.empty-state p{margin:0;line-height:1.45}.summary-tile{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-content:start;gap:8px;min-height:92px;padding:12px;display:grid}.summary-tile>span{background:var(--panel-soft);width:30px;height:30px;color:var(--accent);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.summary-tile strong{margin-top:4px;line-height:1.15;display:block}.mobile-tabs{z-index:900;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 -2px 12px;padding:4px;display:grid;position:sticky;top:0}.mobile-tabs button{min-width:0;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-weight:850;display:inline-flex}.mobile-tabs button.active{background:var(--accent);color:#fff}.app-nav-rail{position:relative}.app-nav-toggle,.app-nav-tools{display:none}.route-intel{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin-bottom:12px;padding:14px}.route-intel-grid{gap:10px;margin-bottom:10px;display:grid}.route-builder{gap:8px;margin-bottom:10px;display:grid}.route-builder label{gap:6px;display:grid}.route-builder span{color:var(--muted);font-size:.82rem;font-weight:800}.route-builder input,.route-builder button{border:1px solid var(--line);background:var(--panel-soft);min-width:0;min-height:42px;color:var(--text);border-radius:8px;padding:0 11px}.route-builder input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.route-builder .place-field{position:relative}.place-suggestion-list{gap:5px;max-height:190px;padding:2px;display:grid;overflow-y:auto}.route-builder .place-suggestion-list button{border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--panel) 78%, transparent);min-height:40px;color:var(--text);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:8px;padding:7px 9px;display:grid}.route-builder .place-suggestion-list button:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--line));background:color-mix(in srgb, var(--accent) 10%, var(--panel))}.place-suggestion-list strong,.place-suggestion-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.place-suggestion-list strong{color:var(--text);font-size:.86rem;font-weight:900}.place-suggestion-list small{color:var(--muted);font-size:.73rem;font-weight:750}.place-suggestion-list em{background:color-mix(in srgb, var(--accent) 12%, var(--panel));color:var(--accent-strong);white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:.66rem;font-style:normal;font-weight:900}.route-builder button{background:var(--accent);color:#fff;border-color:#0000;justify-content:center;align-items:center;gap:7px;font-weight:900;display:inline-flex}.route-builder button span{color:inherit;font-size:.9rem}.route-builder .place-suggestion-list button>span{min-width:0;font-size:inherit;gap:1px;display:grid}.route-builder button:disabled{cursor:not-allowed;opacity:.65}.route-builder-actions{grid-column:1/-1;grid-template-columns:1fr;gap:8px;display:grid}.route-place-shortcuts{grid-column:1/-1;gap:7px;padding:1px 1px 4px;display:flex;overflow-x:auto}.route-place-shortcuts>span{color:var(--muted);flex:none;align-self:center;font-size:.76rem;font-weight:900}.route-builder .route-place-shortcuts button{border:1px solid var(--line);background:var(--panel-soft);max-width:190px;min-height:32px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:.76rem;font-weight:850;display:inline-flex;overflow:hidden}.route-builder .location-route-button{border-color:var(--line);background:var(--panel-soft);color:var(--text)}.route-builder .member-route-save-button{border-color:color-mix(in srgb, #7c3aed 42%, var(--line));background:color-mix(in srgb, #7c3aed 14%, var(--panel));color:#6d28d9}.route-builder .route-gps-note{color:var(--accent-strong);grid-column:1/-1;margin:-2px 0 0;font-size:.78rem;font-weight:850}.route-map-panel,.next-stop-card,.group-location-card,.poi-card,.member-route-card,.map-marker-card{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;padding:12px}.route-map-panel{gap:10px;padding:10px;display:grid;position:relative}.map-fullscreen-active{overflow:hidden}.route-map-panel.map-fullscreen{z-index:2200;background:#08140f;border:0;border-radius:0;padding:0;display:block;position:fixed;inset:0}.route-map-panel.map-fullscreen .osm-map-shell{border:0;border-radius:0;width:100vw;height:100dvh;min-height:100dvh}.route-map-panel.map-fullscreen .route-map-head{left:12px;right:12px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:540;color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#041912d1;border:1px solid #ffffff2e;border-radius:18px;padding:10px 12px;position:absolute}.route-map-panel.map-fullscreen .route-map-head strong{color:#b9f4e5}.route-map-panel.map-fullscreen .route-alerts{display:none}.map-fullscreen-button{z-index:560;border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--panel) 92%, transparent);min-height:40px;color:var(--text);cursor:pointer;font:inherit;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:.78rem;font-weight:950;display:inline-flex;position:absolute;top:18px;right:18px;box-shadow:0 14px 30px #0f172a33}.ride-mode-button{z-index:560;border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--panel) 92%, transparent);min-height:40px;color:var(--text);cursor:pointer;font:inherit;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:.78rem;font-weight:950;display:inline-flex;position:absolute;top:18px;left:18px;box-shadow:0 14px 30px #0f172a33}.ride-mode-button.active,.route-map-panel.map-fullscreen .ride-mode-button{color:#fff;background:#041912d6;border-color:#ffffff2e}.route-map-panel.map-fullscreen .ride-mode-button{top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left))}.route-map-panel .osm-map-controls{top:62px}.route-map-panel.map-fullscreen .map-fullscreen-button{top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));color:#fff;background:#041912d6;border-color:#ffffff2e}.app-shell[data-active-tab=route] .route-map-panel.map-fullscreen{z-index:2200;border:0;border-radius:0;padding:0;position:fixed;inset:0}.app-shell[data-active-tab=route] .route-map-panel.map-fullscreen .osm-map-shell{border:0;border-radius:0;height:100dvh;min-height:100dvh}.route-map-panel[data-ride-mode=on] .route-map-head,.route-map-panel[data-ride-mode=on] .route-alerts{display:none}.ride-cockpit{right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));left:calc(14px + env(safe-area-inset-left));z-index:555;pointer-events:none;grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr);gap:10px;display:grid;position:absolute}.ride-cockpit button{pointer-events:auto}.ride-status-card,.ride-action-grid,.ride-strip,.ride-poi-strip{color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#041912d6;border:1px solid #ffffff2e;border-radius:18px;box-shadow:0 18px 42px #00000047}.ride-status-card{grid-column:1/2;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.ride-status-card .eyebrow{color:#9ff3e6}.ride-status-card strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:52vw;font-size:1rem;display:block;overflow:hidden}.ride-status-card p{color:#d9fff7;text-align:right;margin:0;font-size:.78rem;font-weight:850}.ride-action-grid{grid-area:1/2/span 2/3;gap:8px;padding:10px;display:grid}.ride-action-grid button,.ride-strip button,.ride-poi-strip button{color:#fff;cursor:pointer;min-height:44px;font:inherit;background:#ffffff14;border:1px solid #ffffff24;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 10px;font-size:.78rem;font-weight:950;display:inline-flex}.ride-action-grid button.active{background:#0f9f87}.ride-action-grid button.danger{background:#b42318}.ride-action-grid .trail-map-icon{width:20px;height:20px}.ride-strip,.ride-poi-strip{scrollbar-width:none;grid-column:1/2;gap:8px;padding:10px;display:flex;overflow-x:auto}.ride-strip::-webkit-scrollbar{display:none}.ride-poi-strip::-webkit-scrollbar{display:none}.ride-strip p,.ride-poi-strip p{color:#d9fff7;margin:0;font-size:.78rem;font-weight:850}.ride-strip button,.ride-poi-strip button{flex:none}.ride-strip em,.ride-poi-strip em{color:#9ff3e6;font-style:normal}@media (max-width:760px){.ride-cockpit{grid-template-columns:1fr;gap:8px}.ride-status-card,.ride-action-grid,.ride-strip,.ride-poi-strip{border-radius:16px}.ride-status-card{flex-direction:column;align-items:flex-start}.ride-status-card strong{max-width:82vw}.ride-status-card p{text-align:left}.ride-action-grid{grid-area:auto;grid-template-columns:1fr 1fr}}.route-side-stack{gap:10px;display:grid}.osm-map-shell{border:1px solid var(--line);background:var(--panel);border-radius:8px;height:clamp(360px,52vh,560px);min-height:260px;position:relative;overflow:hidden}.osm-map-canvas{position:absolute;inset:0}.osm-map-status{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 70%, transparent), transparent), var(--panel);color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:8px;padding:18px;font-size:.9rem;font-weight:800;display:grid;position:absolute;inset:0}.osm-map-controls{z-index:500;position:absolute;top:10px;right:10px}.map-follow-button{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);min-height:36px;color:var(--text);cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.8rem;font-weight:900;display:inline-flex;box-shadow:0 8px 20px #0f172a26}.map-follow-button.active{background:var(--accent);color:#fff;border-color:#0000}.location-watch-note{z-index:500;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);color:var(--muted);pointer-events:none;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:850;position:absolute;bottom:10px;left:10px;right:10px;box-shadow:0 8px 20px #0f172a24}.location-watch-note.watching{color:var(--accent-strong)}.location-watch-note.denied,.location-watch-note.unavailable{color:var(--danger)}.leaflet-container{background:var(--panel-soft);width:100%;height:100%;font:inherit}.osm-map-shell.placing .leaflet-container{cursor:crosshair}.leaflet-control-attribution{font-size:.68rem}.route-marker{background:var(--accent);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:900;display:inline-flex;box-shadow:0 4px 14px #00000038;width:28px!important;height:28px!important}.route-marker.risk-medium{background:var(--amber)}.route-marker.risk-high{background:var(--danger)}.user-location-marker{background:#2563eb;border:3px solid #fff;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 0 0 4px #2563eb38,0 6px 16px #0f172a38;width:28px!important;height:28px!important}.user-location-heading{justify-content:center;align-items:center;width:18px;height:18px;transition:transform .22s;display:inline-flex;position:relative}.user-location-heading:before{content:"";background:#fff;border-radius:999px;width:7px;height:7px;display:block}.user-location-marker.has-heading .user-location-heading:before{background:0 0;border-bottom:15px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000;border-radius:0;width:0;height:0;transform:translateY(-2px)}.member-location-marker{background:var(--accent);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;font-size:.72rem;font-weight:950;display:inline-flex;box-shadow:0 8px 18px #0f172a3d;width:32px!important;height:32px!important}.member-location-marker.self{background:#2563eb}.member-location-marker span{transform:translateY(-.5px)}.map-marker-pin{color:#fff;background:#7c3aed;border:2px solid #fff;border-radius:999px 999px 999px 4px;justify-content:center;align-items:center;font-size:.76rem;font-weight:950;display:inline-flex;transform:rotate(-45deg);box-shadow:0 10px 22px #0f172a47;width:32px!important;height:32px!important}.map-marker-pin span{transform:rotate(45deg)}.map-marker-pin.meetup{background:#0f766e}.map-marker-pin.fuel{background:#b7791f}.map-marker-pin.food{background:#16a34a}.map-marker-pin.lodging{background:#4f46e5}.map-marker-pin.repair{background:#2563eb}.map-marker-pin.warning{background:#b42318}.route-map-head{justify-content:space-between;align-items:center;gap:10px;font-size:.84rem;display:flex}.route-map-head span,.next-stop-card p,.road-note{color:var(--muted)}.route-map-head strong{color:var(--accent-strong);flex:none;font-size:.8rem}.route-alerts{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.route-alerts div{background:var(--panel);border-radius:8px;min-width:0;padding:8px}.route-alerts span,.weather-row,.waypoint-card p{font-size:.82rem}.route-alerts span{color:var(--muted);display:block}.route-alerts strong{margin-top:2px;display:block}.next-stop-card{align-content:center;gap:6px;display:grid}.next-stop-card strong{font-size:1.05rem}.next-stop-card p{margin:0;line-height:1.4}.poi-card{align-content:start;gap:9px;display:grid}.poi-card-head,.poi-row{align-items:center;display:flex}.poi-card-head{justify-content:space-between;gap:10px}.poi-card-head strong{margin-top:2px;display:block}.poi-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.poi-filter-grid button,.poi-row button{border:1px solid var(--line);background:var(--panel);min-width:0;min-height:34px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:.76rem;font-weight:900;display:inline-flex}.poi-filter-grid button.active{border-color:color-mix(in srgb, var(--accent) 48%, var(--line));background:var(--accent-soft);color:var(--accent-strong)}.poi-list{gap:7px;max-height:330px;display:grid;overflow-y:auto}.poi-list>p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.poi-row{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:7px;min-width:0;padding:7px}.poi-row div{flex:auto;gap:1px;min-width:0;display:grid}.poi-row strong,.poi-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.poi-row strong{font-size:.84rem}.poi-row small{color:var(--muted);font-size:.72rem}.poi-dot,.poi-marker{color:#fff;justify-content:center;align-items:center;font-weight:950;display:inline-flex}.poi-dot{background:#16a34a;border-radius:999px;flex:none;width:28px;height:28px;font-size:.72rem}.poi-dot.lodging,.poi-marker.lodging{background:#4f46e5}.poi-dot.fuel,.poi-marker.fuel{background:#b7791f}.poi-marker{background:#16a34a;border:2px solid #fff;border-radius:999px 999px 999px 4px;font-size:.72rem;transform:rotate(-45deg);box-shadow:0 10px 22px #0f172a38;width:28px!important;height:28px!important}.poi-marker span{transform:rotate(45deg)}.group-location-card{align-content:start;gap:10px;display:grid}.group-location-head,.group-location-row{align-items:center;display:flex}.group-location-head{justify-content:space-between;gap:10px}.group-location-head strong{margin-top:2px;display:block}.location-share-button{border:1px solid var(--line);background:var(--panel);min-width:76px;min-height:36px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:900;display:inline-flex}.location-share-button.active{background:var(--accent);color:#fff;border-color:#0000}.location-share-note{background:var(--panel);color:var(--muted);border-radius:8px;margin:0;padding:8px 10px;font-size:.78rem;font-weight:850;line-height:1.35}.location-share-note.sharing{color:var(--accent-strong)}.location-share-note.denied,.location-share-note.unavailable,.location-share-note.error{color:var(--danger)}.group-location-list{gap:7px;display:grid}.group-location-list>p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.group-location-row{width:100%;min-width:0;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;gap:8px;padding:6px}.group-location-row:not(:disabled):hover{border-color:color-mix(in srgb, var(--accent) 32%, var(--line));background:var(--panel)}.group-location-row:disabled{cursor:default;opacity:.86}.member-route-card{align-content:start;gap:9px;display:grid}.member-route-head,.member-route-row{align-items:center;display:flex}.member-route-head{justify-content:space-between;gap:10px}.member-route-head strong{margin-top:2px;display:block}.member-route-list{gap:7px;display:grid}.member-route-list>p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.member-route-row{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:7px;min-width:0;padding:7px}.member-route-row.hidden{opacity:.62}.member-route-row>span{background:linear-gradient(135deg,#7c3aed,#0f766e);border:3px solid #fff;border-radius:999px;flex:none;width:28px;height:28px;box-shadow:0 6px 14px #0f172a2e}.member-route-row div{flex:auto;gap:1px;min-width:0;display:grid}.member-route-row strong,.member-route-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-route-row strong{font-size:.84rem}.member-route-row small{color:var(--muted);font-size:.72rem}.member-route-row button{border:1px solid var(--line);background:var(--panel);min-width:34px;min-height:34px;color:var(--danger);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.member-route-visible-button{padding:0 9px;font-size:.74rem;font-weight:950;color:var(--accent-strong)!important}.member-route-visible-button.active{border-color:color-mix(in srgb, var(--accent) 38%, var(--line));background:color-mix(in srgb, var(--accent) 10%, var(--panel))}.member-route-delete-button{color:var(--danger)!important}.member-route-label{pointer-events:none}.member-route-label span{background:color-mix(in srgb, var(--member-route-color) 86%, #111827);color:#fff;text-overflow:ellipsis;white-space:nowrap;border:1px solid #ffffffb8;border-radius:999px;max-width:108px;padding:6px 9px;font-size:.72rem;font-weight:950;line-height:1;display:inline-flex;overflow:hidden;box-shadow:0 8px 18px #0f172a38}.group-location-row>span{background:var(--accent);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:.72rem;font-weight:950;display:inline-flex}.group-location-row.self>span{background:#2563eb}.group-location-row div{flex:auto;gap:1px;min-width:0;display:grid}.group-location-row strong,.group-location-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-location-row strong{font-size:.86rem}.group-location-row small{color:var(--muted);font-size:.74rem}.group-location-row em{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;margin-left:auto;padding:5px 8px;font-size:.74rem;font-style:normal;font-weight:900}.map-marker-card{align-content:start;gap:9px;display:grid}.map-marker-head,.map-marker-row{align-items:center;display:flex}.map-marker-head{justify-content:space-between;gap:10px}.map-marker-head strong{margin-top:2px;display:block}.map-pick-button,.map-marker-save,.map-marker-row button{border:1px solid var(--line);background:var(--panel);min-width:0;min-height:34px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:.78rem;font-weight:900;display:inline-flex}.map-pick-button.active,.map-marker-save{background:var(--accent);color:#fff;border-color:#0000}.marker-kind-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.marker-kind-grid button{border:1px solid var(--line);background:var(--panel);min-width:0;min-height:34px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:.78rem;font-weight:850;display:inline-flex}.marker-kind-grid button.active{border-color:color-mix(in srgb, var(--accent) 48%, var(--line));background:var(--accent-soft);color:var(--accent-strong)}.map-marker-card input{border:1px solid var(--line);background:var(--panel);min-width:0;min-height:38px;color:var(--text);border-radius:8px;padding:0 10px}.map-marker-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.marker-coordinate{background:var(--panel);color:var(--muted);border-radius:8px;margin:0;padding:8px 10px;font-size:.78rem;font-weight:820;line-height:1.35}.marker-coordinate.selected{color:var(--accent-strong)}.map-marker-save{width:100%}.map-marker-save:disabled,.map-marker-row button:disabled{cursor:not-allowed;opacity:.58}.map-marker-list{gap:7px;display:grid}.map-marker-list>p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.map-marker-row{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:7px;min-width:0;padding:7px}.map-marker-row div{flex:auto;gap:1px;min-width:0;display:grid}.map-marker-row strong,.map-marker-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-marker-row strong{font-size:.84rem}.map-marker-row small{color:var(--muted);font-size:.72rem}.map-marker-dot{color:#fff;background:#7c3aed;border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.72rem;font-weight:950;display:inline-flex}.map-marker-dot.meetup{background:#0f766e}.map-marker-dot.fuel{background:#b7791f}.map-marker-dot.food{background:#16a34a}.map-marker-dot.lodging{background:#4f46e5}.map-marker-dot.repair{background:#2563eb}.map-marker-dot.warning{background:#b42318}.waypoint-list{gap:8px;display:grid}.waypoint-card{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--panel);border-radius:8px;gap:9px;padding:10px;display:grid}.waypoint-card.risk-medium{border-left-color:var(--amber)}.waypoint-card.risk-high{border-left-color:var(--danger)}.waypoint-topline{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;display:grid}.waypoint-pin{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.waypoint-topline h3,.waypoint-topline p,.road-note{margin:0}.waypoint-topline h3{text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;overflow:hidden}.waypoint-topline p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.weather-row,.waypoint-actions,.stop-pill{align-items:center;display:flex}.weather-row{color:var(--muted);gap:7px}.weather-row div{gap:2px;min-width:0;display:grid}.weather-row strong{color:var(--text);font-size:.84rem}.road-note{line-height:1.45}.weather-source{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;justify-self:start;padding:4px 8px;font-size:.72rem;font-weight:850}.weather-source.fallback{background:var(--danger-soft);color:var(--danger)}.waypoint-actions{flex-wrap:wrap;gap:7px}.stop-pill{background:var(--accent-soft);min-height:30px;color:var(--accent-strong);border-radius:999px;gap:6px;padding:0 10px;font-size:.78rem;font-weight:800}.stop-pill.required{background:var(--danger-soft);color:var(--danger)}.stop-pill.recommended{background:var(--amber-soft);color:var(--amber)}.trip-lifecycle,.trip-recap-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:14px}.trip-lifecycle{gap:12px;margin-bottom:12px;display:grid}.trip-lifecycle h2,.trip-lifecycle p,.trip-recap-panel p{margin:0}.trip-lifecycle h2{margin-top:2px;font-size:1.1rem}.trip-lifecycle p{color:var(--muted);font-size:.84rem;line-height:1.4}.trip-lifecycle.completed{border-color:color-mix(in srgb, var(--accent) 34%, var(--line))}.trip-lifecycle.archived{opacity:.92}.trip-lifecycle-actions{flex-wrap:wrap;gap:8px;display:flex}.trip-lifecycle-actions button{background:var(--accent);color:#fff;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:36px;padding:0 11px;font-size:.82rem;font-weight:900;display:inline-flex}.trip-lifecycle-actions button:disabled{cursor:not-allowed;opacity:.58}.trip-lifecycle-actions .danger-action{background:var(--danger)}.trip-lifecycle-note{grid-column:1/-1}.trip-recap-panel{gap:12px;margin-bottom:12px;display:grid}.trip-recap-panel .panel-heading p{color:var(--muted);font-size:.82rem;line-height:1.4}.recap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.recap-grid div,.recap-card{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px}.recap-grid div{padding:10px}.recap-grid span{color:var(--muted);font-size:.78rem;display:block}.recap-grid strong{margin-top:3px;font-size:1rem;display:block}.recap-columns{gap:10px;display:grid}.recap-card{align-content:start;gap:8px;padding:12px;display:grid}.recap-card h3{margin:0;font-size:.95rem}.recap-card p{color:var(--muted);font-size:.82rem}.recap-line{min-width:0;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.82rem;display:flex}.recap-line span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recap-line strong{color:var(--text);white-space:nowrap}.workspace{gap:12px;display:grid}.expense-panel,.presence-panel,.settlement-panel,.member-manager-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:14px}.chat-dock{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));z-index:1100;pointer-events:none;justify-items:end;gap:10px;display:grid;position:fixed}.chat-dock>*{pointer-events:auto}.chat-bubble{background:var(--accent);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex;position:relative;box-shadow:0 16px 36px #0f172a47}.chat-bubble span{border:2px solid var(--panel);background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;font-weight:950;display:inline-flex;position:absolute;top:-3px;right:-3px}.chat-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(360px,100vw - 28px);height:min(520px,100vh - 104px);display:grid;overflow:hidden;box-shadow:0 22px 60px #00000042}.chat-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.chat-panel-head h2{margin:2px 0 0;font-size:1rem}.chat-panel-head button{border:1px solid var(--line);background:var(--panel-soft);width:34px;height:34px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.chat-messages{background:var(--panel-soft);align-content:end;gap:10px;min-height:0;padding:14px;display:grid;overflow-y:auto}.chat-message{justify-items:start;gap:5px;max-width:86%;display:grid}.chat-message.self{justify-self:end;justify-items:end}.chat-message div{color:var(--muted);align-items:center;gap:6px;font-size:.74rem;font-weight:750;display:inline-flex}.chat-message p{border:1px solid var(--line);background:var(--panel);color:var(--text);overflow-wrap:anywhere;border-radius:8px;margin:0;padding:9px 11px;line-height:1.42}.chat-message.self p{background:var(--accent);color:#fff;border-color:#0000}.chat-empty{color:var(--muted);text-align:center;justify-items:center;gap:8px;padding:24px 12px;display:grid}.chat-empty p,.chat-error{margin:0}.chat-error{border-top:1px solid color-mix(in srgb, var(--danger) 35%, var(--line));background:var(--danger-soft);color:var(--danger);padding:9px 14px;font-size:.82rem;font-weight:800}.chat-compose{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 42px;gap:8px;padding:10px;display:grid}.chat-compose input,.chat-compose button{border:1px solid var(--line);border-radius:8px;min-height:42px}.chat-compose input{background:var(--panel-soft);min-width:0;color:var(--text);outline:none;padding:0 12px}.chat-compose input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.chat-compose button{background:var(--accent);color:#fff;border-color:#0000;justify-content:center;align-items:center;display:inline-flex}.chat-compose button:disabled{cursor:not-allowed;opacity:.65}.group-stack{gap:12px;display:grid}.auth-page{background:var(--bg);grid-template-columns:minmax(0,1fr);min-height:100vh;display:grid}.auth-hero{display:none}.auth-panel-zone{align-content:center;min-height:100vh;padding:18px 14px;display:grid;position:relative}.auth-theme-button{position:absolute;top:18px;right:14px}.auth-card{border:1px solid var(--line);background:var(--panel);width:min(100%,500px);box-shadow:var(--shadow);border-radius:8px;gap:12px;margin:0 auto;padding:16px;display:grid}.auth-card-head,.auth-brand,.auth-options{align-items:center;display:flex}.auth-card-head{justify-content:space-between;gap:12px}.auth-card-head h2{margin:2px 0 0;font-size:1.55rem}.auth-switch{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-height:42px;padding:4px;display:grid}.auth-switch button{color:var(--muted);background:0 0;border:0;border-radius:6px;font-weight:900}.auth-switch button.active{background:var(--panel);color:var(--text);box-shadow:0 4px 12px #0f172a14}.auth-success{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--accent-soft);color:var(--accent-strong);border-radius:8px;padding:10px 12px;font-size:.86rem;font-weight:800}.auth-field{gap:7px;display:grid}.auth-field>span{color:var(--muted);font-size:.82rem;font-weight:800}.auth-field>div{border:1px solid var(--line);background:var(--panel-soft);min-height:44px;color:var(--muted);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:0 10px;display:grid}.auth-field input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;padding:0 9px}.auth-field button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.auth-field>div:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.password-strength{gap:6px;display:grid}.password-strength span{color:var(--muted);font-size:.78rem;font-weight:850}.password-strength i{background:var(--panel-soft);border-radius:999px;height:8px;position:relative;overflow:hidden}.password-strength i:before{width:var(--strength);border-radius:inherit;background:var(--danger);content:"";transition:width .18s,background .18s;position:absolute;inset:0 auto 0 0}.password-strength.strength-3 i:before{background:var(--amber)}.password-strength.strength-4 i:before{background:var(--accent)}.password-rules{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.password-rules span{min-width:0;color:var(--muted);align-items:center;gap:5px;font-size:.76rem;font-weight:800;display:inline-flex}.password-rules span.passed{color:var(--accent-strong)}.auth-options{justify-content:space-between;gap:12px}.auth-options label,.auth-human-check{min-width:0;color:var(--muted);align-items:center;gap:7px;font-size:.82rem;font-weight:800;display:inline-flex}.auth-options button{color:var(--accent-strong);background:0 0;border:0;padding:0;font-weight:900}.auth-human-check{border:1px solid color-mix(in srgb, var(--amber) 35%, var(--line));background:var(--amber-soft);width:100%;color:var(--amber);border-radius:8px;justify-content:flex-start;padding:10px}.auth-lock-note,.auth-security-note{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.auth-lock-note{color:var(--danger);font-weight:850}.auth-divider{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:.78rem;font-weight:800;display:grid}.auth-divider:before,.auth-divider:after{background:var(--line);content:"";height:1px}.social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.social-button{border:1px solid var(--line);background:var(--panel-soft);min-width:0;min-height:42px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:900;display:inline-flex}.social-button span{border:1px solid var(--line);background:var(--panel);width:22px;height:22px;color:var(--accent-strong);border-radius:999px;justify-content:center;align-items:center;font-weight:950;display:inline-flex}.auth-submit{min-height:44px}.otp-overlay{z-index:1600;background:#03071294;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.otp-card{border:1px solid var(--line);background:var(--panel);text-align:center;border-radius:8px;justify-items:center;gap:12px;width:min(100%,360px);padding:20px;display:grid;box-shadow:0 28px 80px #00000052}.otp-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent-strong);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.otp-card h2,.otp-card p{margin:0}.otp-card p{color:var(--muted);font-size:.88rem;line-height:1.45}.otp-card input{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-height:48px;color:var(--text);letter-spacing:0;text-align:center;border-radius:8px;outline:none;font-size:1.35rem;font-weight:900}.otp-card button{background:var(--accent);color:#fff;border:0;border-radius:8px;width:100%;min-height:42px;font-weight:900}.auth-shell{align-content:start;max-width:520px;display:grid}.auth-panel{box-shadow:var(--shadow)}.auth-panel h1{margin:2px 0 0;font-size:1.5rem}.auth-password{margin-top:10px}.panel-heading,.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading{margin-bottom:14px}.panel-heading h2,.section-heading h2{margin:2px 0 0;font-size:1.12rem}.field,.mini-field{gap:7px;display:grid}.field span,.mini-field span{color:var(--muted);font-size:.82rem;font-weight:700}.field input,.field select,.mini-field input{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-height:44px;color:var(--text);border-radius:8px;outline:none;padding:0 12px}.field input:focus,.field select:focus,.mini-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.amount-row,.select-row{grid-template-columns:1fr;gap:10px;margin-top:10px;display:grid}.currency-switch,.mode-switch{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:44px;padding:4px;display:grid}.currency-switch button,.mode-switch button{min-width:0;color:var(--muted);background:0 0;border:0;border-radius:6px;font-weight:800}.currency-switch button.active,.mode-switch button.active{background:var(--panel);color:var(--text);box-shadow:0 2px 8px #00000014}.category-row,.member-grid,.split-grid{gap:8px;margin-top:10px;display:grid}.category-row{grid-template-columns:repeat(2,minmax(0,1fr))}.category-chip,.member-chip{border:1px solid var(--line);background:var(--panel);min-width:0;min-height:42px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:750;display:inline-flex}.category-chip.active,.member-chip.active{border-color:color-mix(in srgb, var(--accent) 48%, var(--line));background:var(--accent-soft);color:var(--accent-strong)}.member-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.member-chip{gap:5px;min-height:68px;font-size:.82rem;display:grid}.member-chip span,.avatar{background:var(--panel-soft);width:30px;height:30px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;font-size:.72rem;font-weight:900;display:inline-flex}.member-chip.active span,.avatar{background:var(--accent);color:#fff}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rate-note{background:var(--amber-soft);min-height:38px;color:var(--amber);border-radius:8px;align-items:center;gap:7px;margin-top:12px;padding:8px 10px;display:flex}.settlement-list,.balance-list,.presence-list,.expense-list{gap:8px;display:grid}.presence-item,.presence-row,.settlement-item,.balance-row,.expense-item{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;display:grid}.presence-item{gap:0;overflow:hidden}.presence-row{width:100%;min-width:0;color:var(--text);text-align:left;border:0;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:10px}.presence-item.selected,.presence-row:hover{border-color:color-mix(in srgb, var(--accent) 36%, var(--line))}.presence-row:hover{background:var(--panel-soft)}.presence-row div{gap:2px;min-width:0;display:grid}.presence-row strong,.presence-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.presence-row span{color:var(--muted);font-size:.8rem}.presence-row i{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:999px}.presence-row.self{background:color-mix(in srgb, var(--accent-soft) 48%, var(--panel))}.presence-actions{border-top:1px solid var(--line);background:var(--panel-soft);gap:8px;padding:10px;display:grid}.presence-action-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.presence-action-buttons button{border:1px solid var(--line);background:var(--panel);min-width:0;min-height:34px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 7px;font-size:.76rem;font-weight:850;display:inline-flex}.presence-action-buttons button:disabled{cursor:not-allowed;opacity:.58}.presence-actions p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.78rem;line-height:1.4}.empty-panel-note,.presence-list>p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}.settlement-item{grid-template-columns:auto 1fr auto;gap:10px;padding:10px}.settlement-copy{min-width:0;display:grid}.settlement-copy strong,.settlement-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settlement-copy span{color:var(--muted);font-size:.88rem}.balance-list{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.role-pill{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:900}.compact-heading{margin-bottom:10px}.member-add-form{grid-template-columns:minmax(0,1fr);gap:6px;margin-bottom:8px;display:grid}.member-add-form input,.member-add-form select,.member-add-form button,.trip-member-row select,.trip-member-row button{border:1px solid var(--line);background:var(--panel-soft);min-width:0;min-height:38px;color:var(--text);border-radius:8px;padding:0 10px}.member-add-form button,.trip-member-row button{justify-content:center;align-items:center;padding:0;display:inline-flex}.member-add-form button{background:var(--accent);color:#fff;border-color:#0000}.member-add-form button:disabled,.member-add-form input:disabled,.member-add-form select:disabled,.trip-member-row button:disabled,.trip-member-row select:disabled{cursor:not-allowed;opacity:.55}.trip-member-list{gap:7px;display:grid}.former-member-list{border-top:1px solid var(--line);gap:7px;padding-top:10px;display:grid}.former-member-row{background:var(--panel-soft);opacity:.72;border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px;display:grid}.former-member-row span,.former-member-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.former-member-row span{font-weight:850}.former-member-row small{color:var(--muted);font-size:.72rem}.trip-member-row{grid-template-columns:32px minmax(0,1fr) 88px 38px;align-items:center;gap:8px;display:grid}.trip-member-row span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.balance-row{grid-template-columns:1fr auto;min-height:40px;padding:0 10px}.positive{color:var(--accent-strong)}.negative{color:var(--danger)}.expense-list{margin-top:12px}.expense-item{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:10px}.expense-icon{background:var(--panel-soft);width:40px;height:40px;color:var(--accent);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.expense-item h3,.expense-item p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expense-item h3{font-size:.96rem}.expense-item strong{white-space:nowrap;justify-self:end}@media (max-width:719px){.app-shell[data-active-tab=route] .workspace,.app-shell[data-active-tab=route] .expense-list,.app-shell[data-active-tab=route] .trip-recap-panel,.app-shell[data-active-tab=expenses] .route-intel,.app-shell[data-active-tab=expenses] .group-stack,.app-shell[data-active-tab=expenses] .trip-recap-panel,.app-shell[data-active-tab=group] .route-intel,.app-shell[data-active-tab=group] .expense-panel,.app-shell[data-active-tab=group] .expense-list,.app-shell[data-active-tab=group] .trip-recap-panel,.app-shell[data-active-tab=recap] .route-intel,.app-shell[data-active-tab=recap] .workspace,.app-shell[data-active-tab=recap] .expense-list{display:none}.app-shell[data-active-tab=group] .workspace,.app-shell[data-active-tab=group] .group-stack{display:grid}}@media (min-width:720px){.app-shell{padding:28px 24px 44px}.mobile-tabs{display:none}.trip-strip{grid-template-columns:1fr auto;align-items:stretch}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.trip-lifecycle{grid-template-columns:minmax(0,1fr) auto;align-items:center}.recap-grid,.recap-columns{grid-template-columns:repeat(4,minmax(0,1fr))}.trip-manager{grid-template-columns:minmax(220px,.7fr) minmax(0,1fr);align-items:end}.route-intel-grid{grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);align-items:start}.osm-map-shell{height:clamp(460px,58vh,640px);min-height:460px}.route-builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.route-builder-actions,.waypoint-list{grid-template-columns:repeat(2,minmax(0,1fr))}.offline-pill{min-width:180px}.workspace{grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);align-items:start}.amount-row,.select-row{grid-template-columns:1fr 210px;align-items:end}.category-row{grid-template-columns:repeat(4,minmax(0,1fr))}.expense-list{grid-template-columns:repeat(2,minmax(0,1fr))}.member-add-form{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) 92px 42px}.section-heading{grid-column:1/-1}.auth-page{grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr)}.auth-hero{border-right:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 92%, transparent), transparent 58%), var(--panel);align-content:space-between;gap:28px;min-height:100vh;padding:42px;display:grid}.auth-brand{gap:12px}.auth-brand p,.auth-brand span,.auth-hero-copy p{margin:0}.auth-brand p{font-size:1.05rem;font-weight:900}.auth-brand span,.auth-hero-copy p{color:var(--muted)}.auth-hero-copy{gap:12px;max-width:520px;display:grid}.auth-hero-copy h1{margin:0;font-size:clamp(2.1rem,5vw,4.4rem);line-height:.98}.auth-hero-copy p{max-width:470px;font-size:1rem;line-height:1.6}.auth-panel-zone{padding:42px}.auth-theme-button{top:28px;right:28px}.auth-card{padding:22px}}@media (max-width:380px){.app-shell{padding-inline:10px}.route-card{grid-template-columns:1fr}.route-meta{justify-items:start}.summary-grid{grid-template-columns:1fr}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.recovery-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.recovery-card{border:1px solid var(--line);background:var(--panel);width:min(100%,560px);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:22px;display:grid}.recovery-card h1,.recovery-card p{margin:0}.recovery-card h1{font-size:1.45rem;line-height:1.2}.recovery-card p{color:var(--muted);line-height:1.55}.recovery-card pre{border:1px solid var(--line);background:var(--panel-soft);max-height:120px;color:var(--muted);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0;padding:12px;overflow:auto}.recovery-actions{flex-wrap:wrap;gap:10px;display:flex}.recovery-actions button{background:var(--accent);color:#fff;border:0;border-radius:8px;min-height:42px;padding:0 16px;font-weight:850}.recovery-actions .secondary{border:1px solid var(--line);background:var(--panel-soft);color:var(--text)}:root{--forest:#0b4d3f;--forest-deep:#073228;--mint:#dff5ed;--sand:#f4ead7;--sand-strong:#d6a84f;--sky:#9fd8d0;--sunset:#b85a3a}:root[data-theme=light]{--bg:#f3eee2;--panel:#fffdf7;--panel-soft:#f4efe4;--text:#17231f;--muted:#607069;--line:#d8d0bf;--accent:#0f6a58;--accent-strong:#075444;--accent-soft:#dff5ed;--amber:#ad7a25;--amber-soft:#fff2cf;--shadow:0 18px 42px #2a332c1f}:root[data-theme=dark]{--bg:#09110e;--panel:#14201b;--panel-soft:#1d2d27;--text:#f3f7ef;--muted:#aec0b7;--line:#31443c;--accent:#43cdb6;--accent-strong:#83ead8;--accent-soft:#123e35;--amber:#f0bd67;--amber-soft:#3d2d17;--shadow:0 18px 42px #00000057}body{background:linear-gradient(180deg, color-mix(in srgb, var(--sky) 16%, transparent), transparent 280px), linear-gradient(135deg, color-mix(in srgb, var(--sand) 72%, var(--bg)), var(--bg))}.auth-page.waymate-auth{isolation:isolate;background:linear-gradient(115deg, color-mix(in srgb, var(--sand) 82%, transparent), transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--sky) 28%, transparent), transparent 56%), var(--bg);position:relative;overflow:hidden}.auth-page.waymate-auth:before{z-index:-1;background:linear-gradient(150deg, transparent 0 18%, color-mix(in srgb, var(--forest) 88%, #000) 18% 45%, transparent 45%), linear-gradient(24deg, transparent 0 35%, color-mix(in srgb, var(--forest) 74%, #0c1c16) 35% 62%, transparent 62%), linear-gradient(180deg, color-mix(in srgb, var(--forest) 74%, #0c1c16), color-mix(in srgb, var(--forest-deep) 88%, #000));clip-path:polygon(0 34%,12% 16%,23% 42%,33% 18%,47% 48%,60% 24%,76% 42%,88% 20%,100% 40%,100% 100%,0 100%);content:"";height:44vh;position:absolute;inset:auto -8vw -16vh}.auth-page.waymate-auth:after{z-index:-1;content:"";background:linear-gradient(#b7ebe5d1,#1a9a9199),repeating-linear-gradient(178deg,#0000 0 22px,#ffffff47 22px 24px);border-radius:50% 0 0;width:44vw;min-width:360px;height:28vh;position:absolute;bottom:4vh;right:-10vw}.auth-mobile-brand{align-items:center;gap:11px;width:min(100%,500px);margin:0 auto 14px;display:flex}.auth-mobile-brand p,.auth-mobile-brand span{margin:0}.auth-mobile-brand p{font-weight:950}.auth-mobile-brand span{color:var(--muted);font-size:.82rem}.auth-visual-card{border:1px solid color-mix(in srgb, var(--forest) 18%, transparent);background:linear-gradient(180deg, #ffffff6b, #ffffff29), color-mix(in srgb, var(--sky) 52%, var(--panel));border-radius:8px;min-height:300px;position:relative;overflow:hidden;box-shadow:0 24px 60px #0a332a29}.visual-sky{background:linear-gradient(180deg, color-mix(in srgb, var(--sky) 62%, #fff), transparent 58%), repeating-linear-gradient(175deg, transparent 0 42px, #ffffff47 42px 44px);position:absolute;inset:0}.visual-mountain{background:color-mix(in srgb, var(--forest) 88%, #10211b);clip-path:polygon(0 72%,13% 36%,23% 60%,34% 20%,47% 66%,58% 35%,70% 66%,84% 28%,100% 70%,100% 100%,0 100%);height:55%;position:absolute;bottom:22%;left:-4%;right:-4%}.visual-mountain.back{opacity:.44;bottom:33%;transform:scaleX(1.08)}.visual-mountain.front{background:linear-gradient(180deg, color-mix(in srgb, var(--forest) 88%, #16231d), var(--forest-deep))}.visual-road{background:linear-gradient(180deg, color-mix(in srgb, var(--sand-strong) 82%, #fff), color-mix(in srgb, var(--sand) 86%, #fff));clip-path:polygon(40% 0,64% 0,100% 100%,0 100%);width:22%;height:62%;position:absolute;bottom:-24%;left:44%}.visual-compass{width:120px;height:120px;color:var(--forest);background:#fffdf7ad;border:1px solid #ffffff70;border-radius:999px;place-items:center;display:grid;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 40px #052d2433}.visual-pin{background:var(--accent);color:#fff;border:3px solid #ffffffc2;border-radius:999px;place-items:center;width:42px;height:42px;display:grid;position:absolute;box-shadow:0 12px 24px #092c2438}.visual-pin.one{top:56%;left:20%}.visual-pin.two{background:#2f8f55;top:25%;right:20%}.visual-pin.three{background:var(--sand-strong);bottom:16%;right:30%}.waymate-auth .auth-card{border-color:color-mix(in srgb, var(--line) 72%, transparent);background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 24px 70px #0d282129}.waymate-auth .auth-switch,.waymate-auth .auth-field>div,.waymate-auth .auth-human-check{background:color-mix(in srgb, var(--panel-soft) 78%, transparent)}.app-shell{width:min(100%,1540px);max-width:none;padding:18px clamp(12px,2vw,30px) 86px;position:relative}.app-backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.backdrop-route{border:2px solid color-mix(in srgb, var(--sand-strong) 40%, transparent);opacity:.26;border-bottom-color:#0000;border-right-color:#0000;border-radius:50%;width:58vw;max-width:780px;height:180px;position:absolute;transform:rotate(-15deg)}.backdrop-route.one{top:120px;left:-140px}.backdrop-route.two{bottom:12%;right:-180px;transform:rotate(18deg)}.top-bar,.trip-manager,.trip-strip,.summary-grid,.live-sync-bar,.sync-alert,.presence-toast,.mobile-tabs.app-tabs,.route-intel,.workspace,.expense-list,.trip-lifecycle,.trip-recap-panel{position:relative}.top-bar{z-index:20;border:1px solid color-mix(in srgb, var(--line) 86%, transparent);background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:8px;margin-bottom:14px;padding:10px;position:relative;box-shadow:0 14px 32px #0e221c1a}.brand-copy p{font-size:1.05rem}.brand-copy span{margin-top:2px;display:block}.mobile-tabs.app-tabs{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px;top:78px;box-shadow:0 12px 28px #0e221c14}.trip-manager,.route-card,.summary-tile,.live-sync-bar,.trip-lifecycle,.trip-recap-panel,.route-intel,.expense-panel,.presence-panel,.settlement-panel,.member-manager-panel,.expense-list{box-shadow:0 14px 32px #0e221c14}.route-card{background:linear-gradient(110deg, color-mix(in srgb, var(--forest) 94%, #000), color-mix(in srgb, var(--accent) 76%, var(--forest)) 58%, color-mix(in srgb, var(--sand-strong) 44%, var(--accent)) 100%), var(--forest);color:#fff}.route-card .eyebrow,.route-card .route-meta span{color:#ffffffb8}.route-card .route-line:before{background:#ffffffb8}.route-card .route-line span{background:var(--forest);border-color:#fff}.route-card .route-line span:nth-child(2){border-color:var(--sand-strong)}.route-intel,.expense-panel,.presence-panel,.settlement-panel,.member-manager-panel,.expense-list,.trip-recap-panel,.trip-lifecycle{border-color:color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.route-map-panel,.next-stop-card,.group-location-card,.poi-card,.map-marker-card{background:color-mix(in srgb, var(--panel-soft) 86%, transparent)}.osm-map-shell{height:clamp(430px,58vh,760px);min-height:380px}.route-side-stack{align-content:start;max-height:none}.chat-bubble{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--forest) 78%, #000))}.app-shell[data-active-tab=route] .route-intel{overflow:hidden}.app-shell[data-active-tab=route] .route-map-panel{padding:8px}.app-shell[data-active-tab=route] .route-alerts{padding-inline:2px}@media (min-width:720px){.auth-page.waymate-auth{grid-template-columns:minmax(430px,1fr) minmax(430px,.82fr)}.auth-page.waymate-auth .auth-hero{border-right:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:0 0;grid-template-rows:auto minmax(260px,.78fr) auto auto;gap:28px;padding:clamp(28px,4vw,54px);display:grid}.auth-mobile-brand{display:none}.auth-page.waymate-auth .auth-panel-zone{background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 74%, transparent), transparent), color-mix(in srgb, var(--panel-soft) 42%, transparent)}.auth-page.waymate-auth .auth-hero-copy h1{font-size:clamp(2.6rem,4.8vw,4.6rem);line-height:1.02}.mobile-tabs.app-tabs{display:grid}.mobile-tabs.app-tabs button{min-height:48px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell[data-active-tab=route] .route-intel-grid{grid-template-columns:minmax(0,2.7fr) minmax(300px,.74fr);gap:14px}.route-builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.route-builder-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:minmax(360px,.82fr) minmax(360px,1fr)}.app-shell[data-active-tab=expenses] .workspace,.app-shell[data-active-tab=group] .workspace{max-width:980px}.app-shell[data-active-tab=route] .workspace,.app-shell[data-active-tab=route] .expense-list,.app-shell[data-active-tab=route] .trip-recap-panel,.app-shell[data-active-tab=expenses] .route-intel,.app-shell[data-active-tab=expenses] .group-stack,.app-shell[data-active-tab=expenses] .trip-recap-panel,.app-shell[data-active-tab=group] .route-intel,.app-shell[data-active-tab=group] .expense-panel,.app-shell[data-active-tab=group] .expense-list,.app-shell[data-active-tab=group] .trip-recap-panel,.app-shell[data-active-tab=recap] .route-intel,.app-shell[data-active-tab=recap] .workspace,.app-shell[data-active-tab=recap] .expense-list{display:none}.app-shell[data-active-tab=group] .workspace,.app-shell[data-active-tab=group] .group-stack{display:grid}}@media (min-width:1080px){.app-shell{padding-top:22px}.top-bar{grid-template-columns:48px minmax(220px,.7fr) auto}.trip-manager{grid-template-columns:minmax(260px,.62fr) minmax(360px,1fr)}.app-shell[data-active-tab=route] .osm-map-shell{height:clamp(620px,72vh,860px);min-height:580px}.route-side-stack{max-height:clamp(560px,68vh,820px);padding-right:2px;overflow:auto}}@media (max-width:719px){.app-shell{padding:10px 10px calc(104px + env(safe-area-inset-bottom))}.auth-page.waymate-auth{background:linear-gradient(180deg, color-mix(in srgb, var(--sky) 20%, transparent), transparent 220px), var(--bg)}.auth-panel-zone{align-content:start;padding-top:72px}.waymate-auth .auth-card{padding:16px}.mobile-tabs.app-tabs{box-shadow:none;opacity:0;pointer-events:none;background:0 0;border:0;border-radius:0;grid-template-columns:1fr;gap:6px;margin:0;padding:0;transition:opacity .18s,transform .18s;position:static}.app-nav-rail{bottom:max(12px, env(safe-area-inset-bottom));z-index:1300;pointer-events:none;place-items:end start;gap:8px;transition:bottom .18s,left .18s,right .18s;display:grid;position:fixed}.app-nav-rail.side-left{left:max(10px, env(safe-area-inset-left));justify-items:start;right:auto}.app-nav-rail.side-right{right:max(10px, env(safe-area-inset-right));justify-items:end;left:auto}.app-nav-rail.side-left .mobile-tabs.app-tabs,.app-nav-rail.side-left .app-nav-tools{transform-origin:0 100%;transform:translate(-10px)scale(.96)}.app-nav-rail.side-right .mobile-tabs.app-tabs,.app-nav-rail.side-right .app-nav-tools{transform-origin:100% 100%;transform:translate(10px)scale(.96)}.app-nav-rail.open .mobile-tabs.app-tabs,.app-nav-rail.open .app-nav-tools{opacity:1;pointer-events:auto;transform:translate(0)scale(1)}.app-nav-toggle{border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--panel) 92%, transparent);min-width:76px;min-height:46px;color:var(--text);pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;order:3;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-weight:950;display:inline-flex;box-shadow:0 14px 34px #05191433}.app-nav-rail.open .app-nav-toggle{background:var(--accent);color:#fff}.app-nav-tools{opacity:0;pointer-events:none;order:2;gap:6px;transition:opacity .18s,transform .18s;display:grid}.mobile-tabs.app-tabs button,.app-nav-tools button{border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--panel) 92%, transparent);min-width:126px;min-height:44px;color:var(--text);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;justify-content:flex-start;gap:8px;padding:0 12px;font-size:.78rem;font-weight:900;display:flex;box-shadow:0 10px 26px #05191429}.app-nav-tools button{min-height:38px;color:var(--muted)}.mobile-tabs.app-tabs{order:1}.app-nav-rail.side-right .mobile-tabs.app-tabs button,.app-nav-rail.side-right .app-nav-tools button{justify-content:flex-end}.app-nav-rail.minimized{bottom:max(28vh, env(safe-area-inset-bottom));gap:0}.app-nav-rail.minimized.side-left{left:0}.app-nav-rail.minimized.side-right{right:0}.app-nav-rail.minimized .mobile-tabs.app-tabs,.app-nav-rail.minimized .app-nav-tools{display:none}.app-nav-rail.minimized .app-nav-toggle{gap:0;width:22px;min-width:22px;min-height:78px;padding:0}.app-nav-rail.minimized.side-left .app-nav-toggle{border-left:0;border-radius:0 999px 999px 0}.app-nav-rail.minimized.side-right .app-nav-toggle{border-right:0;border-radius:999px 0 0 999px}.app-nav-rail.minimized .app-nav-toggle svg,.app-nav-rail.minimized .app-nav-toggle span{display:none}.app-nav-rail.minimized .app-nav-toggle:before{content:"";background:var(--accent);width:4px;height:34px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:999px}.chat-dock{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom))}.chat-panel{height:min(520px,100vh - 176px)}.app-shell[data-active-tab=route] .trip-manager,.app-shell[data-active-tab=route] .trip-strip,.app-shell[data-active-tab=route] .summary-grid,.app-shell[data-active-tab=route] .live-sync-bar,.app-shell[data-active-tab=route] .trip-lifecycle{display:none}.app-shell[data-active-tab=route] .top-bar{margin-bottom:10px;padding:8px}.app-shell[data-active-tab=route] .brand-copy span{font-size:.74rem}.app-shell[data-active-tab=route] .route-intel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin:0;padding:0}.app-shell[data-active-tab=route] .route-intel>.panel-heading{margin:0 2px 8px;padding:0 2px}.app-shell[data-active-tab=route] .route-builder{border:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:16px;gap:7px;margin-bottom:10px;padding:10px;box-shadow:0 12px 30px #0e221c1a}.app-shell[data-active-tab=route] .route-builder input,.app-shell[data-active-tab=route] .route-builder button{min-height:40px}.app-shell[data-active-tab=route] .route-intel-grid{gap:10px}.app-shell[data-active-tab=route] .route-map-panel{border-radius:18px;padding:0;overflow:hidden}.app-shell[data-active-tab=route] .osm-map-shell{border:0;border-radius:18px 18px 0 0;height:calc(100svh - 322px);min-height:420px}.app-shell[data-active-tab=route] .route-map-head{padding:10px 12px 0}.app-shell[data-active-tab=route] .route-alerts{padding:10px 12px 12px}.app-shell[data-active-tab=route] .route-side-stack{gap:10px}.app-shell[data-active-tab=route] .waypoint-list{display:none}.route-card{grid-template-columns:1fr}.route-meta{white-space:normal;justify-items:start}.osm-map-shell{height:min(58vh,500px);min-height:380px}}.auth-page.waymate-auth{background-color:#fff;background-image:url(/trailledger-login-art.png);background-position:50%;background-repeat:no-repeat;background-size:contain;min-height:100vh;display:block}.auth-page.waymate-auth:before,.auth-page.waymate-auth:after{display:none}.waymate-auth .auth-hero{pointer-events:none;background:0 0;border:0;padding:0;display:block;position:absolute;inset:0}.waymate-auth .auth-brand{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#ffffff8a;border:1px solid #ffffff61;border-radius:8px;gap:14px;width:min(330px,100vw - 48px);padding:12px;position:fixed;bottom:clamp(150px,31vh,340px);left:clamp(28px,8vw,160px);box-shadow:0 18px 44px #002d2529}.waymate-auth .auth-brand .brand-mark{width:52px;height:52px;color:var(--accent-strong);background:#fff;border:1px solid #ffffffb3;border-radius:8px;box-shadow:0 8px 18px #002d2529}.waymate-auth .auth-visual-card,.waymate-auth .auth-hero-copy{display:none}.waymate-auth .auth-panel-zone{place-content:center end;min-height:100vh;padding:clamp(24px,5vw,64px) clamp(22px,8vw,96px);display:grid}.waymate-auth .auth-theme-button,.waymate-auth .auth-language-button{z-index:5;color:#26332f;background:#ffffffe0;border:0;border-radius:999px;position:fixed;top:22px;box-shadow:0 10px 24px #002d2529}.waymate-auth .auth-theme-button{right:82px}.waymate-auth .auth-language-button{right:24px}.waymate-auth .auth-mobile-brand{display:none}.waymate-auth .auth-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8fcf9bd;border:1px solid #ffffff61;border-radius:8px;align-content:start;gap:16px;width:min(460px,100vw - 32px);min-height:min(880px,100vh - 48px);max-height:calc(100vh - 48px);padding:32px;overflow:auto;box-shadow:0 24px 70px #00352c2e}.waymate-auth .auth-switch{background:#e0e3e0b8;border:0;border-radius:8px;order:-2;min-height:70px;padding:8px}.waymate-auth .auth-switch button{color:#181c1b94;letter-spacing:.04em;border-radius:8px;font-size:1.05rem}.waymate-auth .auth-switch button.active{color:#005344;background:#fffffff0;box-shadow:0 10px 24px #00352c1f}.waymate-auth .auth-card-head h2{color:#101918;letter-spacing:0;margin:0;font-size:clamp(1.75rem,3vw,2rem)}.waymate-auth .auth-card-head p{color:#2f3b38;margin:4px 0 0;font-size:1rem}.waymate-auth .auth-card-head svg{color:#68a99c}.waymate-auth .api-alert,.waymate-auth .auth-success{border-radius:8px;padding:14px 16px}.waymate-auth .auth-field{gap:6px}.waymate-auth .auth-field>span{color:#181c1b;letter-spacing:.06em;font-size:.95rem}.waymate-auth .auth-field>div{background:#ffffffe6;border-color:#6e79754d;border-radius:8px;min-height:70px;padding:0 16px}.waymate-auth .auth-field input{color:#181c1b;padding-inline:16px;font-size:1.05rem}.waymate-auth .auth-options{margin-top:-2px}.waymate-auth .auth-options label{color:#34413e;font-size:1rem}.waymate-auth .auth-options button{color:#005344;font-size:.98rem}.waymate-auth .auth-submit{background:#007b65;border-radius:8px;min-height:78px;margin-top:0;font-size:clamp(1.2rem,2.5vw,1.65rem);box-shadow:0 12px 24px #00534442}.waymate-auth .social-button{color:#181c1b;background:#ffffffdb;border-color:#6e797561;border-radius:8px;min-height:66px;font-size:1rem;font-weight:600}.waymate-auth .auth-security-note,.waymate-auth .password-strength{display:none}.auth-footer-links{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00221b7a;border-radius:999px;gap:8px;padding:8px 12px;display:inline-flex;position:fixed;bottom:20px;left:20px}.auth-footer-links button{color:#fff;background:0 0;border:0;border-radius:999px;min-height:30px;padding:0 10px;font-size:.9rem}.auth-footer-links button:hover{background:#ffffff1f}@media (max-width:900px){.waymate-auth .auth-brand{display:none}.waymate-auth .auth-panel-zone{justify-content:center;padding:78px 16px 82px}.waymate-auth .auth-mobile-brand{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;border:1px solid #ffffff61;border-radius:8px;padding:10px;display:flex;box-shadow:0 14px 30px #00352c24}.waymate-auth .auth-mobile-brand p{color:#075444;font-size:1.25rem;font-weight:950}.waymate-auth .auth-mobile-brand span{color:#075444b8;font-size:.78rem;font-weight:750}.waymate-auth .auth-card{min-height:auto;max-height:none;padding:20px;overflow:visible}.waymate-auth .auth-card-head{margin-top:24px}.waymate-auth .auth-field>div,.waymate-auth .auth-submit,.waymate-auth .social-button{min-height:58px}}@media (max-height:820px) and (min-width:901px){.waymate-auth .auth-card{gap:12px;min-height:auto;padding:24px}.waymate-auth .auth-card-head{margin-top:24px}.waymate-auth .auth-switch{min-height:58px;padding:6px}.waymate-auth .auth-field>div{min-height:56px}.waymate-auth .auth-submit{min-height:62px;font-size:1.32rem}.waymate-auth .auth-divider{margin-block:16px 12px}.waymate-auth .social-button{min-height:52px}}.brand-logo{object-fit:contain;background:#ffffffe0;border-radius:14px;flex:none;width:78px;height:78px;padding:5px;display:block;box-shadow:0 14px 32px #003c312e}.logo-mark{background:#fff;padding:0;overflow:hidden}.logo-mark img{object-fit:cover;object-position:center 18%;width:100%;height:100%;display:block;transform:scale(1.6)translateY(-8%)}.waymate-auth .auth-brand{align-items:center;width:min(390px,100vw - 48px)}.waymate-auth .auth-brand .brand-logo{width:92px;height:92px}.waymate-auth .auth-mobile-brand .brand-logo{border-radius:12px;width:58px;height:58px;padding:4px}.auth-page.waymate-auth{background-color:#f8fbf4;background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:scroll;grid-template-columns:minmax(360px,640px) minmax(360px,480px);justify-content:center;column-gap:clamp(36px,6vw,120px);min-height:100svh;padding-inline:clamp(20px,3vw,64px);display:grid;position:relative;overflow:hidden}.auth-page.waymate-auth:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(90deg,#ffffffe6 0%,#ffffff80 38%,#ffffff1f 58%,#ffffffc7 100%),radial-gradient(circle at 18% 22%,#fef0ba80,#0000 30%),radial-gradient(circle at 70% 72%,#007e6729,#0000 36%);display:block;position:fixed;inset:0}.auth-page.waymate-auth:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#ffffff0f,#00372d14);display:block;position:fixed;inset:0}.waymate-auth .auth-hero{z-index:1;pointer-events:none;background:0 0;border:0;flex-direction:column;justify-content:space-between;min-height:100svh;padding:clamp(28px,5vw,64px);display:flex;position:relative}.auth-page.waymate-auth .auth-hero{border-right:0;min-width:0;padding-inline:0}.waymate-auth .auth-brand{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);pointer-events:auto;background:#ffffffd1;border:1px solid #ffffffad;border-radius:8px;align-items:center;gap:14px;width:min(500px,100%);padding:12px;display:inline-flex;position:static;box-shadow:0 18px 42px #00342b24}.waymate-auth .auth-brand .brand-logo{border-radius:12px;width:72px;height:72px;padding:3px}.waymate-auth .auth-brand p{color:#06493d;font-size:clamp(1.7rem,3vw,2.45rem);font-weight:950;line-height:.95}.waymate-auth .auth-brand span{color:#06493db8;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:850}.waymate-auth .auth-hero-copy{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border:1px solid #ffffffb8;border-radius:8px;width:min(560px,100%);max-width:560px;margin:auto 0;padding:clamp(22px,3.4vw,34px);display:block;box-shadow:0 20px 52px #00342b24}.waymate-auth .auth-hero-copy .eyebrow{color:#075444;letter-spacing:.08em;text-transform:uppercase;background:#07544414;border:1px solid #07544429;border-radius:999px;width:fit-content;padding:9px 14px;font-size:.76rem;font-weight:900;display:inline-flex}.waymate-auth .auth-hero-copy h1{color:#063f36;text-wrap:balance;margin:18px 0 14px;font-size:clamp(2.25rem,3.9vw,4.2rem);font-weight:950;line-height:.98}.waymate-auth .auth-hero-copy p{color:#06312bd1;max-width:560px;margin:0;font-size:clamp(1rem,1.18vw,1.2rem);font-weight:650;line-height:1.55}.waymate-auth .auth-visual-card{display:none}.waymate-auth .auth-panel-zone{z-index:2;justify-content:center;align-items:center;min-height:100svh;padding:clamp(24px,5vw,64px);display:flex;position:relative}.auth-page.waymate-auth .auth-panel-zone{background:linear-gradient(90deg,#0000,#ffffff6b);min-width:0;padding-inline:0}.waymate-auth .auth-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffdb;border:1px solid #ffffffc7;border-radius:8px;gap:13px;width:min(440px,100%);min-height:0;max-height:calc(100svh - 64px);padding:clamp(22px,3vw,30px);overflow:auto;box-shadow:0 26px 80px #00342b33}.waymate-auth .auth-card-head h2{color:#10201d;font-size:clamp(1.65rem,2.3vw,2.05rem);line-height:1.08}.waymate-auth .auth-card-head p{color:#10201da8;font-size:.96rem}.waymate-auth .auth-switch{background:#07544414;border-radius:8px;order:-2;min-height:54px;padding:5px}.waymate-auth .auth-switch button{letter-spacing:0;border-radius:7px;font-size:.96rem}.waymate-auth .auth-field>span{color:#10201d;letter-spacing:0;font-size:.82rem;font-weight:900}.waymate-auth .auth-field>div{background:#ffffffe0;border-color:#0754442e;min-height:52px;padding:0 12px}.waymate-auth .auth-field input{padding-inline:10px;font-size:.96rem}.waymate-auth .auth-options label,.waymate-auth .auth-options button{font-size:.88rem}.waymate-auth .auth-submit{background:linear-gradient(135deg,#007e67,#12a98b);min-height:54px;font-size:1.05rem;box-shadow:0 14px 28px #007e673d}.waymate-auth .auth-divider{margin-block:8px 4px}.waymate-auth .social-grid{gap:10px}.waymate-auth .social-button{background:#ffffffc7;border-color:#0754442e;min-height:50px;font-size:.92rem}.auth-footer-links{background:#05393094;bottom:18px;left:clamp(18px,5vw,64px)}.waymate-auth .auth-theme-button,.waymate-auth .auth-language-button{background:#ffffffe0;top:22px}@media (max-width:980px){.auth-page.waymate-auth{background-position:top;background-size:100vw;min-height:100svh;display:block;overflow-y:auto}.auth-page.waymate-auth:before{background:linear-gradient(#ffffffdb,#ffffff5c 34%,#ffffffd1 100%),radial-gradient(circle at 50% 12%,#fef0ba75,#0000 34%)}.waymate-auth .auth-hero{display:none}.waymate-auth .auth-panel-zone{flex-direction:column;gap:14px;min-height:100svh;padding:78px 16px 34px}.auth-page.waymate-auth .auth-panel-zone{background:0 0}.waymate-auth .auth-mobile-brand{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffdb;border:1px solid #ffffffc2;border-radius:8px;align-items:center;gap:12px;width:min(440px,100vw - 32px);padding:10px;display:flex;box-shadow:0 14px 34px #00342b24}.waymate-auth .auth-mobile-brand p{color:#06493d;font-size:1.28rem;font-weight:950}.waymate-auth .auth-mobile-brand span{color:#06493dad;font-size:.78rem;font-weight:800}.waymate-auth .auth-card{width:min(440px,100vw - 32px);max-height:none;padding:20px;overflow:visible}.auth-footer-links{display:none}}.waymate-auth .auth-hero-copy{width:min(640px,100%);max-width:640px;padding:clamp(22px,3.2vw,34px)}.waymate-auth .auth-hero-copy h1{letter-spacing:-.01em;word-spacing:-.06em;margin-bottom:0;font-family:Lora,Georgia,Times New Roman,serif;font-size:clamp(2.35rem,3.15vw,3.75rem);font-weight:700;line-height:1.08}.waymate-auth .auth-hero-copy h1 span{white-space:nowrap;overflow-wrap:normal;max-width:100%;display:block}.auth-page.waymate-auth,:root[data-theme=dark] .auth-page.waymate-auth{background-attachment:scroll}.auth-page.waymate-auth:after,:root[data-theme=dark] .auth-page.waymate-auth:after{display:none}.auth-page.waymate-auth .auth-panel-zone{background:0 0}.waymate-auth .auth-card-brand{align-items:center;gap:14px;min-width:0;display:flex}.waymate-auth .auth-card-brand img{object-fit:contain;background:#ffffffe6;border-radius:12px;flex:none;width:60px;height:60px;padding:3px;display:block;box-shadow:0 10px 22px #00342b24}.waymate-auth .auth-card-brand h2{color:#06493d;margin:0;font-size:clamp(1.8rem,2.7vw,2.35rem);line-height:1}.waymate-auth .auth-card-brand p{color:#10201da8;margin:5px 0 0;font-size:.94rem}:root[data-theme=dark] .auth-page.waymate-auth{background-blend-mode:multiply;background-color:#06120f}:root[data-theme=dark] .auth-page.waymate-auth:before{background:linear-gradient(#02110ec7,#02110ed1),radial-gradient(circle at 20% 20%,#43cdb629,#0000 34%),radial-gradient(circle at 70% 70%,#f0bd671f,#0000 34%)}:root[data-theme=dark] .waymate-auth .auth-brand,:root[data-theme=dark] .waymate-auth .auth-hero-copy,:root[data-theme=dark] .waymate-auth .auth-card,:root[data-theme=dark] .waymate-auth .auth-mobile-brand{background:#0a1915d1;border-color:#83ead82e;box-shadow:0 26px 70px #00000057}:root[data-theme=dark] .waymate-auth .auth-brand p,:root[data-theme=dark] .waymate-auth .auth-hero-copy h1,:root[data-theme=dark] .waymate-auth .auth-card-brand h2,:root[data-theme=dark] .waymate-auth .auth-field>span{color:#eafff8}:root[data-theme=dark] .waymate-auth .auth-brand span,:root[data-theme=dark] .waymate-auth .auth-card-brand p,:root[data-theme=dark] .waymate-auth .auth-card-head p,:root[data-theme=dark] .waymate-auth .auth-options label{color:#eafff8b3}:root[data-theme=dark] .waymate-auth .auth-hero-copy .eyebrow,:root[data-theme=dark] .waymate-auth .auth-switch{color:#83ead8;background:#83ead81c}:root[data-theme=dark] .waymate-auth .auth-switch button{color:#eafff8a3}:root[data-theme=dark] .waymate-auth .auth-switch button.active{color:#063f36;background:#eafff8f0}:root[data-theme=dark] .waymate-auth .auth-field>div,:root[data-theme=dark] .waymate-auth .social-button{color:#eafff8;background:#05120fb8;border-color:#83ead833}:root[data-theme=dark] .waymate-auth .auth-field input{color:#eafff8}:root[data-theme=dark] .waymate-auth .auth-theme-button,:root[data-theme=dark] .waymate-auth .auth-language-button{color:#eafff8;background:#0a1915e6}@media (min-width:1600px){.auth-page.waymate-auth{grid-template-columns:620px 460px;column-gap:clamp(64px,7vw,150px)}}@media (min-width:981px) and (max-height:760px){.waymate-auth .auth-hero-copy h1{font-size:clamp(2rem,2.65vw,3rem)}.waymate-auth .auth-card{gap:10px;padding:22px}}.waymate-auth .svg-travel-scene{aspect-ratio:1/.78;width:min(100%,760px);box-shadow:none;isolation:isolate;background:0 0;border:0;border-radius:0;justify-self:center;display:block;position:relative;overflow:visible}.svg-travel-scene .svg-layer{-webkit-user-select:none;user-select:none;pointer-events:none;will-change:transform;display:block;position:absolute}.svg-travel-scene .smooth-travel-svg{object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;pointer-events:none;filter:saturate(1.04)contrast(1.02);width:100%;height:100%;display:block;position:absolute;inset:0}.svg-travel-scene .blob{object-fit:contain;opacity:.98;transform-origin:47% 53%;width:128%;height:128%;animation:11s ease-in-out infinite travelBlobFloat;inset:-17% -13% -20% -17%}.svg-travel-scene .ocean{opacity:.95;width:58%;animation:9s ease-in-out infinite travelOceanDrift;top:12%;right:-8%}.svg-travel-scene .mountains{filter:drop-shadow(0 18px 20px #0f28201f);width:56%;animation:12s ease-in-out infinite travelMountainsBreathe;top:9%;left:-7%}.svg-travel-scene .map-paper{filter:drop-shadow(0 18px 22px #4b372229);width:51%;animation:8s ease-in-out infinite travelMapFloat;top:42%;left:20%;transform:rotate(-8deg)}.svg-travel-scene .compass{z-index:4;filter:drop-shadow(0 22px 24px #17382c38);transform-origin:50% 56%;width:37%;animation:6.5s ease-in-out infinite travelCompassFloat;top:21%;left:34%}.svg-travel-scene .van{z-index:5;filter:drop-shadow(0 13px 16px #1237322e);width:24%;animation:5.5s ease-in-out infinite travelVanCruise;top:58%;right:-3%}.svg-travel-scene .hiker{z-index:5;background:radial-gradient(circle at 50% 8%,#073b2d 0 5px,#0000 5.5px),linear-gradient(80deg,#0000 0 32%,#073b2d 33% 41%,#0000 42% 100%),linear-gradient(-80deg,#0000 0 58%,#073b2d 59% 67%,#0000 68% 100%),linear-gradient(#073b2d,#073b2d) 50% 16px/7px 22px no-repeat,linear-gradient(125deg,#0000 0 34%,#073b2d 35% 45%,#0000 46% 100%),linear-gradient(55deg,#0000 0 55%,#073b2d 56% 66%,#0000 67% 100%);border-radius:999px;width:22px;height:54px;animation:3.8s ease-in-out infinite travelHikerCelebrate;top:9%;left:17%;transform:rotate(-7deg)}.svg-travel-scene .gold-dot{opacity:.9;background:radial-gradient(circle at 35% 28%,#f6d98a,#b98b3b 72%);border-radius:999px;width:34px;height:34px;box-shadow:0 10px 22px #694c2333}.svg-travel-scene .gold-dot.one{width:48px;height:30px;animation:7s ease-in-out infinite travelDotOrbit;top:15%;left:29%;transform:rotate(-26deg)}.svg-travel-scene .gold-dot.two{width:70px;height:70px;animation:6s ease-in-out infinite travelDotPulse;top:14%;right:20%}.svg-travel-scene .route-line{opacity:.7;border-bottom:4px solid #b1843cd1;border-left:4px solid #b1843cd1;border-radius:0 0 0 120px;width:30%;height:42%;animation:5.8s ease-in-out infinite travelRouteDraw;bottom:14%;left:7%;transform:rotate(-11deg)}.svg-travel-scene .scene-title{z-index:6;color:#0d4939;font-family:var(--font-display), Georgia, serif;letter-spacing:0;text-shadow:0 9px 24px #ffffff7a;font-size:clamp(1.8rem,3.8vw,3.7rem);font-weight:950;bottom:7%;right:9%}@keyframes travelBlobFloat{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(1.6%,-1.4%)scale(1.018)}}@keyframes travelOceanDrift{0%,to{transform:translate(0,0)}50%{transform:translate(2.5%,-1.2%)}}@keyframes travelMountainsBreathe{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-1%,1%)scale(1.015)}}@keyframes travelMapFloat{0%,to{transform:translate(0,0)rotate(-8deg)}50%{transform:translate(1.2%,-1.5%)rotate(-5deg)}}@keyframes travelCompassFloat{0%,to{transform:translate(0,0)rotate(-1deg)}50%{transform:translateY(-2.5%)rotate(3deg)}}@keyframes travelVanCruise{0%,to{transform:translate(0,0)rotate(0)}45%{transform:translate(-5%,-1.5%)rotate(-1deg)}70%{transform:translate(-3%,.8%)rotate(.8deg)}}@keyframes travelHikerCelebrate{0%,to{transform:translate(0,0)rotate(-7deg)}50%{transform:translateY(-7%)rotate(4deg)}}@keyframes travelDotOrbit{0%,to{transform:translate(0,0)rotate(-26deg)}50%{transform:translate(13%,-12%)rotate(-16deg)}}@keyframes travelDotPulse{0%,to{opacity:.88;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes travelRouteDraw{0%,to{clip-path:inset(0);opacity:.58}50%{clip-path:inset(0 0 0 12%);opacity:.86}}@media (prefers-reduced-motion:reduce){.svg-travel-scene .svg-layer{animation:none!important}}@media (max-width:719px){.waymate-auth .svg-travel-scene{aspect-ratio:1/.74;width:min(92vw,420px);margin:0 auto 10px}.svg-travel-scene .scene-title{font-size:clamp(1.35rem,8vw,2.25rem);bottom:4%;right:8%}}.auth-page.waymate-auth{background-image:radial-gradient(circle at 78% 18%,#eccd8157,#0000 28%),radial-gradient(circle at 22% 22%,#41b19d38,#0000 30%),linear-gradient(135deg,#f8faf5 0%,#edf6f0 48%,#faf4e8 100%)}:root[data-theme=dark] .auth-page.waymate-auth{background-image:radial-gradient(circle at 76% 20%,#c79f532e,#0000 30%),radial-gradient(circle at 20% 20%,#1f9a842e,#0000 32%),linear-gradient(135deg,#06130f 0%,#08231b 52%,#11150d 100%)}@media (max-width:980px){.waymate-auth .auth-hero{min-height:0;padding:76px 16px 0;display:block}.waymate-auth .auth-hero .auth-brand,.waymate-auth .auth-hero .auth-hero-copy{display:none}.waymate-auth .auth-hero .svg-travel-scene{width:min(86vw,420px);margin:0 auto -8px}.waymate-auth .auth-panel-zone{min-height:auto;padding-top:18px}}.auth-page.waymate-auth{grid-template-columns:minmax(0,1fr) minmax(360px,470px);align-items:center;column-gap:clamp(22px,5vw,86px)}.waymate-auth .auth-hero{z-index:0;pointer-events:none;min-height:100dvh;padding:0;display:block;position:fixed;inset:0}.waymate-auth .auth-hero .auth-brand,.waymate-auth .auth-hero .auth-hero-copy{display:none}.waymate-auth .auth-visual-card,.waymate-auth .svg-travel-scene{display:block}.waymate-auth .svg-travel-scene{aspect-ratio:auto;opacity:.98;width:100vw;height:100dvh;margin:0;position:fixed;inset:0}.svg-travel-scene .blob{width:82vw;height:auto;top:-22vh;left:-22vw}.svg-travel-scene .ocean{width:57vw;top:9vh;right:-7vw}.svg-travel-scene .mountains{width:49vw;top:10vh;left:-5vw}.svg-travel-scene .map-paper{width:36vw;top:auto;bottom:8vh;left:28vw}.svg-travel-scene .compass{width:25vw;top:26vh;left:37vw}.svg-travel-scene .van{width:19vw;top:auto;bottom:22vh;right:5vw}.svg-travel-scene .hiker{top:12vh;left:15vw}.svg-travel-scene .gold-dot.one{top:16vh;left:25vw}.svg-travel-scene .gold-dot.two{top:12vh;right:22vw}.svg-travel-scene .route-line{width:24vw;height:34vh;bottom:10vh;left:4vw}.svg-travel-scene .scene-title{font-size:clamp(2.3rem,5.8vw,6rem);bottom:clamp(70px,9vh,110px);left:clamp(28px,6vw,88px);right:auto}.waymate-auth .auth-panel-zone{grid-column:2;min-height:100dvh;padding-inline:0}.waymate-auth .auth-card{background:#ffffffd1}@media (max-width:980px){.auth-page.waymate-auth{grid-template-columns:1fr;min-height:100dvh;padding:0 16px;display:grid;overflow-y:auto}.waymate-auth .auth-hero{padding:0;display:block;position:fixed}.waymate-auth .auth-mobile-brand{display:none}.waymate-auth .auth-panel-zone{grid-column:1;justify-content:end;min-height:100dvh;padding:84px 0 34px}.waymate-auth .auth-card{background:#ffffffd6;width:min(440px,100%)}.svg-travel-scene .blob{width:150vw;top:-11vh;left:-42vw}.svg-travel-scene .ocean{width:116vw;top:11vh;right:-38vw}.svg-travel-scene .mountains{width:104vw;top:9vh;left:-31vw}.svg-travel-scene .map-paper{width:80vw;bottom:30vh;left:8vw}.svg-travel-scene .compass{width:52vw;top:20vh;left:26vw}.svg-travel-scene .van{width:36vw;bottom:43vh;right:-5vw}.svg-travel-scene .hiker{top:11vh;left:17vw}.svg-travel-scene .gold-dot.one{top:11vh;left:35vw}.svg-travel-scene .gold-dot.two{top:13vh;right:10vw}.svg-travel-scene .route-line{width:40vw;height:30vh;bottom:31vh;left:-4vw}.svg-travel-scene .scene-title{opacity:.18;font-size:clamp(2.4rem,15vw,4.8rem);bottom:24px;left:18px}}.waymate-auth .auth-hero .auth-hero-copy{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#ffffff6b;border-color:#ffffffb8;width:min(620px,48vw);max-width:620px;display:block;position:fixed;bottom:clamp(78px,10vh,116px);left:clamp(18px,5vw,72px);box-shadow:0 22px 70px #00342b1f}.waymate-auth .auth-hero .auth-hero-copy h1{color:#063f36;text-shadow:0 10px 30px #ffffff94}.waymate-auth .auth-hero .auth-hero-copy h1 span{white-space:normal}:root[data-theme=dark] .waymate-auth .auth-hero .auth-hero-copy{background:#05120f6b;border-color:#83ead833}:root[data-theme=dark] .waymate-auth .auth-hero .auth-hero-copy h1{color:#eafff8;text-shadow:0 12px 32px #00000061}@media (min-width:981px){.waymate-auth .smooth-travel-svg{object-position:center center}}@media (max-width:980px){.waymate-auth .auth-hero .auth-hero-copy{width:auto;max-width:none;padding:16px;inset:84px 16px auto}.waymate-auth .auth-hero .auth-hero-copy .eyebrow{padding:7px 10px;font-size:.66rem}.waymate-auth .auth-hero .auth-hero-copy h1{margin-top:10px;font-size:clamp(1.95rem,10vw,3rem);line-height:1.02}.waymate-auth .auth-panel-zone{padding-top:clamp(300px,47vh,390px)}.waymate-auth .smooth-travel-svg{object-position:center top}}@media (max-width:420px){.waymate-auth .auth-hero .auth-hero-copy{padding:14px;top:72px}.waymate-auth .auth-hero .auth-hero-copy h1{font-size:clamp(1.7rem,9.2vw,2.4rem)}.waymate-auth .auth-panel-zone{padding-top:288px}}.waymate-auth .svg-travel-scene{background:radial-gradient(circle at 48% 42%,#ffffff75,#0000 42%),linear-gradient(#ffffffdb,#e9f6efa3)}.waymate-auth .svg-travel-scene .smooth-travel-svg{object-fit:contain;object-position:center center}@media (min-width:981px){.waymate-auth .auth-hero .auth-hero-copy{width:min(560px,42vw)}.waymate-auth .auth-hero .auth-hero-copy h1{font-size:clamp(2.6rem,4.8vw,5.2rem);line-height:.98}}@media (max-width:980px){.waymate-auth .auth-hero .auth-hero-copy{background:#ffffff94;top:72px}.waymate-auth .auth-hero .auth-hero-copy h1{font-size:clamp(1.78rem,8.5vw,2.75rem);line-height:1.04}.waymate-auth .auth-panel-zone{padding-top:clamp(292px,44vh,360px)}}@media (max-width:430px){.waymate-auth .auth-hero .auth-hero-copy{padding:13px;top:62px;left:12px;right:12px}.waymate-auth .auth-hero .auth-hero-copy h1{font-size:clamp(1.58rem,8vw,2.1rem);line-height:1.06}.waymate-auth .auth-panel-zone{padding-top:260px}}.waymate-auth .auth-card{overflow:hidden}.waymate-auth .auth-card-visual{background:radial-gradient(circle at 78% 18%,#dab15347,#0000 26%),linear-gradient(135deg,#ffffffbd,#def4ecad);border:1px solid #0d534529;border-radius:18px;min-height:clamp(128px,19vw,176px);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb8}.waymate-auth .auth-card-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000,#ffffff8f);height:44%;position:absolute;inset:auto 0 0}.waymate-auth .auth-card-visual img{object-fit:cover;object-position:center 44%;filter:saturate(1.05)contrast(1.02);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.08)}.waymate-auth .auth-card-head{margin-top:4px}.waymate-auth .auth-hero .svg-travel-scene{opacity:.34}@media (min-width:981px){.waymate-auth .auth-card{gap:16px}}@media (max-width:980px){.waymate-auth .auth-card-visual{border-radius:16px;min-height:132px}.waymate-auth .auth-card-visual img{object-position:center 48%;transform:scale(1.12)}.waymate-auth .auth-hero .svg-travel-scene{opacity:.18}}@media (max-width:430px){.waymate-auth .auth-card-visual{min-height:112px}.waymate-auth .auth-card-visual img{transform:scale(1.16)}}.waymate-auth .auth-hero .auth-hero-copy{display:none!important}.waymate-auth .auth-hero .svg-travel-scene{aspect-ratio:auto;opacity:.9;width:100vw;height:100dvh;margin:0;position:fixed;inset:0}.waymate-auth .auth-card-visual img{object-position:center 62%;transform:scale(1.34)}@media (max-width:980px){.waymate-auth .auth-panel-zone{padding-top:72px}.waymate-auth .auth-hero .svg-travel-scene{opacity:.42}.waymate-auth .auth-card-visual img{object-position:center 62%;transform:scale(1.44)}}@media (max-width:430px){.waymate-auth .auth-panel-zone{padding-top:64px}.waymate-auth .auth-card-visual img{transform:scale(1.52)}}.waymate-auth .auth-card-visual{contain:paint}.waymate-auth .auth-card-visual img{object-fit:cover;object-position:45% 44%;transform:none}.waymate-auth .auth-card-tagline{color:#0a5a4b;max-width:280px;margin-top:6px;font-size:.78rem;font-weight:900;line-height:1.35}@media (max-width:980px){.waymate-auth .auth-card-visual img{object-position:45% 44%;transform:none}}@media (max-width:430px){.waymate-auth .auth-card-visual img{transform:none}}.trail-map-icon{object-fit:contain;width:18px;height:18px;display:block}.poi-filter-grid .trail-map-icon,.marker-kind-grid .trail-map-icon{flex:none;width:20px;height:20px}.poi-dot,.map-marker-dot{background:0 0!important}.poi-dot .trail-map-icon,.map-marker-dot .trail-map-icon{filter:drop-shadow(0 5px 10px #0f172a2e);width:30px;height:30px}.poi-marker,.map-marker-pin{box-shadow:none;border:0;border-radius:0;overflow:visible;transform:none;background:0 0!important}.poi-marker img,.map-marker-pin img{filter:drop-shadow(0 8px 14px #0f172a3d);width:34px;height:34px;display:block;transform:translate(-1px,-2px)}.poi-marker span,.map-marker-pin span{transform:none}.member-location-marker{box-shadow:none;border:0;position:relative;overflow:visible;background:0 0!important}.member-location-marker img{filter:drop-shadow(0 8px 14px #0f172a3d);width:34px;height:34px;display:block;transform:translate(-1px,-1px)}.member-location-marker span{color:#fff;background:#0f766e;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.52rem;line-height:1;display:inline-flex;position:absolute;bottom:-3px;right:-5px;transform:none}.member-location-marker.self span{background:#2563eb}.waymate-auth .auth-card{-webkit-backdrop-filter:none;backdrop-filter:none}.waymate-auth .auth-card-visual img,.waymate-auth .smooth-travel-svg{filter:none;will-change:auto}.waymate-auth .auth-card-visual:after{background:linear-gradient(#0000,#ffffff57)}@media (max-width:980px){.waymate-auth .auth-hero .svg-travel-scene{opacity:.36;display:block}.waymate-auth .auth-panel-zone{padding-top:18px}}@media (prefers-reduced-motion:reduce){.waymate-auth *,.waymate-auth :before,.waymate-auth :after{transition-duration:.12s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (max-width:980px){.waymate-auth .auth-hero .smooth-travel-svg{opacity:.9}}.auth-page.waymate-auth{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden}.waymate-auth .auth-panel-zone{height:100dvh;min-height:100dvh;overflow:hidden}.waymate-auth .auth-card{max-height:calc(100dvh - 24px);overflow:hidden}@media (max-width:980px){.auth-page.waymate-auth{padding:0 14px}.waymate-auth .auth-panel-zone{justify-content:center;align-items:center;padding:10px 0}.waymate-auth .auth-card{gap:8px;width:min(440px,100%);padding:12px}.waymate-auth .auth-switch{min-height:50px;padding:5px}.waymate-auth .auth-switch button{min-height:40px}.waymate-auth .auth-card-visual{border-radius:14px;min-height:150px}.waymate-auth .auth-card-head{margin-top:0}.waymate-auth .auth-card-brand img{width:54px;height:54px}.waymate-auth .auth-card-brand h2{font-size:clamp(1.55rem,7vw,2rem)}.waymate-auth .auth-card-brand p{font-size:.83rem}.waymate-auth .auth-card-tagline{margin-top:3px;font-size:.72rem;line-height:1.25}}@media (max-width:430px),(max-height:740px){.waymate-auth .auth-card{gap:6px;padding:9px}.waymate-auth .auth-card-visual{min-height:clamp(128px,19vh,150px)}.waymate-auth .auth-card-brand{gap:10px}.waymate-auth .auth-card-brand img{width:48px;height:48px}.waymate-auth .auth-card-brand h2{font-size:1.55rem}.waymate-auth .auth-card-head p{font-size:.78rem}.waymate-auth .auth-card-tagline{font-size:.68rem}}.waymate-auth .auth-card{overscroll-behavior:contain;min-height:0;max-height:calc(100dvh - 24px);padding-bottom:max(12px, env(safe-area-inset-bottom));scrollbar-gutter:stable;scrollbar-width:thin;overflow:hidden auto}.waymate-auth .auth-card::-webkit-scrollbar{width:8px}.waymate-auth .auth-card::-webkit-scrollbar-thumb{background:#00534447 padding-box padding-box;border:2px solid #0000;border-radius:999px}@media (max-width:980px){.waymate-auth .auth-card{max-height:calc(100dvh - 20px)}}@media (max-width:430px),(max-height:740px){.waymate-auth .auth-card{max-height:calc(100dvh - 16px)}.waymate-auth .auth-field>div{min-height:54px}.waymate-auth .auth-submit{min-height:56px}.waymate-auth .social-button{min-height:48px}}@media (max-height:640px){.waymate-auth .auth-card{gap:6px;padding:8px}.waymate-auth .auth-card-visual{min-height:92px}.waymate-auth .auth-card-head{margin-top:0}.waymate-auth .auth-switch{min-height:46px}.waymate-auth .auth-switch button{min-height:36px}}
