.tool-panel{z-index:2;top:var(--mlt-top-offset);box-sizing:border-box;width:392px;max-width:calc(100vw - 24px);max-height:calc(100vh - var(--mlt-top-offset) - 12px);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);font:14px/1.4 var(--font-body);padding:16px;position:absolute;left:12px;overflow-y:auto;box-shadow:0 8px 28px #00000029}.tool-panel [hidden]{display:none!important}.tool-panel .icon{width:18px;height:18px}.tool-panel .panel-title{font:600 20px/1.2 var(--font-display);letter-spacing:-.01em;margin:4px 48px 12px 0}.tool-panel .panel-close{width:44px;height:44px;box-shadow:none;color:var(--muted);background:0 0;border:0;border-radius:12px;top:8px;right:8px}.tool-panel .panel-close:hover{background:var(--subtle);color:var(--ink);border-color:#0000}.tool-panel :is(button,input,select):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tool-panel .cap{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.tool-panel .btn{box-sizing:border-box;min-height:44px;color:var(--ink);font:600 14px var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.tool-panel .btn:disabled{opacity:.55;cursor:default}.tool-panel .btn-block{width:100%}.tool-panel .btn-primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-ink)}.tool-panel .btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.tool-panel .btn-quiet{background:var(--bg);border-color:var(--line-strong)}.tool-panel .btn-quiet:hover:not(:disabled){border-color:var(--accent);color:var(--accent-deep);background:var(--tint)}.tool-panel .btn-text{color:var(--muted);padding:0 12px}.tool-panel .btn-text:hover:not(:disabled){background:var(--subtle);color:var(--ink)}.tool-panel .iconbtn{box-sizing:border-box;width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:inline-grid}.tool-panel .iconbtn:hover:not(:disabled){background:var(--subtle)}.tool-panel .iconbtn:disabled{opacity:.55;cursor:default}.tool-panel .iconbtn.danger{color:var(--danger)}.tool-panel .iconbtn.danger:hover:not(:disabled){background:var(--danger-soft)}.tool-panel .pillbtn{background:var(--tint);min-height:44px;color:var(--accent-deep);font:600 14px var(--font-body);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.tool-panel .pillbtn:hover:not(:disabled){background:var(--tint-strong)}.tool-panel .pillbtn.quiet{background:var(--subtle);color:var(--ink-soft)}.tool-panel .pillbtn:disabled{opacity:.55;cursor:default}.tool-panel .form-foot{align-items:center;gap:8px;margin-top:4px;display:flex}.tool-panel .form-foot .btn-primary{flex:1}.tool-panel .field{gap:6px;min-width:0;display:grid}.tool-panel .field>label,.tool-panel .field>.lbl,.tool-panel .field-head>label{color:var(--muted);font-size:12px;font-weight:600}.tool-panel .field-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tool-panel .field-head output{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.tool-panel .field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tool-panel .input{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--bg);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:0 14px}.tool-panel .input::placeholder{color:var(--muted)}.tool-panel .input:focus{border-color:var(--accent)}.tool-panel .input:disabled{opacity:.55}.tool-panel .select{position:relative}.tool-panel .select select{appearance:none;cursor:pointer;background-image:none;padding-right:40px}.tool-panel .select .chev,.tool-panel .select .lead{color:var(--muted);pointer-events:none;position:absolute;top:50%;translate:0 -50%}.tool-panel .select .chev{right:14px}.tool-panel .select .lead{left:14px}.tool-panel .select.has-lead select{padding-left:42px}.tool-panel .seg{background:var(--tint);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;display:grid}.tool-panel .seg button{min-height:44px;color:var(--muted);font:600 14px var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.tool-panel .seg button[aria-pressed=true]{background:var(--bg);color:var(--accent-deep);box-shadow:0 1px 2px #0000001f}.tool-panel input[type=range]{--pct:0%;appearance:none;cursor:pointer;background:0 0;width:100%;height:44px;margin:0;padding:0}.tool-panel input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(var(--accent), var(--accent)) 0 0 / var(--pct) 100% no-repeat, var(--line-strong);border-radius:2px;height:4px}.tool-panel input[type=range]::-moz-range-track{background:var(--line-strong);border-radius:2px;height:4px}.tool-panel input[type=range]::-moz-range-progress{background:var(--accent);border-radius:2px;height:4px}.tool-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;box-sizing:border-box;background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:22px;height:22px;margin-top:-9px;box-shadow:0 1px 4px #00000040}.tool-panel input[type=range]::-moz-range-thumb{box-sizing:border-box;background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:22px;height:22px;box-shadow:0 1px 4px #00000040}.tool-panel .swatches{flex-wrap:wrap;display:flex}.tool-panel .place-swatch{box-sizing:border-box;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:44px;height:44px;padding:0;display:grid}.tool-panel .place-swatch .disc{border-radius:50%;width:32px;height:32px;display:block}.tool-panel .place-swatch[aria-pressed=true] .disc{outline:2px solid var(--ink);outline-offset:3px}.tool-panel .hint{background:var(--subtle);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);align-items:flex-start;gap:8px;margin:12px 0 0;padding:10px 12px;font-size:12px;line-height:1.4;display:flex}.tool-panel .hint .icon{flex:none;margin-top:1px}.tool-panel .hint[data-kind=error]{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.tool-panel .skeleton{align-items:center;gap:12px;min-height:52px;display:flex}.tool-panel .skeleton:before{content:"";background:var(--subtle);border-radius:50%;flex:none;width:24px;height:24px}.tool-panel .skeleton:after{content:"";background:var(--subtle);border-radius:7px;flex:1;height:14px}@media (prefers-reduced-motion:no-preference){.tool-panel .skeleton:before,.tool-panel .skeleton:after{animation:1.4s ease-in-out infinite tool-pulse}@keyframes tool-pulse{50%{opacity:.5}}}.tool-panel .state-card{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius);justify-items:center;gap:6px;padding:20px 12px;display:grid}.tool-panel .state-card strong{font:600 16px/1.25 var(--font-display);color:var(--ink)}.tool-panel .state-icon{background:var(--tint);width:44px;height:44px;color:var(--accent-deep);border-radius:50%;place-items:center;display:grid}.tool-panel .err-card{border:1px solid var(--danger-line);background:var(--danger-soft);color:var(--danger);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;display:flex}.tool-panel .err-card .err-msg{flex:160px;font-weight:600}.tool-panel .err-card .cap{color:var(--danger);flex-basis:100%}.place-search{position:relative}.place-search[hidden]{display:none}.place-search input{font:inherit;box-sizing:border-box;border:1px solid var(--line-strong);background:var(--bg);width:100%;color:var(--ink);border-radius:7px;padding:6px 10px}.place-search input:focus{border-color:var(--accent);outline:none}.place-search ul{margin:4px 0 0;padding:0;list-style:none}.place-search ul[hidden]{display:none}.place-search li button{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 10px;display:block}.place-search li button:hover,.place-search li button:focus-visible{background:var(--tint);color:var(--accent-deep)}.place-search .place-search-note{color:var(--muted);padding:8px 10px;font-size:13px}#place-search .icon{z-index:1;color:var(--muted);pointer-events:none;position:absolute;top:13px;left:14px}#place-search input{border-radius:10px;min-height:44px;padding:0 14px 0 42px}#place-search input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#place-search li button{border-radius:10px;min-height:44px;padding:0 12px}#place-crosshair{z-index:4;pointer-events:none;width:40px;height:40px;color:var(--ink);margin:-20px 0 0 -20px;position:absolute;top:50%;left:50%}#place-crosshair[hidden]{display:none}#place-crosshair .icon{stroke-width:1.75px;width:40px;height:40px;filter:drop-shadow(0 0 1px var(--bg)) drop-shadow(0 0 2px var(--bg))}.ve-handle{z-index:1;border:2px solid var(--bg);width:18px;height:18px;box-shadow:0 0 0 1px var(--ink), 0 1px 3px #00000059;cursor:grab;touch-action:none;border-radius:50%}.ve-handle:before{content:"";position:absolute;inset:-13px}.ve-ghost{background:var(--bg);opacity:.75;cursor:pointer;touch-action:none;border:2px dashed;border-radius:50%;width:13px;height:13px}.ve-ghost:before{content:"";position:absolute;inset:-16px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.tool-panel{z-index:6;left:0;right:0;bottom:var(--mlt-bottom);border-radius:16px 16px 0 0;width:auto;max-width:none;max-height:70vh;padding:8px 16px 16px;position:fixed;top:auto;box-shadow:0 -4px 16px #0000002e}.tool-panel:before{content:"";background:var(--line-strong);border-radius:2px;width:36px;height:4px;margin:0 auto 10px;display:block}.tool-panel .panel-close{display:none}.tool-panel .panel-title{margin-right:0}.tool-panel .input,.place-search input{font-size:16px}}#family-drawer{z-index:3;box-sizing:border-box;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);width:380px;max-width:92vw;font:14px/1.4 var(--font-body);color:var(--ink);flex-direction:column;gap:4px;padding:16px;display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow-y:auto;box-shadow:0 8px 28px #00000029}#family-drawer[hidden]{display:none}#family-drawer .drawer-close{z-index:1;width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}#family-drawer .drawer-close:hover{background:var(--subtle);color:var(--ink)}#family-drawer .icon{width:18px;height:18px}#family-drawer h2{font:600 20px/1.2 var(--font-display);letter-spacing:-.01em;margin:4px 48px 12px 0}#family-drawer .fam{gap:4px;padding-bottom:12px;display:grid}#family-drawer .fam+.fam{border-top:1px solid var(--line);padding-top:12px}#family-drawer .fam-head{align-items:center;gap:12px;min-height:44px;display:flex}#family-drawer .fam-head .grow{flex:1;min-width:0}#family-drawer .fam-title{font:600 18px/1.25 var(--font-display);overflow-wrap:anywhere}#family-drawer .fam-sub{color:var(--muted);font-size:13px}#family-drawer .pillbtn{background:var(--tint);min-height:44px;color:var(--accent-deep);font:600 14px var(--font-body);cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px;display:inline-flex}#family-drawer .pillbtn:hover{background:var(--tint-strong)}#family-drawer .members{margin:0;padding:0;list-style:none}#family-drawer .member{border-top:1px solid var(--line);align-items:center;gap:12px;min-height:64px;padding:8px 0;display:flex}#family-drawer .member:first-child{border-top:0}#family-drawer .member .avatar{--avatar-base:36px;--avatar-scale:1;cursor:default;box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--ring,transparent);border:0;flex:none}#family-drawer .member[data-state=fresh] .avatar{--ring:var(--accent)}#family-drawer .member[data-state=stale] .avatar{--ring:var(--warn)}#family-drawer .member[data-state=offline] .avatar{--ring:var(--neutral);filter:grayscale();opacity:.85}#family-drawer .member .avatar-initials{font-size:13px}#family-drawer .member .who{flex:1;min-width:0}#family-drawer .member .name{overflow-wrap:anywhere;font-weight:600;display:block}#family-drawer .member .member-main{min-width:0;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:12px;padding:0;display:flex}#family-drawer .member .member-main:hover .name{color:var(--accent-deep)}#family-drawer .member .meta{color:var(--muted);align-items:center;gap:8px;margin-top:2px;font-size:13px;display:flex}#family-drawer .member .meta .icon{width:12px;height:12px}#family-drawer .member .bat{align-items:center;gap:3px;display:inline-flex}#family-drawer .member .bat.bat-warn{color:var(--warn)}#family-drawer .member .bat.bat-low{color:var(--danger)}#family-drawer .chip{white-space:nowrap;text-overflow:ellipsis;background:var(--tint);max-width:40%;height:24px;color:var(--accent-deep);border-radius:999px;flex:none;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}#family-drawer .chip[data-kind=fresh]{background:var(--subtle);color:var(--ink-soft)}#family-drawer .chip[data-kind=stale],#family-drawer .chip[data-kind=warn]{background:var(--warn-soft);color:var(--warn)}#family-drawer .chip[data-kind=low]{background:var(--danger-soft);color:var(--danger)}#family-drawer .chip[data-kind=offline],#family-drawer .chip[data-kind=none],#family-drawer .chip[data-kind=loading]{color:var(--muted);border:1px solid var(--line);background:0 0}#family-drawer .member .open{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;margin-right:-12px;display:grid}#family-drawer .member .open:hover{background:var(--subtle);color:var(--ink)}#family-drawer .member.pending{flex-wrap:wrap}#family-drawer .member.pending .avatar{background:var(--tint);color:var(--accent-deep);box-shadow:none;place-items:center;width:36px;height:36px;display:grid}#family-drawer .member.pending .invite-actions{flex:none;gap:4px;display:flex}#family-drawer .invite-reveal,#family-drawer .fam .invite{background:var(--tint);border:1px solid var(--tint-strong);overflow-wrap:anywhere;border-radius:10px;flex-basis:100%;gap:8px;margin:4px 0;padding:10px 12px;display:grid}#family-drawer .invite-reveal:empty{display:none}#family-drawer button:where(:not(.drawer-close):not(.open):not(.pillbtn)){min-height:44px;font:600 14px var(--font-body);color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}#family-drawer button.primary{background:var(--accent-fill);color:var(--accent-ink);border-color:var(--accent-fill)}#family-drawer button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}#family-drawer button.quiet{padding:0 12px}#family-drawer button.text{color:var(--muted);border-color:#0000}#family-drawer button.danger{color:var(--danger);border-color:#0000}#family-drawer button:disabled{opacity:.55;cursor:default}#family-drawer .fam-foot{gap:8px;margin-top:8px;display:flex}#family-drawer .fam-foot .primary{flex:1}#family-drawer .fam-danger{justify-content:flex-end;gap:4px;display:flex}#family-drawer input{font:inherit;border:1px solid var(--line-strong);box-sizing:border-box;background:var(--bg);width:100%;min-height:44px;color:var(--ink);border-radius:10px;padding:0 12px}#family-drawer .select{display:inline-block;position:relative}#family-drawer .select select{font:inherit;border:1px solid var(--line-strong);box-sizing:border-box;background:var(--bg);min-height:44px;color:var(--ink);appearance:none;cursor:pointer;border-radius:10px;padding:0 40px 0 12px}#family-drawer .select .chev{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:14px;translate:0 -50%}#family-drawer .invite .select select{width:100%}#family-drawer .avatar-picker{flex-wrap:wrap;gap:6px;display:flex}#family-drawer .avatar-picker button{width:44px;padding:0!important;font-size:20px!important}#family-drawer .avatar-picker button[data-sel]{border-color:var(--accent)!important;background:var(--tint)!important}#family-drawer .fam-card{border:1px solid var(--line);border-radius:var(--radius);gap:10px;padding:14px;display:grid}#family-drawer .fam-card strong{font:600 16px/1.25 var(--font-display)}#family-drawer .skeleton{align-items:center;gap:12px;min-height:64px;display:flex}#family-drawer .skeleton:before{content:"";background:var(--subtle);border-radius:50%;flex:none;width:36px;height:36px}#family-drawer .skeleton:after{content:"";background:var(--subtle);border-radius:7px;flex:1;height:14px}#family-drawer .err-card{border:1px solid var(--danger-line);background:var(--danger-soft);color:var(--danger);border-radius:var(--radius);gap:10px;padding:14px;display:grid}#family-drawer .err{color:var(--danger);margin:6px 0}#family-drawer .empty-sub{color:var(--muted);margin:0}#family-drawer .detail{gap:12px;display:grid}#family-drawer .detail .back{justify-self:start;padding-left:8px!important}#family-drawer .pp-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);align-items:center;gap:12px;padding:12px;display:flex}#family-drawer .pp-card .avatar{--avatar-base:44px;--avatar-scale:1;box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--ring,transparent);cursor:default;border:0;flex:none}#family-drawer .pp-card[data-state=fresh] .avatar{--ring:var(--accent)}#family-drawer .pp-card[data-state=stale] .avatar{--ring:var(--warn)}#family-drawer .pp-card[data-state=offline] .avatar{--ring:var(--neutral);filter:grayscale();opacity:.85}#family-drawer .pp-card .avatar-initials{font-size:15px}#family-drawer .pp-card .who{flex:1;min-width:0}#family-drawer .pp-card .pp-name{font:600 17px/1.25 var(--font-display);overflow-wrap:anywhere;display:block}#family-drawer .pp-card .pp-status{color:var(--muted);font-size:13px}#family-drawer .pp-card[data-state=stale] .pp-status,#family-drawer .pp-card[data-state=offline] .pp-status{color:var(--warn)}#family-drawer .pp-card .role{color:var(--muted);font-size:12px}#family-drawer .sect{border-top:1px solid var(--line);gap:8px;padding:12px 0 0;display:grid}#family-drawer .sect>strong{font:600 13px/1.2 var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}#family-drawer .sect .actions{flex-wrap:wrap;gap:8px;display:flex}#family-drawer .sect .sub{color:var(--muted);margin:0;font-size:13px}#family-drawer .sect .addr{color:var(--ink-soft);margin:0}#family-drawer .sect .coords{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}#family-drawer .dev{align-items:center;gap:10px;min-height:36px;display:flex}#family-drawer .dev .icon{width:18px;height:18px;color:var(--muted);flex:none}#family-drawer .dev .name{overflow-wrap:anywhere;flex:1;min-width:0}#family-drawer .dev .bat{align-items:center;gap:3px;font-size:13px;display:inline-flex}#family-drawer .dev .bat .icon{width:12px;height:12px}#family-drawer .dev .bat.bat-warn{color:var(--warn)}#family-drawer .dev .bat.bat-low{color:var(--danger)}#family-drawer .dev .sub{font-size:12px}#family-drawer .ctl{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}#family-drawer .ctl select{flex:none}#family-drawer .act{align-items:center;gap:10px;min-height:40px;display:flex}#family-drawer button.act{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:flex-start;padding:0}#family-drawer button.act:hover{background:var(--subtle)}#family-drawer button.act .act-go{width:16px;height:16px;color:var(--muted);flex:none;margin:0 8px 0 auto}#family-drawer .act-icon{background:var(--tint);width:32px;height:32px;color:var(--accent-deep);border-radius:50%;flex:none;place-items:center;display:grid}#family-drawer .act .sub{font-size:12px}@media (width<=720px){#family-drawer{z-index:8;top:auto;left:0;right:0;bottom:var(--mlt-bottom);width:auto;max-width:none;max-height:calc(100dvh - var(--mlt-top-offset) - 120px);border-bottom:0;border-radius:16px 16px 0 0;padding:8px 16px 16px;box-shadow:0 -4px 16px #0000002e}#family-drawer:before{content:"";background:var(--line-strong);border-radius:2px;flex:none;width:36px;height:4px;margin:0 auto 10px;display:block}}#places-list{display:grid}#places-add{margin-top:8px}#places-form{gap:16px;margin-top:16px;display:grid}.place-row{border-top:1px solid var(--line);align-items:center;gap:12px;padding:4px 0;display:flex}.place-row:first-child{border-top:0}.place-row .disc{width:24px;height:24px;box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--line-strong);border-radius:50%;flex:none}.place-link{min-width:0;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;align-content:center;padding:0 4px;display:grid}.place-link .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.place-link .cap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.place-link:hover .name{color:var(--accent-deep)}#routes-list{display:grid}#routes-add{margin-top:8px}#routes-form{margin-top:16px}.route-row{border-top:1px solid var(--line);gap:4px;padding:8px 0;display:grid}.route-row:first-child{border-top:0}.route-head{align-items:flex-start;gap:8px;display:flex}.route-disc{background:var(--tint);width:32px;height:32px;color:var(--accent-deep);border-radius:50%;flex:none;place-items:center;margin-top:6px;display:grid}.route-main{flex:1;min-width:0;padding:4px 0}.route-link{min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;display:block}.route-link:hover .name{color:var(--accent-deep)}.route-main .name{overflow-wrap:anywhere;font-weight:600;display:block}.route-main .meta{color:var(--muted);margin-top:2px;font-size:12px;font-weight:600;display:block}.tool-panel .route-main .cap{margin-top:4px;display:block}.route-row .chips,.route-row .route-actions{flex-wrap:wrap;gap:8px;padding-left:40px;display:flex}.route-row .chips{gap:6px}.tool-panel .chip{white-space:nowrap;background:var(--tint);height:24px;color:var(--accent-deep);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.tool-panel .chip[data-kind=info]{background:var(--info-soft);color:var(--ink-soft)}.tool-panel .chip[data-kind=warn]{background:var(--warn-soft);color:var(--warn)}.tool-panel .chip[data-kind=danger]{background:var(--danger-soft);color:var(--danger)}.tool-panel fieldset.group{border:0;border-top:1px solid var(--line);min-width:0;margin:16px 0 0;padding:16px 0 0}.tool-panel fieldset.group:first-child{border-top:0;margin-top:0;padding-top:0}.tool-panel fieldset.group>legend{float:left;width:100%;font:600 12px/1.2 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;padding:0}.tool-panel fieldset.group>legend+*{clear:both}.tool-panel fieldset.group>:not(legend)~:not(legend){margin-top:12px}#route-days{flex-wrap:wrap;gap:6px;display:flex}.tool-panel .day-chip{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--bg);min-width:44px;height:44px;color:var(--ink-soft);font:600 13px var(--font-body);cursor:pointer;border-radius:10px;padding:0 8px}.tool-panel .day-chip[aria-pressed=true]{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-ink)}.tool-panel .stepper{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.tool-panel .stepper .iconbtn{border:1px solid var(--line-strong);background:var(--bg)}.tool-panel .stepper .iconbtn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-deep);background:var(--tint)}.tool-panel .stepper input{text-align:center;font-variant-numeric:tabular-nums;appearance:textfield}.tool-panel .stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tool-panel .stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tool-panel .cap.sentence{background:var(--subtle);color:var(--ink-soft);border-radius:10px;padding:10px 12px;font-size:13px}#routes-panel .field-err{color:var(--danger);font-weight:600}#routes-panel .field-err[hidden]{display:none}.tool-panel .lead-input{position:relative}.tool-panel .lead-input .lead{color:var(--muted);pointer-events:none;position:absolute;bottom:13px;left:14px}.tool-panel .lead-input .input{padding-left:42px}.tool-panel .lead-input .input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}#history-devices{grid-template-columns:minmax(0,1fr);margin-top:12px;display:grid}#history-devices .dev-row{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;min-height:44px;padding:2px 4px;display:flex}#history-devices .dev-row:first-child{border-top:0}#history-devices .dev-row:has(.dev-check:disabled){cursor:default;color:var(--muted)}#history-devices .dev-check{width:20px;height:20px;accent-color:var(--accent-fill);cursor:inherit;flex:none;margin:0}#history-devices .dev-disc{width:14px;height:14px;box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--line-strong);border-radius:50%;flex:none}#history-devices .dev-main{flex:1;min-width:0;display:grid}#history-devices .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}#history-devices .dev-row .cap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#history-devices .state-card,#history-devices .err-card{margin-top:4px}.replay{border-top:1px solid var(--line);gap:8px;margin-top:12px;padding-top:12px;display:grid}.replay .replay-row{gap:4px;display:flex}.replay .iconbtn{border:1px solid var(--line-strong);background:var(--bg)}.replay .iconbtn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-deep);background:var(--tint)}.replay .iconbtn[aria-pressed=true]{background:var(--tint);border-color:var(--accent);color:var(--accent-deep)}#replay-speed-out{text-align:right;min-width:5ch;display:inline-block}#history-clamp{margin-top:12px}#timeline{z-index:2;top:var(--mlt-top-offset);background:var(--glass);border-left:1px solid var(--line);width:88px;color:var(--ink-soft);font:9px var(--font-body);touch-action:none;cursor:crosshair;position:absolute;bottom:0;right:0;overflow:hidden}#timeline .tl-canvas{width:100%;height:100%;display:block}#timeline .tl-indicator{border-top:2px solid var(--accent-fill);pointer-events:none;height:0;position:absolute;left:0;right:0}#timeline .tl-pill{background:var(--accent-fill);color:var(--accent-ink);white-space:nowrap;font:600 11px var(--font-body);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:6px;padding:2px 6px;position:absolute;right:4px;transform:translateY(-120%)}@media (width<=720px){#timeline{top:var(--mlt-top-offset);bottom:var(--mlt-bottom);z-index:7;width:72px;height:auto}#history-panel.tool-panel{max-height:42vh;right:72px}#timeline .tl-pill{padding:2px 4px;font-size:10px}}#reports-panel.tool-panel{width:560px}#reports-window{margin:-6px 0 12px}.report-types{gap:4px;display:grid}.report-type{min-height:52px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:4px 8px 4px 4px;display:flex}.report-type:hover{background:var(--subtle)}.report-type[aria-pressed=true]{background:var(--tint);border-color:var(--accent)}.report-type .disc{background:var(--tint);width:36px;height:36px;color:var(--accent-deep);border-radius:50%;flex:none;place-items:center;display:grid}.report-type[aria-pressed=true] .disc{background:var(--accent-fill);color:var(--accent-ink)}.report-type .main{flex:1;min-width:0;display:grid}.report-type .name{font-weight:600}.report-type .cap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#reports-body{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px;padding-top:12px;display:grid}#reports-body:empty{display:none}.report-stack{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.report-exports{flex-wrap:wrap;gap:8px;display:flex}.report-exports .btn[aria-busy=true]{color:var(--muted)}.tool-panel #reports-hint{margin:0}.report-cards{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.report-cards .stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--subtle);padding:10px 12px}.report-cards .stat .val{font:600 20px/1.2 var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);display:block}.report-scroll{overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:13px}.report-table th,.report-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:8px}.report-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.report-table td.num,.report-table th.num{text-align:right;font-variant-numeric:tabular-nums}.report-table td:first-child{white-space:normal;overflow-wrap:break-word;min-width:8ch}.report-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=720px){#reports-panel.tool-panel{width:auto}.report-types{scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;margin:0 -16px;padding:0 16px 4px;display:flex;overflow-x:auto}.report-types::-webkit-scrollbar{display:none}.report-type{scroll-snap-align:start;border-radius:999px;flex:none;min-height:44px;padding:0 12px 0 6px}.report-type .cap{display:none}.report-type .disc{width:32px;height:32px}.report-type .name{white-space:nowrap}}.notif-badge{background:var(--badge);min-width:16px;height:16px;color:var(--on-color);text-align:center;border-radius:8px;padding:0 4px;font-size:11px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}#notif-panel .panel-head{justify-content:space-between;align-items:center;gap:8px;margin:4px 48px 4px 0;display:flex}#notif-panel .panel-head .panel-title{margin:0}#notif-panel .panel-head .btn{flex:none}#notif-panel .panel-close{top:20px}.notif-day{z-index:1;background:var(--bg);font:600 11px/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;padding:28px 0 6px;position:sticky;top:-16px}@media (width<=720px){.notif-day{padding-top:20px;top:-8px}#notif-panel .panel-close{display:flex;top:23px}}.notif-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 44px;align-items:center;min-height:56px;display:grid}.notif-day+.notif-row{border-top:0}.notif-row.unread{background:var(--tint)}.notif-main{box-sizing:border-box;min-height:56px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:6px 4px;display:grid}.notif-main:hover .notif-title{color:var(--accent-deep)}.notif-icon{background:var(--subtle);width:36px;height:36px;color:var(--ink-soft);border-radius:50%;place-items:center;display:grid}.notif-icon[data-tone=ok]{background:var(--tint);color:var(--accent-deep)}.notif-icon[data-tone=info]{background:var(--info-soft);color:var(--info)}.notif-icon[data-tone=warn]{background:var(--warn-soft);color:var(--warn)}.notif-icon[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.notif-icon[data-tone=neutral]{background:var(--subtle);color:var(--ink-soft)}.notif-text{min-width:0;display:grid}.notif-title{overflow-wrap:anywhere;font-weight:600}.notif-row.unread .notif-title:before{content:"";background:var(--accent-fill);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.notif-body{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.4}.notif-when{color:var(--muted);white-space:nowrap;align-self:start;padding-top:2px;font-size:11px}.notif-del{color:var(--muted)}.notif-del:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}#notif-body .notif-empty{margin-top:12px}#devices-list{display:grid}.dev-row{border-top:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:center;gap:12px;min-height:44px;padding:8px 0;display:grid}.dev-row:first-child{border-top:0}.dev-disc{background:var(--tint);width:36px;height:36px;color:var(--accent-deep);border-radius:50%;place-items:center;display:grid}.dev-main{min-width:0;display:grid}.dev-main .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dev-main .cap{overflow-wrap:anywhere}.dev-ver{color:var(--muted)}.dev-actions{align-items:center;gap:4px;display:flex}.dev-actions:empty{display:none}@media (width<=720px){.dev-row{grid-template-columns:36px minmax(0,1fr);align-items:start;row-gap:4px}.dev-actions{grid-column:2}}.tool-panel .select.select-sm{width:140px}.tool-panel .select.select-sm select{text-overflow:ellipsis;width:100%;min-height:44px;padding-left:10px;padding-right:28px;font-size:13px}.tool-panel .select.select-sm .chev{right:10px}@media (width<=720px){.tool-panel .select.select-sm{width:160px}}#devices-supervised{margin:0 0 8px}#shares-panel .panel-head{justify-content:space-between;align-items:center;gap:8px;margin:4px 48px 8px 0;display:flex}#shares-panel .panel-head .panel-title{margin:0}#shares-panel .panel-head .btn{flex:none}@media (width<=720px){#shares-panel .panel-head{margin-right:0}}#shares-list{display:grid}#shares-form{border-top:1px solid var(--line);gap:12px;margin-top:8px;padding-top:12px;display:grid}.share-row{border-top:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:center;gap:12px;min-height:44px;padding:8px 0;display:grid}.share-row:first-child{border-top:0}.share-disc{background:var(--tint);width:36px;height:36px;color:var(--accent-deep);border-radius:50%;place-items:center;display:grid}.share-main{min-width:0;display:grid}.share-main .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.share-main .cap{overflow-wrap:anywhere}.share-actions{align-items:center;gap:4px;display:flex}#shares-panel .share-custom-row{grid-template-columns:1fr auto;align-items:center}#shares-hint{overflow-wrap:anywhere}.profile-card{align-items:center;gap:16px;margin-bottom:16px;display:flex}.profile-who{gap:4px;min-width:0;display:grid}.profile-who strong{text-overflow:ellipsis;white-space:nowrap;font:600 16px/1.2 var(--font-display);overflow:hidden}.avatar-xl{box-sizing:border-box;border:2px solid var(--bg);width:96px;height:96px;box-shadow:0 0 0 1px var(--line), 0 2px 6px #0000002e;background:var(--neutral);color:var(--on-color);font:600 34px/1 var(--font-body);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-xl img{object-fit:cover;width:100%;height:100%;display:block}#profile-choose{position:relative;overflow:hidden}#profile-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}#profile-choose:has(#profile-file:focus-visible){outline:2px solid var(--accent);outline-offset:2px}#profile-panel .field-row{align-items:center;margin-bottom:12px}#profile-panel .hint{margin-bottom:12px}#profile-theme{border:0;min-width:0;margin:0 0 16px;padding:0}#profile-theme legend{float:left;width:100%;color:var(--muted);margin-bottom:6px;padding:0;font-size:12px;font-weight:600}#profile-theme legend+.seg{clear:both}#profile-theme .seg label{box-sizing:border-box;min-height:44px;color:var(--muted);font:600 14px var(--font-body);cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex;position:relative}#profile-theme .seg input{opacity:0;width:1px;height:1px;margin:0;position:absolute}#profile-theme .seg label:has(input:checked){background:var(--bg);color:var(--accent-deep);box-shadow:0 1px 2px #0000001f}#profile-theme .seg label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}#profile-theme .theme-note{margin-top:6px}.deletion-overlay{z-index:9999;background:var(--bg);color:var(--ink);font:14px/1.4 var(--font-body);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.gate-card,.signed-out-card{box-sizing:border-box;border-radius:var(--radius);text-align:center;justify-items:center;gap:12px;width:100%;max-width:420px;padding:24px;display:grid}.gate-card{background:var(--bg);border:1px solid var(--line);box-shadow:0 8px 28px #00000029}.gate-icon{background:var(--tint);width:56px;height:56px;color:var(--accent-deep);border-radius:50%;place-items:center;display:grid}.gate-icon .icon{width:28px;height:28px}.gate-icon[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.gate-title{font:600 22px/1.2 var(--font-display);letter-spacing:-.01em;margin:4px 0 0}.gate-text{color:var(--muted);text-wrap:balance;margin:0}.gate-card .form-foot{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;margin-top:8px;display:flex}.gate-card .form-foot .btn-primary{flex:auto}.deletion-overlay .btn,.signed-out-card .btn{box-sizing:border-box;min-height:44px;color:var(--ink);font:600 14px var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;display:inline-flex}.deletion-overlay .btn:disabled,.signed-out-card .btn:disabled{opacity:.55;cursor:default}.deletion-overlay .btn-primary,.signed-out-card .btn-primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-ink)}.deletion-overlay .btn-primary:hover:not(:disabled),.signed-out-card .btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.deletion-overlay .btn:focus-visible,.signed-out-card .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.signed-out-card{z-index:3;background:var(--glass);max-width:min(420px,100vw - 32px);color:var(--ink);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:14px/1.4 var(--font-body);position:fixed;top:50%;left:50%;translate:-50% -50%;box-shadow:0 8px 28px #00000029}.signed-out-card[hidden]{display:none}.signed-out-card .btn{width:100%;margin-top:4px}@media (prefers-reduced-motion:no-preference){.signed-out-card{animation:.24s ease-out gate-in}@keyframes gate-in{0%{opacity:0;translate:-50% calc(8px - 50%)}}}.btn.danger{border-color:var(--danger-line);color:var(--danger);background:0 0}.btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.profile-danger{border-top:1px solid var(--line);padding-top:12px}.profile-danger .btn{justify-self:start}.profile-danger .field-head{color:var(--muted);font-size:12px;font-weight:600}.plan-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--subtle);gap:4px;margin-bottom:16px;padding:12px 16px;display:grid}.plan-tier{font:600 24px/1.2 var(--font-display);letter-spacing:-.01em;color:var(--ink)}.plan-tier.skeleton-text{background:var(--line);color:#0000;-webkit-user-select:none;user-select:none;border-radius:6px;width:80px;height:24px;display:block}#plan-section .form-foot{flex-wrap:wrap;margin-bottom:12px}#plan-section .hint{margin-top:8px}#plan-section .plan-confirm .hint{margin-top:0;margin-bottom:8px}@media (prefers-reduced-motion:no-preference){.plan-tier.skeleton-text{animation:1.4s ease-in-out infinite tool-pulse}}
