@font-face{font-family:system;src:local('Segoe UI')}*{box-sizing:border-box}html{color-scheme:dark;--bg:#0a1222;--panel:#111e33;--sidebar:#0d182a;--text:#edf4ff;--muted:#9bacbf;--border:#24334b;--accent:#50dec7;--accentdark:#062c2c;--shadow:0 14px 35px #0002}html[data-theme=light]{color-scheme:light;--bg:#f2f6fa;--panel:#fff;--sidebar:#fff;--text:#142640;--muted:#52667c;--border:#dbe5ed;--accent:#087d72;--accentdark:#fff;--shadow:0 12px 30px #25405b09}body{margin:0;font:15px/1.6 system,'Segoe UI',sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--accentdark);border:1px solid transparent;border-radius:10px;padding:10px 17px;cursor:pointer;font-weight:600;line-height:1.4;white-space:nowrap}button:hover,.button:hover{filter:brightness(1.08);text-decoration:none}.quiet{background:transparent;color:var(--text);border-color:var(--border)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input,textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:10px 12px;border-radius:8px;max-width:100%}textarea{resize:vertical;min-height:95px}aside{position:fixed;inset:0 auto 0 0;width:260px;background:var(--sidebar);border-right:1px solid var(--border);padding:30px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:10px;color:var(--text);padding:0 8px;font-size:21px;font-weight:700;letter-spacing:-.6px}.brand:hover{text-decoration:none}.brand>.icon{width:38px;height:38px;color:var(--accent);padding:4px;border:1px solid var(--border);border-radius:12px}.brand small{display:block;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:.3px}.accent{color:var(--accent)}.navlabel{font-size:10px;letter-spacing:2px;color:var(--muted);padding:45px 16px 12px}nav{display:grid;gap:5px}nav a{display:flex;align-items:center;gap:13px;padding:13px 15px;color:var(--muted);border-radius:10px;font-size:13px}nav a:hover{background:var(--panel);color:var(--text);text-decoration:none}nav a[aria-current=page]{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 3px 0 var(--accent)}.icon{width:23px;height:23px;flex-shrink:0}.sidebarfoot{margin-top:auto;padding:30px 13px 0;font-size:11px;color:var(--muted)}.sidebarfoot small{display:block;font-size:10px;padding-top:6px}.dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:5px}.workspace{margin-left:260px}.topbar{min-height:80px;display:flex;align-items:center;justify-content:space-between;padding:16px 38px;border-bottom:1px solid var(--border);gap:20px}.breadcrumb{font-size:13px;color:var(--muted)}.breadcrumb span{color:var(--text);padding-left:12px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actions form{margin:0}main{max-width:1600px;margin:auto;padding:36px 38px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:2.2px;margin:0 0 8px}h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:0 0 10px}h2{font-size:17px;font-weight:600;line-height:1.4;margin:0 0 16px}h3{font-size:17px}p{margin:0 0 15px}.muted,.caption{color:var(--muted)}.heading p{margin-bottom:0}.period{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:0 0 25px}.period label{font-size:11px;color:var(--muted)}.period input{display:block;font-size:13px;padding:7px 10px;margin-top:4px}.period button{font-size:12px;padding:10px 14px}.hero{border:1px solid #275369;background:radial-gradient(ellipse at 90% 30%,#195766 0,transparent 60%),linear-gradient(110deg,#142d4e,#123040);padding:30px 34px;display:flex;justify-content:space-between;border-radius:16px;margin:0 0 24px;overflow:hidden;position:relative;color:#eef9ff}.hero h2{font-size:30px;letter-spacing:-.7px;margin:14px 0;line-height:1.3}.hero p{color:#b8cddd;font-size:13px}.hero a{color:#66ead6;font-size:13px}.tag{display:inline-block;font-size:10px;letter-spacing:1.3px;border:1px solid #50dec750;border-radius:6px;padding:4px 8px;color:var(--accent)}.hero .tag{color:#78eadb}.heropulse{display:flex;align-items:center;justify-content:center;min-width:30%;opacity:.55}.heropulse .icon{width:180px;height:180px;stroke-width:.6;color:#79eedb;filter:drop-shadow(0 0 20px #50dec7);transform:rotate(-8deg)}.card{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:24px;box-shadow:var(--shadow);margin-bottom:24px;min-width:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stat{display:flex;flex-direction:column;position:relative;padding:22px}.stat>.icon{color:var(--accent);position:absolute;right:20px;top:21px}.stat>span{font-size:12px;color:var(--muted);padding-right:26px}.stat strong{font-size:28px;letter-spacing:-.7px;margin:13px 0 3px;font-weight:600}.stat small{font-size:11px;color:var(--muted)}.stat p{border-top:1px solid var(--border);margin:18px 0 0;padding-top:12px;font-size:11px;color:var(--muted)}.twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cardhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.cardhead h2{margin:0}.cardhead span{font-size:10px;color:var(--muted)}.empty{min-height:190px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted);padding:22px}.empty>.icon{width:38px;height:38px;opacity:.5}.empty h3{color:var(--text);margin:14px 0 5px}.empty p{font-size:12px;max-width:300px;margin:0}.chart{width:100%;min-height:160px;display:block;overflow:visible}.chart circle{fill:var(--accent)}.chart .axis{stroke:var(--border);stroke-width:1;fill:none}.chart text{fill:var(--muted);font:12px system-ui}.caption{font-size:10px;margin:12px 0 0}.narrow{max-width:560px}.fields{display:grid;gap:20px}.fields label{display:grid;gap:7px;font-size:13px}.fields button{justify-self:start}.fields>a{font-size:13px}.notice{border:1px solid var(--accent);background:var(--panel);border-radius:10px;padding:15px 20px}.error{border-color:#f89a9a;color:#f89a9a}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;letter-spacing:.5px;color:var(--muted);font-weight:500}th,td{padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:top}td:first-child{white-space:nowrap}td:nth-child(4){max-width:320px;overflow-wrap:anywhere}.inline{display:inline-block;margin:0 0 0 8px}.inline button{font-size:11px;padding:3px 6px}.danger{color:#ff9f9f}.pagination{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px;padding-top:20px}details{max-width:380px}summary{cursor:pointer;color:var(--accent)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 monospace}code{font-size:11px;overflow-wrap:anywhere;white-space:normal}dl{display:grid;grid-template-columns:1fr 1fr;font-size:13px;gap:14px}dt{color:var(--muted)}dd{margin:0}footer{font-size:10px;text-align:center;color:var(--muted);padding:12px 0 4px}footer span{padding:0 10px}.skip{position:fixed;left:10px;top:-100px;z-index:40;background:var(--panel);padding:10px}.skip:focus{top:10px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#menu{display:none}html[data-theme=light] .error{color:#9e2424}html[data-theme=light] .danger{color:#ac3030}@media(min-width:1800px){main{padding-top:48px}.hero{padding:40px}.hero h2{font-size:38px}}@media(max-width:1200px){aside{width:225px;padding-left:10px;padding-right:10px}.workspace{margin-left:225px}.brand{font-size:18px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:16px 24px}main{padding:28px 24px}.twocol{grid-template-columns:1fr}.hero h2{font-size:27px}}@media(max-width:760px){aside{transform:translateX(-100%);transition:transform .2s;width:260px;box-shadow:20px 0 100px #0006}.menu-open aside{transform:translateX(0)}.workspace{margin-left:0}.topbar{padding:12px 16px;min-height:66px;gap:8px;position:sticky;top:0;z-index:15;background:var(--bg)}.breadcrumb{display:none}.topbar .button,.topbar button{font-size:11px;padding:8px 10px}#menu{display:inline-flex}main{padding:26px 16px}.heading{align-items:start;flex-wrap:wrap}.heading h1{font-size:27px}.heading p{font-size:13px}.hero{padding:24px}.heropulse{display:none}.hero h2{font-size:26px}.stats{gap:12px}.stat{padding:16px;margin-bottom:12px}.stat strong{font-size:24px}.stat>.icon{right:12px;top:15px;width:19px}.stat>span{font-size:11px}.stat p{font-size:10px}.card{padding:20px}.stat{padding:16px}.period{gap:9px}.period input{font-size:12px}.period button{font-size:11px}.twocol{gap:0}.hero .tag{font-size:8px}dl{grid-template-columns:1fr}dd{margin-top:-10px}.sidebarfoot{padding-bottom:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.seriesvalue{font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-.5px;margin:0 0 8px}

#new-import-token{display:block;width:100%;min-height:82px;margin:8px 0 12px;font-family:monospace;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}#copy-import-status{font-size:12px;overflow-wrap:anywhere}

/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

#route-map{height:440px;min-height:280px;border-radius:12px;background:#e3ebee}#route-map a{color:#075477}.leaflet-container{font-family:inherit}.leaflet-control-zoom a{color:#142640}.period select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px}#workout-route{scroll-margin-top:80px}@media(max-width:760px){#route-map{height:340px}}

.period-panel{margin:0 0 28px;max-width:none}.period-panel .period{margin-bottom:14px}.period-tabs{display:flex;gap:4px;padding:5px;border-radius:22px;background:var(--panel);border:1px solid var(--border);max-width:650px}.period-tabs a{flex:1;text-align:center;border-radius:18px;color:var(--muted);font-weight:650;padding:9px 12px}.period-tabs a[aria-current=true]{background:var(--border);color:var(--text)}.period-tabs a:hover{text-decoration:none;background:var(--border)}.period-browse{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:650px;margin-top:14px}.period-browse strong{font-size:13px}.period-browse .button{padding:5px 13px}.custom-period{max-width:none;margin-top:14px;font-size:12px}.custom-period .period{margin-top:12px}.activity-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 10px}.activity-total{border-right:1px solid var(--border);padding:16px 20px;min-width:0}.activity-total:last-child{border:0}.activity-total .icon{display:block;color:var(--series);margin-bottom:10px}.activity-total span{display:block;font-size:15px;font-weight:650;color:var(--series)}.activity-total strong{display:block;font-size:30px;letter-spacing:-1px;line-height:1.4}.activity-total small{color:var(--muted);font-size:11px}.tone-move{--series:#fc287c}.tone-exercise{--series:#a9e900}.tone-stand{--series:#16d6d0}.tone-default{--series:var(--accent)}html[data-theme=light] .tone-exercise{--series:#487d00}html[data-theme=light] .tone-stand{--series:#008d8b}html[data-theme=light] .tone-move{--series:#d3155d}.activity-note{margin-bottom:25px}.activity-charts{display:grid;grid-template-columns:1fr}.insight-chart h2{color:var(--series)}.insight-value{font-size:26px;font-weight:650;line-height:1.4;margin:0 0 20px}.insight-value small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}.bar-chart rect{fill:var(--series)}.bar-chart{min-height:160px}.insight-chart .cardhead span{font-size:10px}.custom-period summary{margin-bottom:8px}@media(max-width:760px){.activity-summary{gap:0}.activity-total{padding:12px 9px}.activity-total strong{font-size:20px}.activity-total span{font-size:13px}.activity-total small{font-size:9px}.period-tabs{width:100%}.period-tabs a{padding:8px}.period-browse strong{font-size:11px}.insight-value{font-size:24px}}

.period-tabs a{justify-content:center}

.period-refined{border:1px solid var(--border);background:var(--panel);border-radius:16px;padding:18px 20px;max-width:850px}.period-refined .year-picker{display:flex;align-items:center;gap:10px;margin-bottom:16px}.period-refined .year-picker label{margin:0}.period-refined .year-picker select{font-size:16px;font-weight:650;padding:8px 32px 8px 12px;border-radius:9px;min-width:100px}.period-refined .year-picker button{font-size:12px;padding:9px 14px}.period-refined .year-picker>a{margin-left:auto;font-size:12px;padding:8px}.period-refined .period-tabs{max-width:none;background:var(--bg);border-radius:11px;padding:4px}.period-refined .period-tabs a{border-radius:8px;font-size:13px}.period-refined .period-tabs a[aria-current=true]{background:var(--accent);color:var(--accentdark)}.period-refined .period-browse{max-width:none}.period-refined .period-browse strong{font-size:13px;letter-spacing:.2px}.period-refined .custom-period summary{font-size:11px;color:var(--muted)}.measurement-chart .axis{opacity:.8}.measurement-chart .measurement-line{opacity:.8}.measurement-chart circle{stroke:var(--panel);stroke-width:1.2}@media(max-width:760px){.period-refined{padding:14px}.period-refined .period-browse strong{font-size:11px}.period-refined .year-picker select{font-size:14px}.period-refined .year-picker>a{font-size:11px}.measurement-chart text{font-size:13px}}
.measurement-chart text{font-size:19px}@media(max-width:760px){.measurement-chart text{font-size:20px}}

/* Shared chart and table presentation */
.plot-scroll{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;border-radius:8px;padding:4px 0 2px}.plot-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.professional-chart{display:block;width:auto;min-width:100%;max-width:none;height:auto;color:var(--accent)}.professional-chart text{font:14px/1.3 system-ui,sans-serif;fill:var(--muted);letter-spacing:0}.professional-chart .chart-unit{font-size:12px;font-weight:650;fill:var(--muted)}.professional-chart .chart-grid{fill:none;stroke:var(--border);stroke-width:1;stroke-dasharray:3 5}.professional-chart .chart-boundary,.professional-chart .chart-tick{fill:none;stroke:var(--border);stroke-width:1.2}.professional-chart .measurement-line{stroke:var(--series,var(--accent));stroke-width:2.5;opacity:.95}.professional-chart .chart-point{fill:var(--series,var(--accent));stroke:var(--panel);stroke-width:1.5;transition:r .12s}.professional-chart .chart-point:hover,.professional-chart .chart-point:focus{r:6;stroke-width:2;outline:none}.professional-chart .chart-bar{fill:var(--series,var(--accent));opacity:.88}.professional-chart .chart-bar:hover,.professional-chart .chart-bar:focus{opacity:1;stroke:var(--text);stroke-width:1;outline:none}.chart-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:12px;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.5}.card:has(.professional-chart){padding:25px}.insight-chart .cardhead h2,.card:has(.professional-chart) .cardhead h2{font-size:18px}.insight-chart .cardhead span,.card:has(.professional-chart) .cardhead span{font-size:11px;white-space:nowrap}.twocol:has(.professional-chart){grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.tablewrap{border:1px solid var(--border);border-radius:12px;overflow:auto;max-height:660px;scrollbar-width:thin;scrollbar-color:var(--border) transparent;position:relative}.tablewrap table{min-width:620px;font-size:13px;line-height:1.55;font-variant-numeric:tabular-nums;border-spacing:0;border-collapse:separate}.tablewrap th{position:sticky;top:0;z-index:2;background:var(--panel);font-size:11px;font-weight:650;letter-spacing:.35px;color:var(--muted);padding:15px 18px;border-bottom:2px solid var(--border);white-space:nowrap}.tablewrap td{padding:15px 18px;border-bottom:1px solid var(--border);background:var(--panel)}.tablewrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--panel) 95%,var(--text) 5%)}.tablewrap tbody tr:hover td{background:color-mix(in srgb,var(--panel) 90%,var(--accent) 10%)}.tablewrap tbody tr:last-child td{border-bottom:0}.tablewrap td:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--border)}.tablewrap th:first-child{left:0;z-index:3}.tablewrap .table-number{text-align:right;white-space:nowrap;font-weight:600}.tablewrap .table-date{white-space:nowrap;min-width:130px}.date-main{display:block;font-weight:550}.date-sub{display:block;font-size:11px;color:var(--muted);margin-top:2px}.tablewrap details{min-width:110px;max-width:380px}.tablewrap summary{font-size:12px}.tablewrap td:empty:after{content:'—';color:var(--muted)}.pagination{border-top:1px solid var(--border);margin-top:16px;padding-top:16px;min-height:54px}.pagination a{padding:8px 12px;border:1px solid var(--border);border-radius:8px}.caption{font-size:11px;line-height:1.65}.tablewrap:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:1600px){.twocol:has(.professional-chart){grid-template-columns:1fr}}@media(max-width:760px){.card:has(.professional-chart){padding:18px}.professional-chart text{font-size:14px}.chart-foot{font-size:10px}.tablewrap td,.tablewrap th{padding:13px 12px}.tablewrap table{font-size:12px}.tablewrap td:first-child{max-width:155px}.plot-scroll{border-bottom:1px solid var(--border)}.insight-chart .cardhead h2,.card:has(.professional-chart) .cardhead h2{font-size:16px}}

.plot-scroll{max-width:1100px;margin-inline:auto}.professional-chart{width:100%;min-width:720px;max-width:1100px;margin-inline:auto}

/* Training details: compact on mobile, spacious on desktop. */
.workout-hero{margin-top:20px;background:linear-gradient(135deg,var(--panel),#133e47);overflow:hidden}.workout-hero h2{font-size:clamp(26px,4vw,42px);margin:12px 0}.workout-hero p{color:var(--muted)}.workout-distance{display:block;font-size:clamp(38px,6vw,64px);color:#b7ec38;font-weight:700}.workout-distance small{font-size:.5em}.workout-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px;margin:24px 0}.workout-stat span{display:block;color:var(--muted);margin-bottom:8px}.workout-stat strong{display:block;font-size:clamp(22px,3vw,38px);line-height:1.15;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.workout-stat small{color:var(--muted)}.workout-stat.tone-yellow strong{color:#b98b00}.workout-stat.tone-cyan strong{color:#008b9e}.workout-stat.tone-pink strong{color:#d52a6e}.workout-stat.tone-green strong{color:#56851b}.workout-stat.tone-orange strong{color:#dc4824}html:not([data-theme=light]) .workout-stat.tone-yellow strong{color:#ffe14c}html:not([data-theme=light]) .workout-stat.tone-cyan strong{color:#3cd9df}html:not([data-theme=light]) .workout-stat.tone-pink strong{color:#ff4b91}html:not([data-theme=light]) .workout-stat.tone-green strong{color:#b7ec38}html:not([data-theme=light]) .workout-stat.tone-orange strong{color:#ff794c}.workout-weather{display:flex;flex-wrap:wrap;gap:32px}.workout-weather span,.workout-weather strong{display:block}.workout-weather strong{font-size:24px;margin-top:8px}@media(min-width:1250px){.workout-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:430px){.workout-stats{gap:24px 14px}.workout-stat strong{font-size:24px}}

.sleep-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.sleep-summary strong{display:block;font-size:clamp(26px,3.2vw,40px);color:var(--accent);margin:12px 0}.sleep-summary p{color:var(--muted);margin:0}.sleep-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.sleep-tabs a{background:var(--panel);border:1px solid var(--border);border-radius:30px;padding:10px 18px;color:var(--text)}.sleep-fill-awake{fill:#ff826e;background:#ff826e}.sleep-fill-rem{fill:#09bfd7;background:#09bfd7}.sleep-fill-core{fill:#1685fb;background:#1685fb}.sleep-fill-deep{fill:#7560e7;background:#7560e7}.sleep-fill-unknown{fill:#9c92bd;background:#9c92bd}.sleep-track{fill:var(--border)}.sleep-phase-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sleep-phase-card{padding:18px;border:1px solid var(--border);border-radius:16px}.sleep-phase-card>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sleep-phase-card>div>span:not(.sleep-dot){margin-left:auto}.sleep-phase-card small{color:var(--muted)}.sleep-phase-card svg{width:100%;height:8px;display:block;margin-top:16px}.sleep-dot{width:12px;height:12px;display:inline-block;border-radius:50%;flex-shrink:0}.sleep-comparison-item{padding:12px 0 24px;border-bottom:1px solid var(--border)}.sleep-range{font-size:22px;color:var(--accent);font-variant-numeric:tabular-nums}#sleep-phases,#sleep-duration,#sleep-comparison{scroll-margin-top:20px}.sleep-summary .card{margin-bottom:20px}@media(max-width:700px){.sleep-summary,.sleep-phase-list{grid-template-columns:1fr}.sleep-summary{gap:0}.sleep-phase-card>div{font-size:14px}.sleep-tabs a{font-size:13px;padding:9px 12px}}
/* Unified health presentation */
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.12px}html{--bg:#090f1c;--panel:#142033;--sidebar:#101a2b;--border:#29364a;--shadow:none}html[data-theme=light]{--bg:#f2f2f7;--panel:#fff;--sidebar:#fafafd;--border:#e2e4eb;--muted:#596577;--shadow:none}main{max-width:1700px}.heading h1{font-size:clamp(30px,3vw,42px);font-weight:750;letter-spacing:-1.5px}.card,.card:has(.professional-chart){border-radius:26px;padding:28px;border-color:color-mix(in srgb,var(--border) 65%,transparent)}.cardhead{align-items:start}.cardhead h2{font-size:20px!important;font-weight:700;letter-spacing:-.5px}.cardhead span{line-height:1.5}.seriesvalue{font-size:36px;font-weight:700;letter-spacing:-1px}.category-activity{--series:#ef477e}.category-heart{--series:#f16b50}.category-sleep{--series:#8b7aff}.category-workouts{--series:#8dc63f}.category-body{--series:#35bcb0}.overview-intro{margin:8px 0 28px}.overview-intro h2{font-size:26px;letter-spacing:-.7px}.health-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0}.health-highlight{display:flex;flex-direction:column;margin:0;min-height:170px;color:var(--text)}.health-highlight:hover{text-decoration:none;border-color:var(--series)}.health-highlight>span{display:flex;align-items:center;gap:9px;color:var(--series);font-weight:650}.health-highlight strong{font-size:clamp(25px,2.4vw,36px);line-height:1.3;letter-spacing:-1px;margin:16px 0 9px}.health-highlight small{color:var(--muted);font-size:11px}.trend-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trend-insights article{border-radius:18px;background:var(--bg);padding:22px}.trend-insights span{display:block;color:var(--muted);font-size:13px}.trend-insights strong{display:block;font-size:30px;margin:10px 0;color:var(--series,var(--accent))}.trend-insights p{font-size:12px;margin-bottom:8px}.trend-insights small{font-size:11px;color:var(--muted);line-height:1.5;display:block}.metric-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}.metric-directory a{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--text);border-bottom:1px solid var(--border);padding:17px 3px;font-size:14px}.metric-directory a>span:last-child{font-size:25px;color:var(--series,var(--accent))}.metric-directory a:hover{color:var(--series,var(--accent));text-decoration:none}.insight-value{font-size:35px;font-weight:700;letter-spacing:-1px}.insight-value small{display:block;font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0}.training-types{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.training-types>span{display:flex;gap:12px;background:var(--bg);border-radius:12px;padding:9px 13px;font-size:12px}.source-link{display:inline-block;padding:6px 0;font-size:11px}.source-picker{width:100%;margin:8px 0}.source-picker select{max-width:100%}.source-records{max-width:none}.source-records>summary{font-size:15px;font-weight:650}.source-records[open]>summary{margin-bottom:24px}.sleep-summary strong{color:#8b7aff}.sleep-tabs a{border-radius:14px}.sleep-phase-card{border-radius:20px;background:var(--bg)}.period-refined{max-width:none;border-radius:22px;padding:18px 22px}.period-refined .period-tabs{border-radius:13px}.period-refined .period-tabs a{padding:9px}.topbar{background:color-mix(in srgb,var(--bg) 94%,transparent)}.mobile-health-nav{display:none}.twocol:has(.professional-chart){gap:22px}@media(min-width:1400px){.twocol:has(.professional-chart){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1150px){.health-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-insights,.metric-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){main{padding:24px 16px 100px}.card,.card:has(.professional-chart){padding:21px;border-radius:24px}.heading h1{font-size:32px}.health-highlights{gap:12px}.health-highlight{padding:17px;min-height:160px}.health-highlight>span{font-size:12px;gap:6px}.health-highlight .icon{width:18px;height:18px}.health-highlight strong{font-size:25px;overflow-wrap:anywhere}.cardhead{flex-wrap:wrap}.cardhead h2{font-size:19px!important}.trend-insights,.metric-directory{grid-template-columns:1fr}.mobile-health-nav{position:fixed;bottom:10px;left:12px;right:12px;z-index:25;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:7px 4px calc(7px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid var(--border);border-radius:28px;box-shadow:0 8px 30px #0003;backdrop-filter:blur(18px)}.mobile-health-nav a{display:flex;flex-direction:column;gap:4px;justify-content:center;padding:7px 2px;border-radius:20px;font-size:9px;color:var(--muted);box-shadow:none}.mobile-health-nav a[aria-current=page]{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:none}.mobile-health-nav .icon{width:23px;height:23px}.period-refined{padding:15px}.seriesvalue{font-size:32px}.professional-chart{min-width:650px}.sleep-phase-list{gap:12px}.topbar{backdrop-filter:blur(18px)}}
