.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../media/layers.1220hx8ja1.sy.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.0olxl6i2vnf_c.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.0i9~u_difxrfa.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
: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}.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}.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 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 button:disabled{cursor:not-allowed;opacity:.65}.route-builder-actions{grid-column:1/-1;grid-template-columns:1fr;gap:8px;display:grid}.route-builder .location-route-button{border-color:var(--line);background:var(--panel-soft);color:var(--text)}.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,.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}.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:20px!important;height:20px!important}.user-location-marker span{background:#fff;border-radius:999px;width:6px;height:6px}.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}.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,.auth-security-list span{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-security-list{gap:8px;display:grid}.auth-security-list span{color:var(--accent-strong);gap:8px;font-weight:850}.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)}
