.tm-map{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);width:100%;height:clamp(320px,55vh,640px);overflow:hidden}.tm-map-loading{position:relative}.tm-map-loading:after{content:"";background:linear-gradient(90deg, transparent, rgba(var(--brand-rgb) / .08), transparent);animation:1.4s infinite tm-shimmer;position:absolute;inset:0}@keyframes tm-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.tm-map-tall{height:clamp(420px, calc(100vh - 260px - var(--group-tabs-h,0px)), 900px)}.tm-map .gm-style{font-family:inherit}.tm-info{color:#16202e;padding:2px 4px;font:13px/1.4 inherit}.tm-info strong{margin-bottom:2px;font-weight:700;display:block}.om-map{position:relative}.om-pane{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;position:absolute;inset:0;overflow:hidden}.om-pane:active{cursor:grabbing}.om-pane:focus-visible{outline:3px solid var(--brand);outline-offset:-3px}.om-pane img{pointer-events:none;width:256px;max-width:none;height:256px;position:absolute}.tm-pin.om-pin{pointer-events:none;z-index:2;background:0 0;border:0;position:absolute}.om-pin.tm-person{z-index:3}.om-note{z-index:3;background:var(--surface,#fff);max-width:calc(100% - 180px);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;border-radius:6px;padding:3px 8px;font-size:11.5px;position:absolute;top:8px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 1px 3px #00000026}.om-path{pointer-events:none;z-index:1;position:absolute;inset:0}.om-path polyline{fill:none;stroke:#1f7a4d;stroke-width:4px;stroke-opacity:.9;stroke-linejoin:round;stroke-linecap:round}.om-path.dashed polyline{stroke-dasharray:8 8}.om-overlay{pointer-events:none;z-index:1;position:absolute;inset:0}.om-ring{pointer-events:none;z-index:1;background:#1f7a4d14;border:1px solid #1f7a4d59;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.om-zoom{z-index:4;border-radius:8px;flex-direction:column;display:flex;position:absolute;top:10px;right:10px;overflow:hidden;box-shadow:0 1px 4px #0000004d}.om-zoom button{color:#1b2a39;cursor:pointer;background:#fff;border:0;place-items:center;width:40px;height:40px;padding:0;display:grid}.om-zoom button+button{border-top:1px solid #d9e2ea}.om-zoom button:hover:not(:disabled){background:#eef3f7}.om-zoom button:disabled{color:#a9b4bf;cursor:default}.om-layer{z-index:4;color:#1b2a39;height:40px;font:inherit;cursor:pointer;background:#fff;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:650;display:inline-flex;position:absolute;top:10px;left:10px;box-shadow:0 1px 4px #0000004d}.om-layer:hover{background:#eef3f7}.om-attr{z-index:4;color:#333;white-space:nowrap;text-overflow:ellipsis;background:#fffc;max-width:100%;padding:1px 6px;font-size:11px;line-height:1.5;position:absolute;bottom:0;right:0;overflow:hidden}.om-attr a{color:inherit}.tm-pin{cursor:pointer;flex-direction:column;align-items:center;gap:2px;display:flex;position:relative;transform:translateY(-4px)}.tm-dot{background:var(--brand);border:2.5px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #00000059}.tm-label{background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-sm);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:160px;padding:3px 7px;font-size:11px;font-weight:700;line-height:1;overflow:hidden}.tm-quiet .tm-label{display:none}.tm-quiet:hover .tm-label{z-index:3;margin-top:2px;display:block;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tm-quiet:hover{z-index:3}.tm-person .tm-dot{width:22px;height:22px}.tm-heading:before{content:"";border-left:7px solid #0000;border-right:7px solid #0000;border-bottom:10px solid var(--brand);transform-origin:50% 20px;width:0;height:0;transform:translateX(-50%) rotate(var(--tm-heading,0deg));position:absolute;top:-9px;left:50%}.tm-person.tone-warn .tm-dot,.tm-person.tone-warn .tm-heading:before{background:#d98e00;border-bottom-color:#d98e00}.tm-person.tone-bad .tm-dot,.tm-person.tone-bad .tm-heading:before{background:var(--danger);border-bottom-color:var(--danger)}.tm-person.tone-neutral .tm-dot{background:var(--muted)}.tm-stop .tm-dot,.tm-visit .tm-dot{background:var(--muted);border-radius:4px;width:14px;height:14px}.tm-visit .tm-dot{background:var(--ok)}.tm-stop .tm-label,.tm-visit .tm-label{font-weight:600}.tm-visit.tone-warn .tm-dot{background:#d98e00}.tm-visit.tone-bad .tm-dot{background:var(--danger)}.tm-visit.tone-neutral .tm-dot{background:var(--muted)}.tm-start .tm-dot{background:var(--ok)}.tm-end .tm-dot{background:var(--danger)}.tm-cursor .tm-dot{border:4px solid var(--brand);background:#fff;width:18px;height:18px}.tm-cursor .tm-label{display:none}.tm-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}@media (max-width:900px){.tm-layout{grid-template-columns:1fr}}.tm-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:12px;display:grid}.tm-stat{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);padding:10px 12px}.tm-stat b{letter-spacing:-.01em;font-size:20px;font-weight:800;display:block}.tm-stat span{color:var(--muted);font-size:12px}.tm-people{flex-direction:column;gap:6px;max-height:560px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.tm-people li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);cursor:pointer;align-items:center;gap:10px;padding:8px 10px;display:flex}.tm-people li:hover,.tm-people li.active{border-color:var(--brand);background:var(--brand-50)}.tm-people .tm-who{flex:1;min-width:0}.tm-people .tm-who strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.tm-people .tm-who small{color:var(--muted);font-size:12px}.tm-people .tm-meta{color:var(--muted);flex-direction:column;align-items:flex-end;gap:3px;font-size:11px;display:flex}.tm-people .tm-battery{align-items:center;gap:3px;display:inline-flex}.cov-tools{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.cov-chips{flex-wrap:wrap;gap:6px;display:flex}.cov-chip{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.cov-chip b{font-variant-numeric:tabular-nums;font-weight:800}.cov-chip.on{border-color:var(--brand);background:var(--brand-50)}.cov-swatch{background:var(--ok);border-radius:3px;width:10px;height:10px}.cov-chip.tone-warn .cov-swatch{background:#d98e00}.cov-chip.tone-bad .cov-swatch{background:var(--danger)}.cov-chip.tone-neutral .cov-swatch{background:var(--muted)}.cov-search{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:180px;max-width:320px;color:var(--ink);flex:1;padding:7px 10px;font-size:13px}.cov-search:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.cov-list .tm-who small{white-space:normal}.hm-wrap{--heat-0:#3b82c4;--heat-1:#2fa866;--heat-2:#e0a100;--heat-3:#d64545;--heat-opacity:.78}:root[data-theme=dark] .hm-wrap{--heat-0:#6aa9e8;--heat-1:#4fb87c;--heat-2:#f0c04a;--heat-3:#f07373;--heat-opacity:.85}@media (prefers-color-scheme:dark){:root[data-theme=system] .hm-wrap{--heat-0:#6aa9e8;--heat-1:#4fb87c;--heat-2:#f0c04a;--heat-3:#f07373;--heat-opacity:.85}}.hm-canvas{pointer-events:none;display:block}.hm-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 12px;display:grid}.hm-filters .hm-wide{grid-column:span 2}@media (max-width:480px){.hm-filters{grid-template-columns:1fr 1fr}.hm-filters .hm-wide{grid-column:1/-1}}.hm-field{min-width:0}.hm-chips{margin-top:10px}.hm-check{color:var(--ink);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.hm-err{color:var(--danger);margin:8px 0 0;font-size:13px}.hm-mapcol{min-width:0}.hm-legend{color:var(--muted);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.hm-ramp{background:linear-gradient(90deg, var(--heat-0), var(--heat-1) 40%, var(--heat-2) 70%, var(--heat-3));border-radius:4px;flex:0 180px;height:8px}.hm-top{counter-reset:none}.hm-top .tm-who small{white-space:normal}.hm-rank{background:var(--brand-50);width:22px;height:22px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.cv-stats{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-bottom:10px}.cv-stats .tm-stat{min-width:0}.cv-stats .tm-stat b{overflow-wrap:anywhere;font-size:16px}.cv-stats .tm-stat.cv-who b{font-size:13px;line-height:1.3}.cv-recent{max-height:320px;overflow:auto}.cv-recent li{cursor:default}.cv-recent small a{align-items:center;gap:3px;display:inline-flex}.cv-note{margin:4px 0;font-size:13px}.cv-unpinned{color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:8px 10px;font-size:13px;display:flex}.cv-unpinned svg{flex:none;margin-top:2px}.tm-stops{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tm-stops li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);cursor:pointer;padding:8px 10px}.tm-stops li.active{border-color:var(--brand);background:var(--brand-50)}.tm-stops li strong{font-size:13px;display:block}.tm-stops li small{color:var(--muted);font-size:12px}.tm-scrub{align-items:center;gap:12px;margin-top:10px;display:flex}.tm-scrub input[type=range]{accent-color:var(--brand);flex:1}.tm-scrub output{font-variant-numeric:tabular-nums;min-width:84px;font-size:13px;font-weight:600}.tm-status{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px;font-size:13px;display:grid}.tm-status dt{color:var(--muted);font-size:12px}.tm-status dd{margin:2px 0 0;font-weight:600}.pin-modal{width:960px;max-width:min(960px,96vw)}.pin-modal .tm-map{height:clamp(300px,52vh,520px)}.pin-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.pin-coords{font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:200px;color:var(--ink);flex:1;padding:8px 10px;font-size:13px}.pin-coords:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.pin-field{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pin-set{font-variant-numeric:tabular-nums;color:var(--ink);align-items:center;gap:5px;font-size:13px;display:inline-flex}.pin-set svg{color:var(--ok)}.pin-unset{color:var(--muted);font-size:13px}.pin-link{flex-direction:column;gap:4px;min-width:0;display:flex}.pin-field .pin-link{flex:320px}.pin-link-row{gap:8px;min-width:0;display:flex}.pin-link-row .pin-coords{min-width:0}.pin-tools+.pin-link{margin-bottom:10px}.pin-linked{flex-direction:column;gap:6px;margin-top:8px;display:flex}.pin-linked-note{color:var(--ink);margin:0;font-size:13px}.pin-linked .tm-map.pin-preview,.pin-linked .pin-preview{border-radius:var(--radius-sm);max-width:520px;height:180px}.pin-queue{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (max-width:900px){.pin-queue{grid-template-columns:1fr}}.pin-list{flex-direction:column;gap:6px;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.pin-list li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);cursor:pointer;padding:9px 11px}.pin-list li:hover{border-color:var(--brand)}.pin-list li.active{border-color:var(--brand);background:var(--brand-50)}.pin-list li strong{font-size:13px;display:block}.pin-list li small{color:var(--muted);font-size:12px;display:block}.pin-list li small+small{margin-top:2px;font-weight:600}.pin-list li .pin-done{color:var(--ok);font-weight:700}.tm-stops li{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.tm-stops li .btn{padding:3px 8px;font-size:11px}.tm-row-links{align-items:center;gap:8px;display:inline-flex}.link-btn{cursor:pointer;font:inherit;color:var(--brand);background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:11px;text-decoration:underline;display:inline-flex}.link-btn:hover{color:var(--brand-700)}:root:root .ls-page.page-inner{max-width:1080px}.ls-page .card-b{flex-direction:column;gap:18px;display:flex}.ls-page .fnum,.ls-page input[type=time]{max-width:240px}.ls-page.page-inner .card-b .fgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}.ls-def{color:var(--ink-2);white-space:nowrap;font-weight:600;display:inline-block}.ls-summary{border:1px solid var(--brand-100,var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--brand) 6%, var(--panel));color:var(--ink);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.ls-summary svg{color:var(--brand);flex:none;margin-top:2px}.ls-summary p{max-width:110ch;margin:0;font-size:13px;line-height:1.55}.ls-summary em{color:var(--tone-warn-ink);font-style:normal;font-weight:600}.ls-fixed{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0;display:grid}.ls-fixed>div{border:1px dashed var(--line);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:2px;padding:9px 12px;display:flex}.ls-fixed dt{color:var(--ink-2);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.ls-fixed dd{color:var(--muted);margin:0;font-size:12.5px}.ls-mode,.ls-time{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px 12px;display:flex}.ls-mode-l{color:var(--ink-2);font-size:13px;font-weight:600}.ls-seg button{min-width:96px;font-weight:600}.ls-chips{flex-wrap:wrap;gap:6px;display:flex}.ls-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.ls-chip:hover{border-color:var(--brand);color:var(--ink)}.ls-chip.on{background:var(--fill);border-color:var(--fill);color:var(--on-brand);font-weight:600}.ls-time-def{color:var(--muted);grid-column:1/-1;margin:0;font-size:12.5px;font-weight:500}.ls-note{background:var(--tone-warn-bg);border:1px solid var(--tone-warn-line);color:var(--ink);border-radius:10px;grid-column:1/-1;align-items:flex-start;gap:8px;margin:0;padding:9px 12px;font-size:12.5px;line-height:1.5;display:flex}.ls-note svg{color:var(--tone-warn-ink);flex:none;margin-top:1px}@media (max-width:640px){.ls-page .card-h-text{flex:100%}.ls-page .card-h-actions{justify-content:flex-start;margin-left:0}.ls-when{display:none}.ls-page .fnum,.ls-page input[type=time]{max-width:none}.ls-fixed{grid-template-columns:minmax(0,1fr)}}:root:root .sh-page.page-inner{max-width:880px}.sh-page .card{margin:0}.sh-h{color:var(--ink);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;display:flex}.sh-h svg{color:var(--brand);flex:none}.sh-hero{--sh-c:var(--muted);flex-direction:column;gap:16px;padding:20px 22px;display:flex}.sh-hero.sh-on{--sh-c:var(--ok);border-color:var(--tone-good-line,var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--ok) 7%, var(--panel)), var(--panel) 70%)}.sh-hero.sh-paused{--sh-c:#d98e00}.sh-hero.sh-needs{--sh-c:var(--danger);border-color:var(--tone-bad-line,var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--danger) 6%, var(--panel)), var(--panel) 70%)}.sh-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;display:flex}.sh-state-wrap{flex:340px;align-items:flex-start;gap:14px;min-width:0;display:flex}.sh-dot{background:var(--sh-c);width:14px;height:14px;box-shadow:0 0 0 5px color-mix(in srgb, var(--sh-c) 18%, transparent);border-radius:50%;flex:none;margin-top:9px}.sh-on .sh-dot{animation:2s ease-out infinite sh-pulse}@keyframes sh-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--sh-c) 45%, transparent)}to{box-shadow:0 0 0 12px #0000}}@media (prefers-reduced-motion:reduce){.sh-on .sh-dot{animation:none}}.sh-state-text{min-width:0}.sh-state{letter-spacing:-.015em;color:var(--ink);margin:0;font-size:26px;font-weight:800;line-height:1.2}.sh-line{color:var(--ink-2);max-width:62ch;margin:6px 0 0;font-size:14px;line-height:1.55}.sh-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sh-btn{justify-content:center;min-height:44px;padding-inline:18px;font-size:14px;font-weight:650}.sh-alert{border:1px solid var(--line);border-radius:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.sh-alert.tone-warn{background:var(--tone-warn-bg);border-color:var(--tone-warn-line);color:var(--ink)}.sh-alert.tone-bad{background:var(--tone-bad-bg);border-color:var(--tone-bad-line);color:var(--ink)}.sh-note{color:var(--tone-good-ink,var(--ok));margin:0;font-size:13px;font-weight:600}.sh-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:10px;margin:0;display:grid}.sh-tile{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;min-width:0;padding:11px 13px}.sh-tile dt{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:650}.sh-tile dd{color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:15px;font-weight:700;line-height:1.35}.sh-tile dd.sh-tile-sub{color:var(--muted);margin-top:2px;font-size:12px;font-weight:500}.sh-tile.tone-warn{background:var(--tone-warn-bg);border-color:var(--tone-warn-line)}.sh-tile.tone-bad{background:var(--tone-bad-bg);border-color:var(--tone-bad-line)}.sh-agree{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.sh-agree>span{color:var(--muted);font-size:12.5px}.sh-fact{color:var(--ink);margin:0;font-size:13px}.sh-fact>span{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin-right:4px;font-size:11.5px;font-weight:650}.sh-fact small{color:var(--muted);font-size:12.5px}.sh-foot{border-top:1px solid var(--line);color:var(--muted);padding-top:12px;font-size:12.5px}.sh-foot .link-btn{font-size:12.5px}.sh-consent{flex-direction:column;gap:12px;padding:18px 22px;display:flex}.sh-consent-inline{border:1px solid var(--brand-100,var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--brand) 5%, var(--panel));padding:14px 16px}.sh-points{max-width:720px;color:var(--ink-2);flex-direction:column;gap:6px;margin:0;padding:0 0 0 18px;font-size:13.5px;line-height:1.55;display:flex}.sh-points b{color:var(--ink);font-weight:700}.sh-points li::marker{color:var(--brand)}.sh-full{max-width:720px}.sh-full summary{cursor:pointer;min-height:32px;color:var(--brand);align-items:center;gap:5px;font-size:13px;font-weight:650;list-style:none;display:inline-flex}.sh-full summary::-webkit-details-marker{display:none}.sh-full summary svg{transition:transform .15s}.sh-full[open] summary svg{transform:rotate(180deg)}.sh-full p{color:var(--ink-2);margin:8px 0 0;font-size:13px;line-height:1.6}.sh-version{color:var(--muted);margin:0;font-size:11.5px}.sh-strip{border:1px solid var(--tone-info-line,var(--line));border-radius:var(--radius);background:var(--tone-info-bg,var(--surface-2));color:var(--ink);align-items:flex-start;gap:10px;margin:0;padding:11px 14px;font-size:13px;line-height:1.5;display:flex}.sh-strip svg{color:var(--tone-info-ink,var(--brand));flex:none;margin-top:2px}.sh-strip a{font-weight:650}.sh-help{padding:0}.sh-help>summary{cursor:pointer;min-height:48px;padding:14px 22px;list-style:none}.sh-help>summary::-webkit-details-marker{display:none}.sh-help .sh-caret{color:var(--muted);margin-left:auto;transition:transform .15s}.sh-help[open] .sh-caret{transform:rotate(180deg)}.sh-faq{flex-direction:column;gap:12px;max-width:720px;margin:0;padding:0 22px 18px;display:flex}.sh-faq dt{color:var(--ink);font-size:13px;font-weight:700}.sh-faq dd{color:var(--ink-2);margin:3px 0 0;font-size:13px;line-height:1.55}.sh-links{flex-wrap:wrap;gap:8px;display:flex}.sh-links .btn{min-height:40px}@media (max-width:640px){.sh-hero,.sh-consent{padding:16px}.sh-help>summary{padding:14px 16px}.sh-faq{padding:0 16px 16px}.sh-state{font-size:22px}.sh-dot{margin-top:7px}.sh-actions{flex-direction:column;align-items:stretch;width:100%}.sh-actions .sh-btn{width:100%}.sh-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sh-tile{padding:10px 11px}.sh-tile dd{font-size:14px}.sh-links .btn{flex:1 1 0;justify-content:center}}
