.gnss-indicator{color:var(--text-secondary);position:relative}:root{--panel-width:min(calc(100vw - 64px), max(460px, var(--panel-content-width,460px)))}.card-indicators-primary{flex-wrap:wrap}.card-indicators-primary>.gnss-indicator{flex:none;max-width:100%}.card-indicators-row3 .card-lastseen-group{font-variant-numeric:tabular-nums}.card-dist-value.at-home{color:var(--text-secondary);letter-spacing:-.02em;white-space:nowrap;font-size:.62rem;font-weight:400}@media (max-width:768px){:root{--panel-width:min(490px, calc(100vw - 12px))}body.panel-open .hamburger-btn{inset:auto 18px 18px auto}#deviceCards .card-summary{grid-template-columns:20px auto minmax(0,1fr) 10px;gap:6px;padding:8px;display:grid}#deviceCards .card-identity{display:contents}#deviceCards .card-reorder-handle{grid-area:1/1}#deviceCards .card-avatar-wrap{grid-area:1/2}#deviceCards .card-name-row{grid-area:1/3}#deviceCards .card-chevron{grid-area:1/4}#deviceCards .card-indicators,#deviceCards .card-fault-row,#deviceCards .card-offline-summary{grid-column:1/-1}#deviceCards .card-indicators-primary{max-width:100%;overflow:visible}}.card-indicators-row3>.collar-awake{flex:none;min-width:1.3em;font-size:1.3em}.gnss-indicator summary{cursor:pointer;list-style:none;display:flex}.gnss-indicator summary::-webkit-details-marker{display:none}.gnss-indicator summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.gnss-satellites{align-items:center;gap:1px;display:inline-flex}.gnss-satellites .gnss-count{margin-left:0}.gnss-indicator:not([open])>.gnss-detail{display:none}.gnss-emoji{flex-shrink:0;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:.88rem;line-height:1}.gnss-detail{z-index:30;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere;width:min(280px,100vw - 80px);max-height:220px;padding:8px;font-size:.7rem;line-height:1.5;display:block;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 6px 20px #0005}button,input,select{font:inherit}body.light{--bg-primary:#eee9df;--bg-card:#fbf8f1;--bg-panel:#f5f0e7;--bg-hover:#e8e0d4;--text-primary:#273039;--text-secondary:#66706f;--text-dim:#8a918e;--border:#d4cabb;--shadow:0 2px 9px #56473024}.login-shell{background:radial-gradient(circle at 15% 15%, #1d9bf024, transparent 35%), var(--bg-primary);place-items:center;width:100%;min-height:100%;padding:24px;display:grid}.login-card{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;width:min(410px,100%);padding:28px;box-shadow:0 20px 60px #00000052}.login-brand{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px;font-size:.76rem;font-weight:800}.login-card h1{margin-bottom:8px;font-size:1.55rem}.login-card>p,.login-card small{color:var(--text-secondary);line-height:1.5}.login-card>p{margin-bottom:22px;font-size:.82rem}.login-card label{color:var(--text-primary);margin-bottom:6px;font-size:.76rem;font-weight:600;display:block}.login-card input{border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:7px;outline:0;margin-bottom:12px;padding:10px 11px}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1d9bf024}.google-login-button,.login-submit{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:9px;width:100%;padding:10px 12px;display:flex}.google-login-button{border:1px solid var(--border);color:#202124;background:#fff;font-weight:600}.google-login-button:disabled,.login-submit:disabled{cursor:wait;opacity:.65}.login-divider{color:var(--text-dim);text-transform:uppercase;align-items:center;gap:12px;margin:18px 0;font-size:.68rem;display:flex}.login-divider:before,.login-divider:after{background:var(--border);content:"";flex:1;height:1px}.login-back{width:100%;color:var(--text-secondary);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin:10px 0 0;font-size:.72rem;text-decoration:underline}.login-card .login-message{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;margin:14px 0;padding:8px 10px;font-size:.74rem}.account-signout{width:100%;margin-top:8px}.hamburger-btn{width:53px;height:53px}.hamburger-btn svg{width:28px;height:28px}.leaflet-top.leaflet-left{top:72px}.leaflet-map-btn{width:47px;height:47px;margin-bottom:8px}.leaflet-map-btn svg{width:26.4px;height:26.4px}.leaflet-map-btn .fit-markers-icon{object-fit:contain;width:32.4px;height:32.4px}body.light .leaflet-map-btn .fit-markers-icon{filter:invert()}body.light .leaflet-map-btn:hover .fit-markers-icon,body.light .leaflet-map-btn:focus-visible .fit-markers-icon{filter:none}.leaflet-map-btn.global-trails-btn.active{border-color:var(--warning);background:var(--warning);color:#000}.leaflet-map-btn .global-trails-icon{width:26.4px;height:26.4px}.leaflet-control-zoom a{width:41px!important;height:41px!important;font-size:25px!important;line-height:41px!important}.leaflet-control-layers-toggle{background-size:28px 28px!important;width:53px!important;height:53px!important}.bp-click-layer-control:not(.bp-layer-open){padding:0!important}.bp-click-layer-control:not(.bp-layer-open) .leaflet-control-layers-toggle,.bp-click-layer-control:not(.bp-layer-open) .leaflet-control-layers-list{display:none!important}.bp-click-layer-control.bp-layer-open{padding:8px 10px!important}.bp-click-layer-control.bp-layer-open .leaflet-control-layers-toggle{display:none!important}.bp-click-layer-control.bp-layer-open .leaflet-control-layers-list{display:block!important}.bp-click-layer-control .leaflet-control-layers-base label{align-items:center;gap:6px;min-height:28px;font-size:.82rem;display:flex}.bp-click-layer-control .leaflet-control-layers-toggle{display:none!important}.bp-click-layer-control:not(.bp-layer-open){box-shadow:none!important;background:0 0!important;border:0!important}.leaflet-top.leaflet-right .bp-click-layer-control{margin-top:8px!important;margin-right:8px!important}.bp-layer-preview-toggle{background:var(--bg-card);width:208px;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow);border:.5px solid #73c4ff73;border-radius:9px;padding:2px;display:block;overflow:hidden}.bp-layer-preview-toggle:hover,.bp-layer-preview-toggle:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px #1d9bf033, var(--shadow);outline:0}.bp-layer-preview-map{background:var(--bg-primary);border-radius:7px;width:204px;height:144px;display:block;overflow:hidden}.bp-layer-preview-map .leaflet-control-container{display:none}.bp-click-layer-control.bp-layer-open{min-width:190px}.bp-click-layer-control.bp-layer-open .bp-layer-preview-toggle{display:none}@media (max-width:620px){.bp-layer-preview-toggle{width:152px}.bp-layer-preview-map{width:148px;height:104px}}.map-loading{background:var(--bg-primary);color:var(--text-secondary);place-items:center;display:grid;position:fixed;inset:0}.map-renderer-shell{position:fixed;inset:0}.map-style-picker{z-index:1001;border:1px solid var(--border);background:var(--bg-card);width:150px;box-shadow:var(--shadow);border-radius:10px;padding:4px;position:absolute;top:10px;right:10px}.map-style-picker.open{width:258px}.map-style-picker button{cursor:pointer;border:0}.map-style-preview{width:100%;color:var(--text-primary);text-align:left;background:0 0;gap:4px;padding:0;font-size:.68rem;font-weight:750;display:grid}.map-style-preview-image{background-color:#dfe8d5;background-image:linear-gradient(28deg,#0000 45%,#9fc9dc 46% 55%,#0000 56%),linear-gradient(152deg,#0000 40%,#fff 41% 44%,#0000 45%),radial-gradient(circle at 72% 35%,#b9d99f 0 18%,#0000 19%);border-radius:7px;height:82px;display:block}.map-style-preview-live{pointer-events:none;background:var(--bg-primary);overflow:hidden}.map-style-preview-live .leaflet-control-container{display:none}.map-style-preview-image.raster-satellite{filter:saturate(.8);background-color:#506744}.map-style-preview-image.raster-topographic{background-color:#eee4c8;background-image:repeating-radial-gradient(at 45% 55%,#0000 0 9px,#b69767 10px 11px)}.map-style-preview-image.vector-online{background-color:#edf0e7;background-image:linear-gradient(28deg,#0000 45%,#94cfe0 46% 55%,#0000 56%),linear-gradient(152deg,#0000 40%,#fff 41% 44%,#0000 45%),linear-gradient(80deg,#0000 46%,#bac6b7 47% 48%,#0000 49%)}.map-style-menu{padding:3px}.map-style-tabs{border:1px solid var(--border);border-radius:7px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.map-style-tabs button{background:var(--bg-primary);color:var(--text-secondary);padding:7px;font-size:.7rem;font-weight:800}.map-style-tabs button.active{background:var(--accent);color:#fff}.map-style-options{gap:5px;margin-top:7px;display:grid}.map-style-options button{background:var(--bg-hover);min-height:48px;color:var(--text-secondary);text-align:left;border:1px solid #0000;border-radius:6px;gap:2px;padding:7px 9px;display:grid}.map-style-options button.active{border-color:var(--accent);color:var(--text-primary)}.map-style-options button:disabled{cursor:not-allowed;opacity:.48}.map-style-option-title{color:var(--text-primary);font-size:.72rem;font-weight:750}.map-style-option-description{color:var(--text-secondary);font-size:.61rem;font-weight:500;line-height:1.3}.map-rotation-option{cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:4px 8px;font-size:.75rem;display:flex}.map-rotation-option input{accent-color:var(--accent)}.maplibre-map{width:100%;height:100%}.maplibre-tool-stack,.maplibre-zoom-stack{z-index:850;pointer-events:auto;display:grid;position:absolute}.maplibre-tool-stack{top:82px;left:10px}body.panel-open .maplibre-tool-stack,body.panel-open .maplibre-zoom-stack{left:calc(var(--panel-width) + 10px)}.maplibre-tool-stack .leaflet-map-btn{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);border-radius:7px;place-items:center;display:grid;box-shadow:0 2px 7px #00000047}.maplibre-tool-stack .leaflet-map-btn:hover,.maplibre-tool-stack .leaflet-map-btn:focus-visible{border-color:var(--accent);background:var(--accent);color:#fff}.maplibre-tool-stack .leaflet-map-btn.active{border-color:var(--warning);background:var(--warning);color:#000}.maplibre-tool-stack .maplibre-fit-markers-icon{background:url(/icons/location-fit-markers.png) 50%/contain no-repeat;display:block}.maplibre-zoom-stack{border:1px solid #7a8791;border-radius:4px;bottom:10px;left:10px;overflow:hidden;box-shadow:0 2px 7px #00000047}.maplibre-zoom-stack button{background:var(--bg-primary);width:41px;height:41px;color:var(--text-primary);border:0;border-bottom:1px solid #7a8791;border-radius:0;font-size:25px;line-height:1}.maplibre-zoom-stack button:last-child{border-bottom:0}.map-north-icon{vertical-align:middle;background:currentColor;width:25px;height:25px;display:inline-block;-webkit-mask:url(/icons/map-north.png) 50%/contain no-repeat;mask:url(/icons/map-north.png) 50%/contain no-repeat}.maplibre-zoom-stack .map-north-control{opacity:0;visibility:hidden;pointer-events:none;border-bottom-width:0;height:0;padding:0;transition:opacity .18s,height .18s,visibility .18s;overflow:hidden}.maplibre-zoom-stack .map-north-control.is-visible{opacity:1;visibility:visible;pointer-events:auto;border-bottom-width:1px;height:41px}@media (prefers-reduced-motion:reduce){.maplibre-zoom-stack .map-north-control{transition:none}}.maplibre-zoom-stack button:hover,.maplibre-zoom-stack button:focus-visible{background:var(--accent);color:#fff}.measure-popup .maplibregl-popup-content{border-radius:6px;padding:6px 9px;font-weight:800}.maplibre-map-context-popup .maplibregl-popup-content{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);min-width:250px;color:var(--text-primary);padding:12px 14px}@media (max-width:768px){body.panel-open .maplibre-tool-stack,body.panel-open .maplibre-zoom-stack{left:10px}}.maplibregl-marker.marker-pin{position:absolute}.maplibre-marker{cursor:pointer;width:36px;height:48px}.maplibre-device-marker-popup .maplibregl-popup-content{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);min-width:min(350px,100vw - 52px);padding:0;overflow:hidden}.maplibre-device-marker-popup .maplibregl-popup-close-button{z-index:2;border:1px solid var(--border);background:var(--bg-card);width:25px;height:25px;color:var(--text-secondary);border-radius:50%;font-size:19px;line-height:21px;top:5px;right:5px}.maplibre-device-marker-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.maplibre-device-marker-popup.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibre-device-marker-popup.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--bg-card)}.maplibre-device-marker-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip,.maplibre-device-marker-popup.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibre-device-marker-popup.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--bg-card)}@media (max-width:768px){.map-style-picker{width:128px}.map-style-picker.open{width:min(258px,100vw - 20px)}.map-style-preview-image{height:68px}}body.panel-open .map-loading{margin-left:var(--panel-width)}#statusBanner.waiting #statusIcon{color:var(--text-secondary)}#statusBanner.connected{animation:5.5s ease-in-out infinite live-connection-pulse}@keyframes live-connection-pulse{0%,to{border-color:var(--border);box-shadow:0 0 #16a34a00}50%{border-color:color-mix(in srgb, var(--success) 55%, var(--border));box-shadow:0 0 0 4px #16a34a1a}}@media (prefers-reduced-motion:reduce){#statusBanner.connected{border-color:color-mix(in srgb, var(--success) 55%, var(--border));animation:none}}#statusBanner.tutorial #statusIcon{color:#f59e0b}button#statusBanner{color:var(--text-primary);cursor:pointer;font:inherit}#statusBanner.tutorial-exit-ready{white-space:nowrap;border-color:#f59e0b;padding:2px 5px;font-size:.56rem;line-height:1.05;animation:1.8s ease-in-out infinite tutorial-exit-halo}@keyframes tutorial-exit-halo{0%,to{box-shadow:0 0 #f59e0b26,0 0 8px #f59e0b47}50%{box-shadow:0 0 0 6px #f59e0b2e,0 0 18px #f59e0bb8}}.tutorial-mode-banner{color:#1f2937;text-align:center;letter-spacing:.06em;background:#f59e0b;flex-shrink:0;padding:5px 10px;font-size:.68rem;font-weight:800}.telemetry-empty-state{min-height:240px;color:var(--text-secondary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:28px 18px;font-size:.76rem;display:flex}.telemetry-empty-state strong{color:var(--text-primary);font-size:.9rem}.telemetry-empty-icon{border:1px solid var(--border);width:42px;height:42px;color:var(--accent);border-radius:50%;place-items:center;font-size:1.3rem;display:grid}.telemetry-empty-state button{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:6px;margin-top:6px;padding:6px 10px}.telemetry-empty-state button:hover{border-color:var(--accent);color:var(--accent)}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.modal-content .modal-header h2{margin-bottom:0}.settings-theme-btn{flex:none}#panel{min-height:0;transition:transform .3s cubic-bezier(.22,1,.36,1)}.panel-brand{flex:210px;align-items:center;gap:4px;min-width:0;display:flex}.panel-brand-mark,.panel-brand-mascot{background-position:50%;background-repeat:no-repeat;background-size:contain;flex:none;display:block}.panel-brand-mark{image-rendering:auto;background-image:url(/icon.png);width:68px;height:48px}.panel-brand-mascot{background-image:url(/brand/main-logo-podge-carrie.avif);width:64px;height:64px;margin-left:0}.panel-brand .panel-title{white-space:nowrap;font-size:1.02rem}#panelHeader{flex-wrap:wrap;gap:6px}.panel-status-row{flex:0 0 100%;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.panel-brand{flex:0 0 100%;width:100%}.panel-header-actions{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.panel-collar-summary{min-height:32px;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:12px;font-size:.75rem;display:flex}.panel-collar-summary strong{color:var(--text-primary)}.panel-sort-controls{color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;font-size:.75rem;display:flex}.panel-sort-controls select,.panel-sort-controls button{min-height:32px;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:4px 8px}.panel-sort-controls button{cursor:pointer;min-width:32px}.panel-sort-controls button:disabled{opacity:.4;cursor:default}.panel-sort-controls :focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:768px){#panelHeader{flex-wrap:wrap;gap:6px 12px;padding:10px 12px}}.transport-wifi{color:var(--text-secondary)}.bluetooth-beacon{color:#aeb6bd;width:22px;height:22px;font:inherit;vertical-align:middle;appearance:none;background:#252b31;border:1px solid #111820;border-radius:6px;flex:0 0 22px;place-items:center;margin-left:2px;padding:0;line-height:1;display:inline-grid;position:relative}.bluetooth-beacon svg{width:11px;height:15px}.bluetooth-beacon-state{border:1px solid var(--bg-card);color:#fff;border-radius:50%;place-items:center;width:12px;height:12px;font-size:10px;font-weight:900;line-height:1;display:grid;position:absolute;top:-5px;right:-6px}.bluetooth-beacon-state.off{background:0 0;border:0;width:14px;height:14px;font-size:13px;top:-6px;right:-7px}.bluetooth-beacon-state.on{background:#16a34a}.bluetooth-beacon.active{border-color:color-mix(in srgb, var(--success) 70%, var(--accent));background:color-mix(in srgb, var(--accent) 72%, #08213a);color:#fff}body.light .bluetooth-beacon{color:#46515b;background:#ddd9d1;border-color:#9aa1a7}body.light .bluetooth-beacon.active{border-color:color-mix(in srgb, var(--success) 65%, #8ba3b5);color:#175f8f;background:#d8eaf6}button.bluetooth-beacon:not(:disabled){cursor:pointer}button.bluetooth-beacon:not(:disabled):hover,button.bluetooth-beacon:not(:disabled):focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent);transform:scale(1.08)}button.bluetooth-beacon:disabled{cursor:not-allowed;opacity:.55}.collar-awake{place-items:center;min-width:1.5em;font-size:1.5em;line-height:1;display:inline-grid}.collar-awake.awake{opacity:1;filter:none}.collar-awake.sleeping{opacity:.58;filter:grayscale()saturate(0)brightness(.76)}body.light .collar-awake.sleeping{opacity:.52;filter:grayscale()saturate(0)brightness(.68)}.device-card.stale .collar-awake{opacity:.32;filter:grayscale()saturate(.15)}#deviceCards{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;min-height:0}.device-card{flex:none}.device-card.dragging{opacity:.55}.device-card.drag-over{border-color:var(--accent);box-shadow:0 0 0 2px #1d9bf029}.card-summary{align-items:flex-start}.card-reorder-handle{width:24px;min-width:24px;height:36px;color:var(--text-dim);cursor:grab;background:0 0;border:0;border-radius:5px;place-items:center;margin:0 -2px 0 -7px;padding:0;display:grid}.card-reorder-handle .reorder-grip,.card-reorder-handle .reorder-pin{pointer-events:none;grid-area:1/1;place-items:center;transition:opacity .2s,transform .24s cubic-bezier(.22,1,.36,1);display:grid}.card-reorder-handle svg{width:17px;height:17px}.card-reorder-handle .reorder-pin{opacity:0;transform:scale(.65)rotate(-12deg)}.card-reorder-handle:active{cursor:grabbing}.card-reorder-handle:hover,.card-reorder-handle:focus-visible{color:var(--accent);outline:0}.card-reorder-handle.can-pin:hover,.card-reorder-handle.can-pin:focus-visible,.card-reorder-handle.pinned{cursor:pointer}.card-reorder-handle.can-pin:hover .reorder-grip,.card-reorder-handle.can-pin:focus-visible .reorder-grip,.card-reorder-handle.pinned .reorder-grip{opacity:0;transform:scale(.72)}.card-reorder-handle.can-pin:hover .reorder-pin,.card-reorder-handle.can-pin:focus-visible .reorder-pin,.card-reorder-handle.pinned .reorder-pin{opacity:1;transform:scale(1)rotate(0)}.card-reorder-handle.pinned{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.card-detail-reveal{transition:grid-template-rows .8s cubic-bezier(.22,1,.36,1),opacity .48s}.tutorial-mode-setting{background:#f59e0b17;border:1px solid #f59e0b;border-radius:6px;margin:14px 0 0;padding:10px}.tutorial-mode-setting .form-group{margin-bottom:0}.tutorial-mode-setting .form-hint{opacity:1;margin:7px 0 0;line-height:1.4}.search-party-mode-setting{border:1px solid color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 9%, transparent);border-radius:6px;margin:10px 0 0;padding:10px}.search-party-mode-setting .form-group{margin-bottom:0}.search-party-mode-setting .form-hint{opacity:1;margin:7px 0 0;line-height:1.4}.search-party-mode-unavailable{color:#f59e0b}.toggle-switch.disabled{cursor:not-allowed;opacity:.42}.tutorial-replay-btn{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #f59e0b;border-radius:5px;margin-top:9px;padding:6px 8px;font-size:.74rem}.tutorial-replay-btn:hover{background:#f59e0b29}.tutorial-welcome-card{z-index:1900;background:var(--bg-card);width:min(360px,100vw - 32px);color:var(--text-primary);border:1px solid #f59e0b;border-radius:12px;padding:18px;position:fixed;bottom:28px;right:20px;box-shadow:0 16px 45px #00000061}.tutorial-welcome-eyebrow{color:#f59e0b;letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-size:.68rem;font-weight:800;display:inline-block}.tutorial-welcome-card h2{margin:0 30px 8px 0;font-size:.98rem}.tutorial-welcome-card p{color:var(--text-secondary);margin:0;font-size:.78rem;line-height:1.5}.tutorial-welcome-card .tutorial-welcome-hint{margin-top:8px;font-size:.72rem}.tutorial-welcome-card .modal-actions{margin-top:15px}.tutorial-welcome-close{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;font-size:1.25rem;position:absolute;top:8px;right:9px}@media (max-width:520px){.tutorial-welcome-card{width:auto;bottom:12px;left:12px;right:12px}}.tutorial-toast{z-index:2000;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow);border-radius:999px;padding:9px 14px;font-size:.78rem;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.tutorial-note{color:var(--text-secondary);font-size:.72rem;line-height:1.45}.card-actions button{font-family:inherit}.card-avatar-wrap{flex:0 0 36px;transition:flex-basis .5s cubic-bezier(.22,1,.36,1);position:relative}.device-card.expanded .card-avatar-wrap{flex-basis:78px}.device-card.expanded .card-avatar{width:78px;min-width:78px;height:78px;font-size:39px}.device-card.expanded .card-avatar .avatar-emoji-image{width:77%;height:77%}.card-avatar.has-photo{background-color:var(--bg-primary);background-position:50%;background-size:cover}.avatar-emoji-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:72%;height:72%}.card-avatar-edit{z-index:3;color:#fff;cursor:pointer;text-shadow:0 1px 3px #00000059;opacity:0;pointer-events:none;background:#454c53b8;border:0;border-radius:50%;place-items:center;width:100%;height:100%;padding:0 0 3px;font-size:30px;font-weight:500;line-height:1;transition:opacity .32s,transform .38s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;inset:0;transform:scale(.88)}.card-avatar-wrap:hover .card-avatar-edit,.card-avatar-wrap:focus-within .card-avatar-edit,.card-avatar-edit:focus-visible{opacity:1;pointer-events:auto;transform:scale(1)}.device-card.expanded .card-avatar-edit{font-size:42px}.card-avatar-edit:hover,.card-avatar-edit:focus-visible{outline-offset:-3px;background:#3a4046cc;outline:2px solid #ffffffb8}@media (prefers-reduced-motion:reduce){.card-avatar-wrap,.card-avatar,.card-detail-reveal,.card-reorder-handle .reorder-grip,.card-reorder-handle .reorder-pin,.card-avatar-edit{transition-duration:.01ms;transition-delay:0s}}.bp-marker-icon{background:0 0;border:0;overflow:visible}.gps-fresh{--gps-color:#4ade80}.gps-recent{--gps-color:var(--text-primary)}.gps-aging,.gps-unknown{--gps-color:#fbbf24}.gps-stale,.gps-missing{--gps-color:#f87171}.gps-age-badge,.gps-as-at,.card-coords-link[class*=gps-]{color:var(--gps-color)}.gps-age-badge{white-space:nowrap;flex:none;align-items:center;font-size:.65rem;font-weight:650;line-height:1.35;display:inline-flex}.gps-age-badge[hidden]{display:none}.metric-amber{--metric-color:#fbbf24;color:var(--metric-color)}.metric-red{--metric-color:#f87171;color:var(--metric-color)}body.light .metric-amber{--metric-color:#a85d00}body.light .metric-red{--metric-color:#b91c1c}.metric-amber :is(.card-dist-value,.card-lastseen-value),.metric-red :is(.card-dist-value,.card-lastseen-value){color:var(--metric-color)}body .device-card:is(.collar-sleeping,.freshness-subdued,.freshness-faded,.stale,.freshness-greyed,.offline),body.light .device-card:is(.collar-sleeping,.freshness-subdued,.freshness-faded,.stale,.freshness-greyed,.offline){filter:none}.device-card.collar-sleeping{--card-freshness-filter:grayscale(.02) saturate(.94) brightness(.99)}.device-card.freshness-subdued{--card-freshness-filter:grayscale(.1) saturate(.8) brightness(.96)}.device-card.freshness-faded{--card-freshness-filter:grayscale(.22) saturate(.62) brightness(.92)}.device-card.stale{--card-freshness-filter:grayscale(.42) saturate(.42) brightness(.88)}.device-card.freshness-greyed{--card-freshness-filter:grayscale(.95) saturate(.08) brightness(.82)}.device-card.offline{--card-freshness-filter:grayscale(.9) saturate(.08) brightness(.78)}.device-card :is(.card-avatar-wrap,.card-name-row,.card-fault-row,.gnss-indicator),.device-card .card-indicators-primary>.card-indicator-group{filter:var(--card-freshness-filter,none)}.device-report-modal{max-width:1120px}.report-export-actions{flex-wrap:wrap}.report-export-actions button{flex:120px;min-height:44px}.report-table{table-layout:fixed}.report-table tbody th{white-space:normal;width:14%}.report-table thead th:first-child{width:14%}.report-table thead th:nth-child(2),.report-table td:nth-child(2){width:19%}.report-table thead th:nth-child(3){width:27%}.report-table thead th:nth-child(4){width:40%}.report-table td{overflow-wrap:anywhere}.report-table td:nth-child(4){color:var(--text-primary);line-height:1.45}@media (max-width:700px){.report-table{min-width:680px}}.card-indicators-row3,.card-contact-gps-row{gap:4px 8px}.card-contact-gps-row{flex-wrap:wrap;align-items:center;display:flex}.gps-as-at{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:.76rem}.marker-gps-warning{z-index:3;pointer-events:none;border:1px solid var(--gps-color);width:19px;height:19px;color:var(--gps-color);background:#15232e;border-radius:50%;place-items:center;font:12px/1 Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;display:grid;position:absolute;top:-4px;right:-5px}.marker-gps-warning:after{content:"";background:var(--gps-color);border-radius:1px;width:17px;height:2px;position:absolute;transform:rotate(-45deg);box-shadow:0 0 1px 1px #15232e}.marker-home-confirmed{--gps-color:#4ade80}.marker-home-confirmed:after{display:none}body.light .gps-fresh{--gps-color:#15803d}body.light .gps-aging,body.light .gps-unknown{--gps-color:#92400e}body.light .gps-stale,body.light .gps-missing{--gps-color:#b91c1c}body.light .marker-gps-warning{background:#fff}body.light .marker-gps-warning:after{box-shadow:0 0 1px 1px #fff}.marker-pin{--marker-color:var(--accent);isolation:isolate;width:36px;height:48px;box-shadow:none;background:0 0;border:0;border-radius:0;display:block;position:relative}.marker-pin:after{content:"";z-index:-1;background:var(--marker-color);clip-path:polygon(0 0,100% 0,50% 100%);width:14px;height:13px;position:absolute;top:35px;left:11px}.marker-pin-face{z-index:1;border-color:var(--marker-color);position:relative;overflow:hidden}.bp-marker{width:36px;height:48px}.bp-marker.status-home .marker-pin-face,.bp-marker.status-lost .marker-pin-face{border-color:var(--marker-color)}.popup-avatar{background:var(--bg-primary);object-fit:cover;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;min-width:42px;height:42px;font-size:30px;display:grid;overflow:hidden}.popup-avatar-image{object-fit:contain;width:100%;height:100%;display:block}.device-marker-popup .leaflet-popup-content-wrapper{border:1px solid var(--border);min-width:min(350px,100vw - 52px);overflow:hidden}.device-marker-popup .leaflet-popup-content{width:auto!important;margin:0!important}.device-marker-popup .leaflet-popup-close-button{z-index:2;border:1px solid var(--border);border-radius:50%;background:var(--bg-card)!important;width:25px!important;height:25px!important;font-size:19px!important;line-height:21px!important;top:5px!important;right:5px!important}.map-device-card{cursor:default;min-width:0;box-shadow:none;border:0;border-radius:0}.map-device-card:hover{box-shadow:none;border-color:#0000;transform:none}.map-popup-summary{align-items:flex-start;padding:11px 34px 10px 12px}.map-popup-summary .card-name-row{flex-wrap:wrap}.map-popup-detail{padding:0 12px 12px}.map-popup-detail .card-grid{margin-bottom:6px}.map-popup-detail .popup-actions{border-top:0;padding-top:0}.map-device-card .btn-action{padding:4px 8px;font-size:.68rem}.map-device-card .signal-indicator,.map-device-card .battery-indicator{transform:none}.avatar-editor-content{max-width:470px;max-height:calc(100dvh - 24px);overflow-y:auto}.marker-name-field{gap:6px;margin-bottom:16px;display:grid}.marker-name-field label{font-weight:600}.marker-name-field input{border:1px solid var(--border);background:var(--bg-primary);width:100%;min-width:0;color:var(--text-primary);font:inherit;border-radius:8px;padding:10px 12px}.marker-name-field .form-hint{text-align:left;margin:0}.avatar-editor-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.avatar-editor-heading h2{margin:2px 0 16px}.avatar-editor-eyebrow{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;font-size:.65rem;font-weight:800}.avatar-editor-close{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.5rem;line-height:1}.avatar-kind-tabs{border:1px solid var(--border);background:var(--bg-primary);border-radius:8px;grid-template-columns:1fr 1fr;margin-bottom:16px;padding:3px;display:grid}.avatar-kind-tabs button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px;font-size:.76rem;font-weight:700}.avatar-kind-tabs button.active{background:var(--bg-card);color:var(--accent);box-shadow:0 1px 4px #00000038}.avatar-picker-loading{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow);border-radius:999px;padding:10px 14px;font-size:.76rem}.avatar-emoji-picker{gap:12px;display:grid}.avatar-selected-emoji{color:var(--text-primary);align-items:center;gap:10px;display:flex}.avatar-map-pin-preview{flex:0 0 36px;width:36px;height:48px}.avatar-selected-emoji strong,.avatar-selected-emoji small{display:block}.avatar-selected-emoji strong{font-size:.76rem}.avatar-selected-emoji small{color:var(--text-secondary);margin-top:2px;font-size:.68rem}.avatar-emoji-picker .EmojiPickerReact{--epr-highlight-color:var(--accent);--epr-picker-border-color:var(--border);--epr-picker-border-radius:9px;font-family:inherit}.avatar-photo-editor{flex-direction:column;align-items:center;display:flex}.avatar-photo-preview{border:4px solid var(--accent);background:var(--bg-primary);border-radius:50%;width:150px;height:150px;position:relative;overflow:hidden}.avatar-photo-preview-image{transform-origin:50%;background-position:50%;background-size:cover;position:absolute;inset:0}.avatar-photo-placeholder{height:100%;color:var(--text-dim);place-items:center;font-size:2.2rem;display:grid}.avatar-upload-button{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;margin-top:12px;padding:7px 11px;font-size:.74rem;font-weight:700}.avatar-upload-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.avatar-photo-editor>.form-hint{text-align:center;margin:8px 0 0}.avatar-crop-controls{gap:7px;width:100%;margin-top:12px;display:grid}.avatar-crop-controls label{color:var(--text-secondary);grid-template-columns:90px 1fr;align-items:center;gap:10px;font-size:.7rem;display:grid}.avatar-colour-section{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.avatar-colour-heading{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.avatar-colour-heading>span{color:var(--text-secondary);font-size:.72rem;font-weight:700}.avatar-colour-heading output{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);border-radius:5px;padding:3px 7px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.65rem}.avatar-colour-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.avatar-colour-grid{flex-wrap:wrap;gap:10px;display:flex}.avatar-colour-grid button{border:2px solid var(--bg-card);cursor:pointer;width:27px;height:27px;box-shadow:0 0 0 1px var(--border);border-radius:50%}.avatar-colour-grid button.active{box-shadow:0 0 0 2px var(--bg-card), 0 0 0 4px currentcolor}.avatar-custom-colour{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin-left:auto;padding:5px 8px 5px 5px;display:flex}.avatar-custom-colour:hover,.avatar-custom-colour:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #1d9bf01f}.avatar-custom-colour input{cursor:pointer;background:0 0;border:0;border-radius:6px;width:38px;height:34px;padding:2px}.avatar-custom-colour input::-webkit-color-swatch{border:0;border-radius:5px}.avatar-custom-colour input::-moz-color-swatch{border:0;border-radius:5px}.avatar-custom-colour strong,.avatar-custom-colour small{display:block}.avatar-custom-colour strong{font-size:.7rem}.avatar-custom-colour small{color:var(--text-secondary);margin-top:1px;font-size:.6rem}.avatar-editor-error{border:1px solid color-mix(in srgb, var(--danger) 65%, transparent);background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger);border-radius:6px;margin:13px 0 0;padding:8px 10px;font-size:.72rem}@media (max-width:520px){.avatar-editor-content{max-height:calc(100vh - 24px);overflow-y:auto}.avatar-custom-colour{width:100%;margin-left:0}}.tutorial-tour{z-index:3000;position:fixed;inset:0}.tutorial-scrim{background:#020817b8;position:fixed;inset:0}.tutorial-scrim.has-target{background:0 0}.tutorial-spotlight{z-index:3001;pointer-events:none;border:2px solid #fbbf24;border-radius:10px;transition:left .18s,top .18s,width .18s,height .18s;position:fixed;box-shadow:0 0 0 9999px #020817b8,0 0 0 5px #fbbf2433}.tutorial-callout{z-index:3002;background:var(--bg-card);max-height:calc(100vh - 32px);color:var(--text-primary);border:1px solid #f59e0b;border-radius:12px;padding:18px;position:fixed;overflow-y:auto;box-shadow:0 18px 55px #0000006b}.tutorial-callout.centered{width:min(390px,100vw - 32px);top:50%;left:50%;transform:translate(-50%,-50%)}.tutorial-callout h2{margin:5px 28px 8px 0;font-size:1.02rem}.tutorial-callout p,.tutorial-callout li{color:var(--text-secondary);font-size:.78rem;line-height:1.5}.tutorial-callout p{margin:0}.tutorial-callout ul{margin:10px 0 0;padding-left:18px}.tutorial-callout li+li{margin-top:5px}.tutorial-icon-legend{gap:7px;margin-top:12px;display:grid}.tutorial-legend-item{border:1px solid var(--border);background:var(--bg-primary);border-radius:7px;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:8px;padding:7px 8px;display:grid}.tutorial-legend-symbol{justify-content:center;align-items:center;min-width:0;display:flex}.tutorial-legend-symbol .card-indicator-group{min-width:0}.tutorial-legend-symbol .signal-indicator{gap:2px}.tutorial-transport-symbols,.tutorial-receive-symbols{justify-content:center;align-items:center;gap:7px;display:inline-flex}.tutorial-transport-symbols .transport-badge{margin-left:0}.tutorial-legend-item strong,.tutorial-legend-item small{display:block}.tutorial-legend-item strong{font-size:.72rem}.tutorial-legend-item small{color:var(--text-secondary);margin-top:2px;font-size:.66rem;line-height:1.3}.tutorial-tool-bubble{z-index:3003;background:var(--bg-card);color:var(--text-primary);pointer-events:none;border:1px solid #f59e0b;border-radius:8px;gap:2px;padding:7px 9px;display:grid;position:fixed;transform:translateY(-50%);box-shadow:0 8px 24px #00000059}.tutorial-tool-bubble:before{content:"";border:6px solid #0000;border-left-width:0;border-right:7px solid #f59e0b;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.tutorial-tool-bubble strong{color:#fbbf24;font-size:.7rem}.tutorial-tool-bubble span{color:var(--text-secondary);font-size:.64rem;line-height:1.25}.tutorial-progress{color:#f59e0b;letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;font-weight:800}.tutorial-skip-icon{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;font-size:1.3rem;position:absolute;top:9px;right:10px}.tutorial-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.tutorial-actions>div{gap:7px;display:flex}.tutorial-actions .btn-primary,.tutorial-actions .btn-secondary{min-width:70px;padding:7px 10px}.tutorial-skip-text{color:var(--text-secondary);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:4px 0;font-size:.72rem;text-decoration:underline}@media (max-width:520px){.tutorial-callout.targeted{bottom:12px;right:12px;width:auto!important;top:auto!important;left:12px!important}.tutorial-actions{flex-direction:column;align-items:flex-start}.tutorial-actions>div{justify-content:flex-end;align-self:stretch}}.onboarding-shell{padding:24px}.pwa-install-page{background:var(--bg-primary,#0d1b2a);width:100%;height:100dvh;color:var(--text-primary,#e4e9ef);padding:24px 16px;overflow:auto}.pwa-install-card{border:1px solid var(--border,#304252);background:var(--bg-card);border-radius:12px;max-width:540px;margin:24px auto;padding:24px;line-height:1.6}.pwa-install-card h1{font-size:1.5rem;line-height:1.25}.pwa-install-card p{margin:16px 0}.pwa-install-help>div{margin:20px 0}.pwa-install-help dt{font-weight:700}.pwa-install-help dd{margin:4px 0 0}.pwa-install-card a{color:#55c2ff;padding:12px 0;display:inline-block}.pwa-install-note{font-size:.875rem}.pwa-install-button{color:#071522;min-height:44px;font:inherit;cursor:pointer;background:#1d9bf0;border:0;border-radius:8px;padding:10px 18px;font-weight:700}.pwa-install-button:focus-visible,.pwa-install-card a:focus-visible{outline-offset:3px;outline:3px solid #55c2ff}.account-menu-wrap{position:relative}.account-menu-wrap:hover .account-menu-trigger,.account-menu-wrap:focus-within .account-menu-trigger{border-color:var(--accent);color:var(--accent)}.account-menu-trigger{text-decoration:none}.account-menu{z-index:1800;border:1px solid var(--border);background:var(--bg-card);border-radius:9px;width:238px;padding:10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 36px #00000061}.account-menu-preview{gap:8px;display:grid}.account-menu-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu-eyebrow,.account-menu-hint{color:var(--text-secondary);font-size:.67rem}.account-menu-eyebrow{color:var(--success);letter-spacing:.05em;text-transform:uppercase;font-weight:800}.account-menu-stats{grid-template-columns:1fr 1fr;gap:6px;margin:0;display:grid}.account-menu-stats>div{border:1px solid var(--border);background:var(--bg-primary);border-radius:7px;min-width:0;padding:7px 8px}.account-menu-stats dt{color:var(--text-secondary);margin-bottom:2px;font-size:.62rem}.account-menu-stats dd{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.7rem;font-weight:700;overflow:hidden}.account-menu a,.account-menu>button{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:.73rem;text-decoration:none;display:flex}.account-menu a:hover,.account-menu>button:hover,.account-menu a:focus-visible,.account-menu>button:focus-visible{background:var(--bg-hover);outline:0}.account-menu>button{color:var(--danger)}@media (hover:none),(pointer:coarse),(max-width:768px){.account-menu a,.account-menu>button{min-height:44px}}.leaflet-cursor-coords{cursor:default;pointer-events:auto;border-radius:6px 0 0 6px;align-items:center;width:auto;max-width:30px;min-height:30px;padding:0;transition:max-width .18s,box-shadow .18s;display:flex;overflow:hidden}.leaflet-cursor-coords-tab{width:30px;min-width:30px;min-height:30px;color:var(--accent);place-items:center;font-family:system-ui,sans-serif;font-size:1rem;display:grid}.leaflet-cursor-coords-value{opacity:0;white-space:nowrap;min-width:205px;padding:4px 8px 4px 2px;transition:opacity .12s}.leaflet-cursor-coords:hover,.leaflet-cursor-coords:focus,.leaflet-cursor-coords:focus-within{border-color:var(--accent);outline:0;max-width:245px;box-shadow:0 0 0 2px #1d9bf02e}.leaflet-cursor-coords:hover .leaflet-cursor-coords-value,.leaflet-cursor-coords:focus .leaflet-cursor-coords-value,.leaflet-cursor-coords:focus-within .leaflet-cursor-coords-value{opacity:1}.account-shell{background:radial-gradient(circle at 85% 0%, #1d9bf01a, transparent 30%), var(--bg-primary);width:100vw;height:100vh;min-height:100vh;padding:34px clamp(18px,5vw,72px) 60px;overflow-y:auto}.account-header{justify-content:space-between;align-items:center;gap:20px;max-width:920px;margin:0 auto 24px;display:flex}.account-header .login-brand{margin-bottom:8px}.account-header h1{font-size:clamp(1.45rem,3vw,2rem)}.account-header p,.settings-copy{color:var(--text-secondary);font-size:.79rem;line-height:1.55}.account-header p{margin-top:5px}.account-header>a,.share-actions a{text-decoration:none}.account-section-nav{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;gap:7px;max-width:920px;margin:0 auto 16px;padding:6px;display:flex;overflow-x:auto}.account-section-nav a{color:var(--text-secondary);border-radius:7px;flex:1 0 auto;justify-content:center;align-items:center;padding:8px 12px;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex}.account-section-nav a:hover,.account-section-nav a:focus-visible{background:var(--bg-hover);color:var(--text-primary);outline:0}.settings-stack{gap:16px;max-width:920px;margin:0 auto;display:grid}.settings-card{border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow);border-radius:12px;padding:22px;scroll-margin-top:18px}.family-settings-stack{width:100%;scroll-margin-top:18px}.account-profile-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);align-items:start;gap:24px;display:grid}.account-security-summary{border-left:1px solid var(--border);padding-left:22px}.settings-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.settings-card-heading h2{margin-top:3px;font-size:1.05rem}.settings-eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:800}.role-pill,.invite-status{color:#73c4ff;background:#1d9bf01a;border:1px solid #1d9bf059;border-radius:999px;flex:none;padding:4px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.role-pill.secondary{border-color:var(--border);background:var(--bg-primary);color:var(--text-secondary)}.member-list,.invitation-list,.billing-family-list{gap:8px;margin-top:17px;display:grid}.member-row,.invitation-row,.billing-family-row{border:1px solid var(--border);background:var(--bg-primary);border-radius:8px;align-items:center;gap:11px;padding:11px;display:flex}.member-avatar{width:34px;height:34px;color:var(--accent);background:#1d9bf029;border-radius:50%;flex:0 0 34px;place-items:center;font-weight:800;display:grid}.member-row>div,.invitation-row>div,.billing-family-row>div{flex:1;min-width:0}.member-row strong,.member-row small,.invitation-row strong,.invitation-row small,.billing-family-row strong,.billing-family-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.member-row strong,.invitation-row strong,.billing-family-row strong{font-size:.78rem}.member-row small,.invitation-row small,.billing-family-row small{color:var(--text-secondary);margin-top:2px;font-size:.68rem}.member-remove-button{color:#ff9d9d;border-color:#ff174461;padding:6px 9px}.family-switcher,.family-name-form>div,.invite-form>div,.search-party-form>div,.profile-form>div{gap:9px;display:flex}.family-switcher select,.family-name-form input,.invite-form input,.search-party-form input,.profile-form input{border:1px solid var(--border);background:var(--bg-primary);min-width:0;color:var(--text-primary);border-radius:7px;outline:0;flex:1;padding:9px 10px}.invite-form,.search-party-form,.family-name-form,.profile-form{margin-top:17px}.invite-form label,.search-party-form label,.family-name-form label,.profile-form label{margin-bottom:6px;font-size:.73rem;font-weight:700;display:block}.form-help{color:var(--text-secondary);margin-top:6px;font-size:.68rem;display:block}.invite-share-card{background:#00c85312;border:1px solid #00c85359;border-radius:8px;gap:9px;margin-top:15px;padding:13px;display:grid}.invite-share-card strong{font-size:.78rem}.invite-delivery-warning{color:var(--warning);margin:0;font-size:.7rem;line-height:1.45}.invite-share-card code{overflow-wrap:anywhere;color:var(--text-secondary);font-size:.67rem}.share-actions{flex-wrap:wrap;gap:7px;display:flex}.share-actions .btn-secondary,.account-header .btn-secondary,.family-switcher .btn-primary,.family-name-form .btn-primary,.invite-form .btn-primary,.search-party-form .btn-primary,.profile-form .btn-primary{justify-content:center;align-items:center;padding:8px 11px;display:inline-flex}.settings-message{border:1px solid var(--border);border-radius:7px;max-width:920px;margin:10px auto;padding:9px 11px;font-size:.73rem}.settings-message.error{color:#ff9d9d;border-color:#ff174473}.settings-message.success{color:#68df99;border-color:#00c85366}.invite-status.pending{color:var(--warning);background:#ffab0014;border-color:#ffab0059}.invite-status.active,.invite-status.accepted{color:var(--success);background:#00c85314;border-color:#00c85359}.invite-status.revoked,.invite-status.expired{color:var(--text-secondary);border-color:var(--border);background:0 0}.search-party-form .btn-primary{padding:9px 13px}.search-party-share-card{background:#1d9bf012;border-color:#1d9bf059}.search-party-shell{background:var(--bg-primary);width:100vw;height:100vh;position:relative;overflow:hidden}.search-party-shell.invalid{place-items:center;padding:24px;display:grid}.search-party-invalid-card{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;width:min(100%,430px);padding:28px;box-shadow:0 20px 60px #00000052}.search-party-invalid-card h1{margin:6px 0 10px;font-size:1.45rem}.search-party-invalid-card p{color:var(--text-secondary);margin-top:9px;font-size:.82rem;line-height:1.5}#panel.search-party-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;padding:0;overflow:hidden}.search-party-panel-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.search-party-preview-banner{background:var(--accent);color:#fff;letter-spacing:.045em;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:.66rem;font-weight:800;display:flex}.search-party-preview-banner button{color:#fff;cursor:pointer;background:#02081747;border:1px solid #ffffffbf;border-radius:5px;flex:none;padding:4px 8px;font-size:.68rem;font-weight:700}.search-party-preview-banner button:hover,.search-party-preview-banner button:focus-visible{background:#0208177a}@media (prefers-reduced-motion:reduce){#statusBanner.tutorial-exit-ready{animation:none;box-shadow:0 0 0 4px #f59e0b38}}.search-party-summary-card{border-bottom:1px solid var(--border);background:#15202bb8;flex-shrink:0;gap:10px;padding:14px;display:grid}.search-party-summary-card h1{font-size:1.15rem}.search-party-summary-card p{color:var(--text-secondary);font-size:.76rem;line-height:1.5}.search-party-meta{grid-template-columns:1fr 1fr;gap:8px;display:grid}.search-party-meta>div{border:1px solid var(--border);background:var(--bg-primary);border-radius:8px;padding:8px}.search-party-meta dt{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem;font-weight:700}.search-party-meta dd{margin-top:3px;font-size:.72rem}.search-party-device-card{cursor:default}.search-party-device-card:hover{transform:none}.search-party-device-card .card-summary{cursor:default}.search-party-device-card .card-name-row{flex-wrap:wrap}.search-party-device-card .card-detail-reveal{opacity:1;grid-template-rows:1fr}.search-party-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.search-party-card-actions .btn-action{justify-content:center}.search-party-theme-btn{width:32px;height:32px;color:var(--text-primary);font-size:1rem}.card-hub-guest-summary{color:var(--text-secondary);margin-top:5px;font-size:.68rem}@media (max-width:620px){.search-party-summary-card{padding:12px}.search-party-meta,.search-party-card-actions{grid-template-columns:1fr}}.account-detail-list{gap:8px;margin:16px 0;display:grid}.account-detail-list>div{border-bottom:1px solid var(--border);grid-template-columns:140px 1fr;gap:12px;padding:9px 0;display:grid}.account-detail-list dt{color:var(--text-secondary);font-size:.72rem}.account-detail-list dd{font-size:.76rem}@media (max-width:620px){.account-header,.family-switcher,.family-name-form>div,.invite-form>div,.search-party-form>div,.profile-form>div{flex-direction:column;align-items:stretch}.member-row,.invitation-row{flex-wrap:wrap}.invitation-row form,.invitation-row form button{width:100%}.account-detail-list>div{grid-template-columns:1fr;gap:3px}.account-profile-grid{grid-template-columns:1fr;gap:18px}.account-security-summary{border-top:1px solid var(--border);border-left:0;padding:0}}.onboarding-card{width:min(100%,520px)}.onboarding-step{color:#73c4ff;letter-spacing:.08em;text-transform:uppercase;background:#1d9bf01a;border:1px solid #1d9bf059;border-radius:999px;margin:14px 0 6px;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.onboarding-form{gap:10px;margin-top:20px;display:grid}.onboarding-form small{color:#8fa5b8;margin:-2px 0 6px;line-height:1.45}.onboarding-error{color:#ff9d9d}.onboarding-privacy{color:#7890a5;text-align:center;margin:18px 0 0;font-size:.76rem}.device-card:has(.gnss-indicator[open]){z-index:30;overflow:visible}.inactive-devices>summary{cursor:pointer;color:var(--text-secondary);padding:14px 4px;font-size:.85rem}.inactive-device-list{gap:10px;display:grid}.command-feedback-help{color:var(--text-muted);font-size:.72rem;display:block}.card-indicators-primary:has(.gnss-indicator[open]){overflow:visible}@media (max-width:768px){.gnss-indicator{position:static}.gnss-detail{width:auto;top:100%;left:12px;right:12px}}
.hub-editor{gap:8px;margin-top:12px;display:grid}.hub-editor label{gap:4px;font-size:12px;display:grid}.hub-editor input{color:#edf6ff;background:#10232f;border:1px solid #36556a;border-radius:6px;min-width:0;padding:7px}.hub-editor input[type=color]{width:100%;height:36px;padding:2px}
