:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius:12px;--background:#f6f6f8;--foreground:#18181b;--card:#fff;--popover:#fff;--popover-foreground:#18181b;--border:#e2e2e7;--ring:#8aa2d8;--muted-foreground:#5c5c68;--secondary:#efeff3;--secondary-foreground:#27272f;--primary:#1d4ed8;--primary-foreground:#fff;--accent-surface:#e9effd;--success:#15803d;--warning:#9a4a07;--warning-surface:#fdf1dc;--destructive:#c21d1d;--destructive-surface:#fdeaea;--info:#1d4ed8}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--background:#0e1014;--foreground:#ececf1;--card:#171a20;--popover:#1d2128;--popover-foreground:#ececf1;--border:#2b3039;--ring:#5b7cc9;--muted-foreground:#a3a7b2;--secondary:#232730;--secondary-foreground:#e2e3e8;--primary:#7ea6ff;--primary-foreground:#0b1430;--accent-surface:#1c2742;--success:#4ade80;--warning:#f5b955;--warning-surface:#2d2413;--destructive:#ff8585;--destructive-surface:#351a1c;--info:#85adff}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--foreground);background:var(--background);margin:0;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.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}.page{max-width:760px;margin:0 auto;padding:16px 16px 48px}.app{flex-direction:column;gap:14px;display:flex}.top{justify-content:space-between;align-items:center;gap:12px;display:flex}.top-right{align-items:center;gap:8px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.logo{background:var(--primary);width:28px;height:28px;color:var(--primary-foreground);border-radius:8px;place-items:center;font-size:14px;font-weight:800;display:grid}.live{color:var(--muted-foreground);align-items:center;gap:6px;font-size:12px;display:flex}.dot{background:var(--success);border-radius:50%;flex:none;width:8px;height:8px}.dot.stale{background:var(--warning)}.pills{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.pill{border:1px solid var(--border);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:13px;display:flex;position:relative}.pill small{color:var(--muted-foreground);font-size:12px}.pill[aria-pressed=true]{background:var(--secondary);border-color:var(--ring)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.dev{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.dev h2{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:18px;display:flex}.chip{background:var(--secondary);color:var(--secondary-foreground);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-flex}.chip.warn{background:var(--warning-surface);color:var(--warning)}.mono{font-family:var(--font-mono);color:var(--muted-foreground);overflow-wrap:anywhere;font-size:12px}.ident{align-items:center;gap:4px;min-height:32px;margin-top:4px;display:flex}.icon-btn{width:32px;height:32px;color:var(--muted-foreground);background:0 0;border:none;border-radius:8px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--secondary);color:var(--foreground)}.rename{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.input{min-width:0;min-height:36px;font:inherit;color:inherit;background:var(--background);border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);flex:160px;padding:0 10px;font-size:14px}.stats{flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:13px;display:flex}.stat{align-items:center;gap:7px;display:flex}.stat svg{color:var(--muted-foreground);flex:none}.stat b{font-weight:600}.stat span{color:var(--muted-foreground)}.charging{align-items:center;gap:3px;display:flex}.charging svg{color:var(--success)}.locate{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.btn{border-radius:calc(var(--radius) - 2px);border:1px solid var(--border);background:var(--card);min-height:40px;color:inherit;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--secondary)}.btn.primary{background:var(--primary);color:var(--primary-foreground);border-color:#0000}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{color:var(--muted-foreground);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--secondary);color:var(--foreground)}.btn.small{min-height:34px;padding:0 12px}.btn[disabled]{opacity:.75;cursor:progress}.hint{color:var(--muted-foreground);margin:0;font-size:12px}.error{color:var(--destructive);margin:0;font-size:13px}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.tab{color:var(--muted-foreground);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 12px;font-size:14px;display:flex}.tab[aria-selected=true]{color:var(--foreground);border-bottom-color:var(--primary);font-weight:600}.count{background:var(--secondary);color:var(--muted-foreground);border-radius:999px;padding:1px 7px;font-size:11px}.panel{flex-direction:column;gap:14px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--card);flex:220px;align-items:center;gap:8px;min-height:40px;padding:0 12px;display:flex}.search:focus-within{outline:2px solid var(--ring);outline-offset:1px}.search svg{color:var(--muted-foreground);flex:none}.search input{font:inherit;color:inherit;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.search input::placeholder{color:var(--muted-foreground)}.seg{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--card);max-width:100%;display:flex;overflow:hidden}.seg button{min-height:38px;color:var(--muted-foreground);background:0 0;border:none;padding:0 12px;font-size:13px}.seg button[aria-pressed=true]{background:var(--secondary);color:var(--foreground);font-weight:500}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.msg{padding:14px 16px}.row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sender{overflow-wrap:anywhere;font-size:14px;font-weight:600}.time{color:var(--muted-foreground);white-space:nowrap;font-size:12px}.body{overflow-wrap:anywhere;white-space:pre-wrap;margin:6px 0 0;font-size:14px;line-height:1.5}.otp{border-radius:calc(var(--radius) - 2px);background:var(--accent-surface);align-items:center;gap:12px;width:fit-content;max-width:100%;margin-top:10px;padding:8px 8px 8px 14px;display:flex}.otp .lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-size:11px}.otp .code{font-family:var(--font-mono);letter-spacing:.12em;font-size:20px;font-weight:600}.otp .btn{min-height:34px;padding:0 12px}.foot{color:var(--muted-foreground);flex-wrap:wrap;gap:6px;margin-top:10px;font-size:12px;display:flex}.foot:empty{display:none}.call{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.call-main{min-width:0}.cicon{background:var(--secondary);border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.cicon.missed{color:var(--destructive)}.cicon.in{color:var(--info)}.cicon.out{color:var(--muted-foreground)}.cname{overflow-wrap:anywhere;font-size:14px;font-weight:600}.cname.missed{color:var(--destructive)}.csub{color:var(--muted-foreground);overflow-wrap:anywhere;margin-top:2px;font-size:12px}.map{padding:0;position:relative;overflow:hidden}.leaflet-host,.map-fallback{height:260px}.leaflet-map{background:var(--secondary);width:100%;height:100%;font-family:var(--font-sans)}.map-fallback{color:var(--muted-foreground);background:var(--secondary);place-items:center;font-size:13px;display:grid}.map-acc{fill:var(--primary);fill-opacity:.14;stroke:var(--primary);stroke-opacity:.55;stroke-width:1.5px}.map-pulse{transform-box:fill-box;transform-origin:50%;animation:1.4s ease-out infinite pulse}@keyframes pulse{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.4)}}.map-pin{background:0 0;border:none}.map-pin path{fill:var(--primary);stroke:var(--card);stroke-width:1.5px}.map-pin circle{fill:var(--primary-foreground)}.place{z-index:500;background:var(--popover);max-width:calc(100% - 24px);color:var(--popover-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;display:flex;position:absolute;bottom:12px;left:12px}.place svg{flex:none}.leaflet-control-attribution{font-size:10px}@media (prefers-color-scheme:dark){.leaflet-tile-pane{filter:invert()hue-rotate(180deg)brightness(.92)contrast(.9)}.leaflet-control-attribution,.leaflet-bar a{background:var(--popover)!important;color:var(--muted-foreground)!important}.leaflet-control-attribution a{color:var(--info)!important}}.facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;display:grid}.fact dd{margin:0}.fact .k{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-size:11px}.fact .v{margin-top:3px;font-size:14px;font-weight:600}.fact .mono-v{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:13px}.actions{flex-wrap:wrap;gap:8px;display:flex}.banner{border-radius:var(--radius);background:var(--secondary);align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.banner svg{flex:none}.banner.warn{background:var(--warning-surface);color:var(--warning)}.banner.danger{background:var(--destructive-surface);color:var(--destructive)}.spin{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite spin}.spin.on-primary{border-color:color-mix(in srgb, var(--primary-foreground) 35%, transparent);border-top-color:var(--primary-foreground)}@keyframes spin{to{transform:rotate(360deg)}}h3{color:var(--muted-foreground);margin:4px 0 0;font-size:13px;font-weight:600}.hist{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:grid}.hist>svg{color:var(--muted-foreground)}.hist-main{min-width:0}.empty{text-align:center;color:var(--muted-foreground);padding:28px;font-size:14px}.login-wrap{place-items:center;min-height:100dvh;padding:16px;display:grid}.login{flex-direction:column;gap:14px;width:100%;max-width:360px;padding:24px;display:flex}.field{flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.field input{min-height:42px;font:inherit;color:inherit;background:var(--background);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);padding:0 12px;font-size:15px}@media (prefers-reduced-motion:reduce){.spin,.map-pulse{animation-duration:3s}}@media (width<=560px){.dev{grid-template-columns:1fr}.locate{align-items:stretch}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tab{padding:10px 8px}}.notice-title{margin:0;font-size:16px;font-weight:600}
