@layer theme{@theme default{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 0); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: calc(1.5 / 1); --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: calc(2.25 / 1.875); --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px #0000000d; --shadow-xs: 0 1px 2px 0 #0000000d; --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a; --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a; --shadow-xl: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a; --shadow-2xl: 0 25px 50px -12px #00000040; --inset-shadow-2xs: inset 0 1px #0000000d; --inset-shadow-xs: inset 0 1px 1px #0000000d; --inset-shadow-sm: inset 0 2px 4px #0000000d; --drop-shadow-xs: 0 1px 1px #0000000d; --drop-shadow-sm: 0 1px 2px #00000026; --drop-shadow-md: 0 3px 3px #0000001f; --drop-shadow-lg: 0 4px 4px #00000026; --drop-shadow-xl: 0 9px 7px #0000001a; --drop-shadow-2xl: 0 25px 25px #00000026; --text-shadow-2xs: 0px 1px 0px #00000026; --text-shadow-xs: 0px 1px 1px #0003; --text-shadow-sm: 0px 1px 0px #00000013, 0px 1px 1px #00000013, 0px 2px 2px #00000013; --text-shadow-md: 0px 1px 1px #0000001a, 0px 1px 2px #0000001a, 0px 2px 4px #0000001a; --text-shadow-lg: 0px 1px 2px #0000001a, 0px 3px 2px #0000001a, 0px 4px 8px #0000001a; --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme(--font-sans--font-feature-settings, initial); --default-font-variation-settings: --theme(--font-sans--font-variation-settings, initial); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme(--font-mono--font-feature-settings, initial); --default-mono-font-variation-settings: --theme(--font-mono--font-variation-settings, initial);}@theme default inline reference{--blur: 8px; --shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; --shadow-inner: inset 0 2px 4px 0 #0000000d; --drop-shadow: 0 1px 2px #0000001a, 0 1px 1px #0000000f; --radius: .25rem; --max-width-prose: 65ch;}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:--theme(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:--theme(--default-font-feature-settings, normal);font-variation-settings:--theme(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:--theme(--default-mono-font-feature-settings, normal);font-variation-settings:--theme(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{@tailwind utilities;}:root{--font-ui:"Inter", system-ui, -apple-system, sans-serif;--font-serif:"Fraunces", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--bg:#fffaf1;--surface:#fffaf1;--surface-2:#f3e9d6;--surface-sunken:#f9f2e5;--field-bg:#fffdf8;--fg:#102a23;--muted-fg:#5a7167;--subtle-fg:#8a9d93;--accent:#143d31;--accent-dark:#0c2a22;--accent-muted:#e6ebe5;--accent-border:#cfdbd2;--accent-ring:#143d3133;--accent-2:#c24a3a;--accent-2-dark:#a23a2c;--accent-2-muted:#f6e1dc;--border:#e6dcc6;--border-strong:#ddd0b4;--border-hover:#c9b896;--border-focus:#143d31;--success:#1d7a45;--success-bg:#e7f3ea;--success-border:#c3e0cb;--danger:#b42318;--danger-dark:#912018;--danger-bg:#fdeeec;--danger-border:#f3cbc5;--warning:#9a5b0b;--warning-bg:#fcf1dc;--warning-border:#efd8a8;--shadow-xs:0 1px 1px #102a230a;--shadow-sm:0 1px 2px #102a230f;--shadow-md:0 4px 12px -2px #102a2314, 0 2px 4px -2px #102a230d;--shadow-lg:0 12px 32px -8px #102a232e, 0 4px 8px -4px #102a230f;--shadow-xl:0 24px 64px -12px #102a2347;--focus-ring:0 0 0 3px var(--accent-ring);--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--control-h:2.25rem;--control-h-sm:2rem;--control-h-lg:2.75rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur:.18s;--dur-slow:.26s;--header-h:56px;--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a7167' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--icon-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E");--icon-check-circle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");--icon-inbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a7167' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");--icon-alert-danger:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b42318' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E");--icon-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a5b0b' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-ui);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:.9375rem;line-height:1.55}#root{max-width:100%;margin:0 auto}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--fg);margin:0;font-weight:600;line-height:1.2}::selection{background:var(--accent-muted);color:var(--fg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{font-family:var(--font-mono)}.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}.muted{color:var(--subtle-fg)}.tabular{font-variant-numeric:tabular-nums}.sensor-drawer-list,.sensor-dropdown,.filters-location-list,.setting-choice-list,.modal-body{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@keyframes fade-in{0%{opacity:0}}@keyframes page-in{0%{opacity:0;translate:0 4px}}@keyframes pop-in{0%{opacity:0;translate:0 8px;scale:.98}}@keyframes menu-in{0%{opacity:0;translate:0 -4px;scale:.98}}@keyframes drawer-in{0%{translate:100%}}@keyframes spin{to{rotate:360deg}}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:50;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.app-header-bar{height:var(--header-h);align-items:center;gap:.25rem;padding:0 1.5rem;display:flex}.app-brand{border-radius:var(--radius-sm);color:var(--accent);flex-shrink:0;align-items:center;gap:.625rem;margin-left:-.25rem;padding:.25rem;text-decoration:none;display:inline-flex}.app-brand:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-brand-logo{object-fit:contain;width:auto;height:26px;display:block}.app-brand-name{font-family:var(--font-serif);letter-spacing:.005em;font-size:1rem;font-weight:600}.breadcrumbs{flex:1;min-width:0}.breadcrumbs ol{align-items:center;min-width:0;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{min-width:0;color:var(--muted-fg);align-items:center;font-size:.875rem;display:flex}.breadcrumbs li:before{content:"";background:var(--border-hover);flex-shrink:0;width:1px;height:18px;margin:0 .625rem;rotate:20deg}.breadcrumbs li:last-child{flex-shrink:0;max-width:60%}.breadcrumbs a,.breadcrumbs [aria-current=page]{border-radius:var(--radius-sm);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:.25rem .375rem;overflow:hidden}.breadcrumbs a{color:var(--muted-fg);transition:color var(--dur-fast), background-color var(--dur-fast);text-decoration:none}.breadcrumbs a:hover{color:var(--fg);background:var(--surface-2)}.breadcrumbs a:focus-visible{box-shadow:var(--focus-ring);outline:none}.breadcrumbs [aria-current=page]{color:var(--fg);text-overflow:ellipsis;font-weight:500;overflow:hidden}.app-header-actions{flex-shrink:0;align-items:center;gap:.5rem;margin-left:auto;display:flex}.page{width:100%;max-width:1280px;animation:page-in var(--dur-slow) var(--ease-out);flex:1;margin:0 auto;padding:2rem 1.5rem 4rem}.page-wide{max-width:1440px;padding-top:1.5rem}.page-header{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.75rem;display:flex}.page-title{letter-spacing:-.02em;font-size:1.625rem;font-weight:600}.page-description{max-width:68ch;color:var(--muted-fg);margin:.375rem 0 0;font-size:.9rem;line-height:1.55}.page-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.section-header{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.25rem;display:flex}.section-title{letter-spacing:-.01em;font-size:1.1875rem;font-weight:600}.section-description{max-width:68ch;color:var(--muted-fg);margin:.3rem 0 0;font-size:.875rem;line-height:1.55}.subsection-title{margin:0 0 .875rem;font-size:1rem;font-weight:600}.btn{height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font-family:var(--font-ui);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs);transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast), translate var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:.5rem;padding:0 .875rem;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex;position:relative}.btn svg{flex-shrink:0}.btn:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--border-hover)}.btn:active:not(:disabled){box-shadow:none;translate:0 1px}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--bg);box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff0f}.btn-primary:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background:var(--danger-dark);border-color:var(--danger-dark)}.btn-primary:disabled,.btn-danger:disabled{opacity:1;background:var(--surface-2);border-color:var(--border);color:var(--subtle-fg)}.btn-ghost{color:var(--muted-fg);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--fg);border-color:#0000}.btn-ghost.btn-danger{color:var(--danger);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost.btn-danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger-dark)}.btn-sm{height:var(--control-h-sm);gap:.375rem;padding:0 .625rem;font-size:.8125rem}.btn-lg{height:var(--control-h-lg);padding:0 1.25rem;font-size:.9375rem}.btn-block{width:100%}.btn-icon{width:var(--control-h);padding:0}.btn-icon.btn-sm{width:var(--control-h-sm)}.btn-link{color:var(--accent);font-family:var(--font-ui);text-underline-offset:3px;cursor:pointer;transition:text-decoration-color var(--dur-fast), color var(--dur-fast);background:0 0;border:0;align-items:center;gap:.375rem;padding:0;font-size:.875rem;font-weight:500;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.btn-link:hover:not(:disabled){color:var(--accent-dark);text-decoration-color:currentColor}.btn-link:focus-visible{box-shadow:var(--focus-ring);border-radius:2px;outline:none}.btn-link:disabled{opacity:.5;cursor:not-allowed}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.65s linear infinite spin;display:inline-block}.count-badge{background:var(--accent);min-width:18px;height:18px;color:var(--bg);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:.6875rem;font-weight:600;line-height:1;display:inline-flex}.form-group{flex-direction:column;gap:.375rem;min-width:0;display:flex}.form-group>label,.form-label{color:var(--fg);font-size:.8125rem;font-weight:500}.form-label-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.form-optional{color:var(--subtle-fg);margin-left:.25rem;font-weight:400}.input,.form-select,.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea{width:100%;height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--field-bg);color:var(--fg);font-family:var(--font-ui);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast), box-shadow var(--dur-fast), background-color var(--dur-fast);padding:0 .75rem;font-size:.875rem;line-height:1.4}.input::placeholder,.form-group input::placeholder,.form-group textarea::placeholder{color:var(--subtle-fg)}.input:hover:not(:disabled):not(:focus),.form-select:hover:not(:disabled):not(:focus),.form-group input:hover:not(:disabled):not(:focus),.form-group select:hover:not(:disabled):not(:focus),.form-group textarea:hover:not(:disabled):not(:focus){border-color:var(--border-hover)}.input:focus,.form-select:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring);outline:none}.input:disabled,.form-select:disabled,.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--surface-2);color:var(--muted-fg);box-shadow:none;cursor:not-allowed}select.input,.form-select,.form-group select{appearance:none;background-image:var(--icon-chevron);cursor:pointer;background-position:right .625rem center;background-repeat:no-repeat;background-size:16px;padding-right:2.25rem}.form-group textarea{resize:vertical;height:auto;min-height:5.5rem;padding:.5rem .75rem;line-height:1.5}.input-sm{height:var(--control-h-sm);font-size:.8125rem}.input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;transition:opacity var(--dur-fast)}.form-group input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;transition:opacity var(--dur-fast)}.input::-webkit-calendar-picker-indicator:hover{opacity:.9}.form-group input::-webkit-calendar-picker-indicator:hover{opacity:.9}.input-with-icon{align-items:center;min-width:0;display:flex;position:relative}.input-with-icon>svg{color:var(--subtle-fg);pointer-events:none;position:absolute;left:.75rem}.input-with-icon .input{padding-left:2.25rem}.input-with-icon .input-sm{padding-left:2.125rem}.input-with-icon:has(.input-sm)>svg{left:.6875rem}:where(input[type=checkbox]){appearance:none;border:1px solid var(--border-hover);background:var(--field-bg);cursor:pointer;vertical-align:middle;width:16px;height:16px;transition:background-color var(--dur-fast), border-color var(--dur-fast), box-shadow var(--dur-fast);border-radius:4px;flex-shrink:0;place-content:center;margin:0;display:inline-grid}:where(input[type=checkbox]):before{content:"";background:var(--bg);width:10px;height:10px;-webkit-mask:var(--icon-check) center / contain no-repeat;mask:var(--icon-check) center / contain no-repeat;-webkit-mask:var(--icon-check) center / contain no-repeat;transition:scale var(--dur-fast) var(--ease-out);scale:0}:where(input[type=checkbox]):checked{background:var(--accent);border-color:var(--accent)}:where(input[type=checkbox]):checked:before{scale:1}:where(input[type=checkbox]):indeterminate{background:var(--accent);border-color:var(--accent)}:where(input[type=checkbox]):indeterminate:before{border-radius:1px;width:8px;height:2px;scale:1;-webkit-mask:none;mask:none}:where(input[type=checkbox]):hover:not(:disabled){border-color:var(--accent)}:where(input[type=checkbox]):focus-visible{box-shadow:var(--focus-ring);outline:none}:where(input[type=checkbox]):disabled{opacity:.5;cursor:not-allowed}.form-checkbox label{color:var(--fg);cursor:pointer;align-items:center;gap:.625rem;font-size:.875rem;font-weight:500;display:flex}.form-hint{color:var(--muted-fg);margin:0;font-size:.8rem;line-height:1.45}.form-checkbox .form-hint{margin-left:1.625rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem 1.25rem;display:grid}.form-row+.form-hint{margin-top:-.5rem}.form-section{flex-direction:column;gap:1.125rem;display:flex}.form-section+.form-section{border-top:1px solid var(--border);padding-top:1.5rem}.form-section-title{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-fg);margin:0;font-size:.75rem;font-weight:600}.form-error,.form-success{border-radius:var(--radius-sm);animation:fade-in var(--dur) ease-out;border:1px solid;align-items:flex-start;gap:.5rem;margin:0;padding:.625rem .75rem;font-size:.8125rem;line-height:1.45;display:flex}.form-error:before,.form-success:before{content:"";background:currentColor;flex-shrink:0;width:16px;height:16px;margin-top:1px}.form-error{color:var(--danger-dark);background:var(--danger-bg);border-color:var(--danger-border)}.form-error:before{-webkit-mask:var(--icon-alert) center / contain no-repeat;mask:var(--icon-alert) center / contain no-repeat;-webkit-mask:var(--icon-alert) center / contain no-repeat}.form-success{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.form-success:before{-webkit-mask:var(--icon-check-circle) center / contain no-repeat;mask:var(--icon-check-circle) center / contain no-repeat;-webkit-mask:var(--icon-check-circle) center / contain no-repeat}.form-error button{color:inherit;font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-weight:600;text-decoration:underline}.segmented-control{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;display:inline-grid}.segmented-control-block{width:100%;display:grid}.segmented-control button{height:calc(var(--control-h) - 8px);border-radius:calc(var(--radius-md) - 3px);color:var(--muted-fg);font-family:var(--font-ui);white-space:nowrap;cursor:pointer;transition:background-color var(--dur), color var(--dur), box-shadow var(--dur);background:0 0;border:0;padding:0 .875rem;font-size:.8125rem;font-weight:500}.segmented-control button:hover:not(.active):not(:disabled){color:var(--fg)}.segmented-control button.active{background:var(--bg);color:var(--fg);box-shadow:var(--shadow-sm), 0 0 0 1px var(--border)}.segmented-control button:focus-visible{box-shadow:var(--focus-ring);outline:none}.segmented-control button:disabled{cursor:not-allowed;opacity:.6}.badge{border:1px solid var(--border);background:var(--surface-2);height:1.375rem;color:var(--muted-fg);font-family:var(--font-ui);white-space:nowrap;border-radius:999px;align-items:center;gap:.375rem;padding:0 .5rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.badge-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.badge-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.badge-accent{background:var(--accent-muted);border-color:var(--accent-border);color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.chart-placeholder,.chart-loading,.chart-error,.chart-warning{border-radius:var(--radius-md);background:var(--surface-sunken);min-height:220px;color:var(--muted-fg);font-family:var(--font-ui);text-align:center;animation:fade-in var(--dur) ease-out;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1.5rem;font-size:.875rem;line-height:1.5;display:flex}.chart-placeholder:before,.chart-error:before,.chart-warning:before{content:"";background:var(--icon-inbox) center / 18px no-repeat, var(--surface-2);border-radius:50%;width:40px;height:40px}.chart-loading:before{content:"";border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.chart-error{color:var(--danger-dark)}.chart-error:before{background:var(--icon-alert-danger) center / 18px no-repeat, var(--danger-bg)}.chart-warning:before{background:var(--icon-info) center / 18px no-repeat, var(--warning-bg)}.chart-placeholder-stack{gap:.875rem}.empty-title{color:var(--fg);font-family:var(--font-ui);letter-spacing:0;margin:0;font-size:.9375rem;font-weight:600}.empty-text{max-width:44ch;margin:-.5rem 0 0}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-sunken) 45%, var(--surface-2) 80%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.header-menu{align-items:center;display:inline-flex;position:relative}.header-menu-avatar{background:var(--accent);width:32px;height:32px;color:var(--bg);font-family:var(--font-ui);letter-spacing:.02em;cursor:pointer;transition:box-shadow var(--dur), background-color var(--dur);border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:600;display:inline-flex}.header-menu-avatar:hover,.header-menu-avatar[aria-expanded=true]{box-shadow:0 0 0 3px var(--surface-2)}.header-menu-avatar:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);outline:none}.header-menu-dropdown,.actions-menu-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:menu-in var(--dur) var(--ease-out);padding:.3125rem}.header-menu-dropdown{z-index:80;transform-origin:100% 0;width:max-content;min-width:240px;max-width:320px;position:absolute;top:calc(100% + .5rem);right:0}.header-menu-userinfo{flex-direction:column;gap:.125rem;padding:.5rem .625rem .625rem;display:flex}.header-menu-userinfo-name{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.header-menu-userinfo-email{color:var(--muted-fg);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.header-menu-separator{background:var(--border);height:1px;margin:.25rem -.3125rem}.header-menu-item,.actions-menu-item{border-radius:var(--radius-sm);width:100%;height:2.125rem;color:var(--fg);font-family:var(--font-ui);text-align:left;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast), color var(--dur-fast);background:0 0;border:0;align-items:center;gap:.625rem;padding:0 .625rem;font-size:.875rem;font-weight:500;display:flex}.header-menu-item svg,.actions-menu-item svg{color:var(--muted-fg)}.actions-menu-item-current{font-weight:600}.actions-menu-item .actions-menu-item-check{box-sizing:content-box;color:var(--accent);margin-left:auto;padding-left:.75rem}.header-menu-item:hover,.header-menu-item:focus-visible,.actions-menu-item:hover:not(:disabled),.actions-menu-item:focus-visible:not(:disabled){background:var(--surface-2);outline:none}.header-menu-item-danger,.header-menu-item-danger svg,.actions-menu-item-danger,.actions-menu-item-danger svg{color:var(--danger)}.header-menu-item-danger:hover,.header-menu-item-danger:focus-visible,.actions-menu-item-danger:hover:not(:disabled),.actions-menu-item-danger:focus-visible:not(:disabled){background:var(--danger-bg);color:var(--danger-dark)}.actions-menu{align-items:center;display:inline-flex;position:relative}.actions-menu-trigger{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--muted-fg);cursor:pointer;transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.actions-menu-trigger:hover,.actions-menu-trigger[aria-expanded=true]{background:var(--surface-2);color:var(--fg)}.actions-menu-trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.actions-menu-dropdown{z-index:70;transform-origin:100% 0;width:max-content;min-width:180px;position:absolute;top:calc(100% + .375rem);right:0}.actions-menu-dropdown-portal{z-index:1000;position:fixed;top:0;right:0}.actions-menu-dropdown-up{transform-origin:100% 100%;transform:translateY(-100%)}.actions-menu-item:disabled{cursor:not-allowed;opacity:.5}.native-modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(600px,100% - 2rem);max-height:min(100dvh - 3rem,920px);color:var(--fg);box-shadow:var(--shadow-xl);flex-direction:column;margin:auto;padding:0;display:flex;overflow:hidden}.native-modal:not([open]){display:none}.native-modal[open]{animation:pop-in var(--dur-slow) var(--ease-out)}.native-modal::backdrop{-webkit-backdrop-filter:blur(3px);background:#102a2352}.native-modal[open]::backdrop{animation:fade-in var(--dur-slow) ease-out}.modal-sm{width:min(460px,100% - 2rem)}.modal-lg{width:min(760px,100% - 2rem)}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 1.75rem 1.25rem;display:flex}.modal-heading h2{font-size:1.25rem;line-height:1.3}.modal-heading p{color:var(--muted-fg);margin:.375rem 0 0;font-size:.875rem;line-height:1.45}.modal-close{margin:-.25rem -.5rem 0 0}.modal-form{flex-direction:column;flex:1;min-height:0;display:flex}.modal-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:1.375rem;min-height:0;padding:1.5rem 1.75rem 1.75rem;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--surface-sunken);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.625rem;padding:1rem 1.75rem;display:flex}.modal-footer-start{margin-right:auto}.confirm-body{padding:1.75rem 1.75rem 1.5rem}.confirm-title{font-size:1.125rem}.confirm-message{color:var(--muted-fg);margin:.5rem 0 0;font-size:.875rem;line-height:1.55}.chart-modal-backdrop{z-index:1200;-webkit-backdrop-filter:blur(3px);animation:fade-in var(--dur-slow) ease-out;background:#102a2352;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.chart-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(96vw,1440px);height:calc(100vh - 3rem);max-height:calc(100vh - 3rem);box-shadow:var(--shadow-xl);animation:pop-in var(--dur-slow) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.chart-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.chart-modal-header h2{letter-spacing:-.02em;margin:.125rem 0 0;font-size:1.25rem}.chart-modal-eyebrow{color:var(--muted-fg);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}.chart-modal-body{flex:1;min-height:0;padding:1rem 1.25rem 1.25rem;overflow:hidden}.chart-modal-body .chart-container{height:100%;min-height:0}.sensor-multi-trigger{min-width:200px;max-width:320px;height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--field-bg);box-shadow:var(--shadow-xs);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--dur-fast), box-shadow var(--dur-fast);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.375rem;padding:0 .625rem 0 .375rem;display:grid;position:relative}.sensor-multi-trigger:hover{border-color:var(--border-hover)}.sensor-multi-trigger[data-open=true]{border-color:var(--border-focus);box-shadow:var(--focus-ring)}.sensor-multi-trigger:has(.sensor-multi-open:focus-visible){border-color:var(--border-focus);box-shadow:var(--focus-ring)}.sensor-multi-open{border-radius:inherit;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.sensor-multi-open:focus-visible{outline:none}.sensor-multi-values{pointer-events:none;align-items:center;gap:.25rem;min-width:0;display:flex;overflow:hidden}.sensor-multi-placeholder{color:var(--subtle-fg);flex:1;padding-left:.375rem;font-size:.875rem}.sensor-chip{border:1px solid var(--accent-border);background:var(--accent-muted);min-width:0;height:1.5rem;color:var(--accent-dark);white-space:nowrap;border-radius:4px;align-items:center;gap:.125rem;padding:0 .125rem 0 .5rem;font-size:.8125rem;font-weight:500;display:inline-flex}.sensor-chip-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.sensor-chip-overflow{border-color:var(--border);background:var(--surface-2);color:var(--muted-fg);flex-shrink:0;padding:0 .4rem;font-size:.75rem}.sensor-chip-remove{width:1.125rem;height:1.125rem;color:var(--accent);opacity:.6;cursor:pointer;pointer-events:auto;transition:opacity var(--dur-fast), background-color var(--dur-fast);background:0 0;border:0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.sensor-chip-remove:hover{opacity:1;background:#143d311a}.sensor-chip-remove:focus-visible{opacity:1;box-shadow:var(--focus-ring);outline:none}.sensor-multi-caret{color:var(--muted-fg);pointer-events:none;transition:rotate var(--dur) var(--ease-out);display:inline-flex}.sensor-multi-trigger[data-open=true] .sensor-multi-caret{rotate:180deg}.sensor-dropdown{z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:240px;max-height:300px;box-shadow:var(--shadow-lg);transform-origin:0 0;animation:menu-in var(--dur) var(--ease-out);padding:.375rem;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.sensor-dropdown-search{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);margin:-.375rem -.375rem .375rem;padding:.375rem;position:sticky;top:-.375rem}.sensor-dropdown-item{border-radius:var(--radius-sm);color:var(--fg);font-family:var(--font-ui);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast);align-items:center;gap:.625rem;padding:.5rem .625rem;font-size:.875rem;display:flex}.sensor-dropdown-item:hover{background:var(--surface-2)}.sensor-dropdown-item:has(input:checked){background:color-mix(in srgb, var(--accent-muted) 75%, transparent)}.sensor-dropdown-item:has(input:checked):hover{background:var(--accent-muted)}.sensor-dropdown-item-label{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.sensor-dropdown-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sensor-dropdown-select-all{color:var(--muted-fg);margin-bottom:.25rem;font-weight:500}.sensor-dropdown-select-all:has(input:checked){background:0 0}.sensor-location-badge{border:1px solid var(--border);background:var(--surface-2);color:var(--muted-fg);white-space:nowrap;border-radius:4px;flex-shrink:0;margin-left:auto;padding:.125rem .375rem;font-size:.6875rem;font-weight:500}.sensor-dropdown-empty{color:var(--muted-fg);text-align:center;padding:1.25rem .75rem;font-size:.8125rem}.sensor-drawer-backdrop{z-index:1250;-webkit-backdrop-filter:blur(2px);animation:fade-in var(--dur) ease-out;background:#102a2347;position:fixed;inset:0}.sensor-drawer{background:var(--surface);border-left:1px solid var(--border);width:min(420px,100vw);box-shadow:var(--shadow-xl);animation:drawer-in var(--dur-slow) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.sensor-drawer-header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.125rem 1.25rem 1rem;display:flex}.sensor-drawer-header h2{font-size:1.125rem}.sensor-drawer-header p{color:var(--muted-fg);margin:.25rem 0 0;font-size:.8125rem}.sensor-drawer-search{padding:0 1.25rem .875rem}.sensor-drawer-toolbar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-sunken);justify-content:space-between;align-items:center;gap:.75rem;padding:.375rem .75rem .375rem 1.25rem;display:flex}.sensor-drawer-count{color:var(--muted-fg);white-space:nowrap;font-size:.8125rem}.sensor-drawer-toolbar-actions{align-items:center;gap:.25rem;display:flex}.sensor-drawer-list{flex:1;padding:.5rem .75rem;overflow-y:auto}.sensor-drawer-footer{border-top:1px solid var(--border);background:var(--surface-sunken);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:.875rem 1.25rem;display:flex}.sensor-drawer-footer>p{flex-basis:100%}.pair-section-heading{color:var(--muted-fg);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:.75rem .625rem .375rem;font-size:.75rem;font-weight:600}.sensor-drawer-list>.pair-section-heading{border-top:1px solid var(--border);margin-top:.5rem;padding-top:1rem}.pair-choice{align-items:flex-start}.pair-choice input[type=checkbox]{margin-top:3px}.pair-choice .sensor-dropdown-item-label{flex-direction:column;align-items:flex-start;gap:.125rem}.pair-choice-name{font-weight:500}.pair-member-labels{color:var(--muted-fg);overflow-wrap:anywhere;font-size:.75rem}.pair-filter-notice{color:var(--muted-fg);margin:0;font-size:.8125rem;line-height:1.45}.controls-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;margin-bottom:1.75rem;padding:.875rem 1rem;display:flex}.control-group{flex-direction:column;gap:.375rem;min-width:0;display:flex}.control-label{color:var(--muted-fg);white-space:nowrap;font-size:.75rem;font-weight:500}.date-range{align-items:center;gap:.5rem;display:flex}.date-range .input{width:9.5rem}.date-range-sep{color:var(--subtle-fg);font-size:.875rem}.controls-bar .input-time-window{width:8.5rem}.controls-bar-end{align-items:center;gap:.5rem;margin-left:auto;display:flex}.pair-selection-notice{border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--accent-muted);color:var(--accent-dark);animation:fade-in var(--dur) ease-out;justify-content:space-between;align-items:center;gap:1rem;margin:-.75rem 0 1.5rem;padding:.375rem .375rem .375rem .875rem;font-size:.8125rem;display:flex}.metric-section{margin-bottom:2rem}.metric-section-header{align-items:center;gap:.75rem;margin-bottom:.875rem;display:flex}.metric-section-header h2{letter-spacing:-.015em;font-size:1.1875rem}.metric-section-header:after{content:"";background:var(--border);flex:1;height:1px}.charts-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.chart-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);padding:1rem 1.25rem 1.25rem;position:relative}.chart-panel.full-width{margin-bottom:1.5rem}.panel-header{justify-content:space-between;align-items:center;gap:1rem;min-height:2rem;margin-bottom:.75rem;display:flex}.panel-title{letter-spacing:-.005em;font-size:.9375rem}.panel-subtitle{color:var(--muted-fg);margin:.125rem 0 0;font-size:.8125rem}.filters-section{flex-direction:column;gap:.375rem;display:flex}.filters-section-label{color:var(--fg);font-size:.8125rem;font-weight:500}.filters-section .control-group,.filters-section .control-group>div{width:100%}.filters-section .sensor-multi-trigger{width:100%;max-width:none}.filters-section .sensor-dropdown{width:100%;box-shadow:var(--shadow-sm);margin-top:.375rem;position:static}.filters-location-picker{flex-direction:column;gap:.375rem;display:flex}.filters-location-list{background:var(--field-bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);max-height:200px;padding:.25rem;overflow-y:auto}.filters-location-empty{color:var(--muted-fg);font-family:var(--font-ui);text-align:center;padding:1rem .75rem;font-size:.8125rem}.map-container{border:1px solid var(--border);border-radius:var(--radius-md);isolation:isolate;z-index:0;position:relative;overflow:hidden}.map-tiles-muted{filter:grayscale(.85)contrast(.9)brightness(1.05)}.leaflet-popup-content-wrapper{border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;background:var(--surface)!important;color:var(--fg)!important;box-shadow:var(--shadow-md)!important;font-family:var(--font-ui)!important;font-size:.8125rem!important}.leaflet-popup-content{color:var(--fg)!important;font-family:var(--font-ui)!important;margin:.75rem .875rem!important;line-height:1.5!important}.leaflet-popup-tip{background:var(--surface)!important}.leaflet-bar{overflow:hidden;border:1px solid var(--border-strong)!important;border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-sm)!important}.leaflet-control-zoom a{transition:background-color var(--dur-fast);border-color:var(--border)!important;background:var(--surface)!important;color:var(--fg)!important;font-family:var(--font-ui)!important;font-size:1rem!important}.leaflet-control-zoom a:hover{background:var(--surface-2)!important}.leaflet-control-attribution{color:var(--subtle-fg)!important;font-family:var(--font-ui)!important;background:#fffaf1d9!important;font-size:.625rem!important}.data-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);animation:fade-in var(--dur) ease-out;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;font-size:.875rem}.data-table th{background:var(--surface-sunken);border-bottom:1px solid var(--border);color:var(--muted-fg);letter-spacing:.01em;text-align:left;white-space:nowrap;padding:.625rem 1rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--fg);vertical-align:middle;padding:.75rem 1rem}.data-table tbody tr{transition:background-color var(--dur-fast)}.data-table tbody tr:hover{background:color-mix(in srgb, var(--surface-2) 40%, transparent)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .col-actions{text-align:right;white-space:nowrap;width:1%}.cell-strong{font-weight:500}.cell-sub{color:var(--muted-fg);margin-top:.125rem;font-size:.8125rem}.cell-mono{font-family:var(--font-mono);font-size:.75rem}.table-container{width:100%}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.875rem;display:flex}.table-meta{color:var(--muted-fg);font-size:.8125rem}.table-actions{align-items:center;gap:.75rem;display:flex}.pagination{color:var(--muted-fg);align-items:center;gap:.25rem;font-size:.8125rem;display:flex}.pagination-label{font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 .375rem}.table-grid-shell{width:100%;overflow:auto hidden}.table-grid{width:max-content;min-width:100%}.custom-header{align-items:center;gap:.25rem;width:100%;display:flex;overflow:hidden}.custom-header-label{min-width:0;color:var(--muted-fg);font-family:var(--font-ui);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--dur-fast);flex:1;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:inline-flex}.custom-header-label:hover{color:var(--fg)}.custom-header-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sort-indicator{color:var(--accent);flex-shrink:0;display:inline-flex}.custom-header-filter-btn,.custom-header-clear{cursor:pointer;width:1.5rem;height:1.5rem;transition:opacity var(--dur-fast), background-color var(--dur-fast), color var(--dur-fast);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.custom-header-filter-btn{color:var(--subtle-fg);opacity:0}.ag-header-cell:hover .custom-header-filter-btn,.ag-header-cell:focus-within .custom-header-filter-btn,.custom-header-filter-btn.is-active{opacity:1}.custom-header-filter-btn.is-active{color:var(--accent)}.custom-header-filter-btn:hover,.custom-header-clear:hover{background:var(--surface-2);color:var(--fg)}.custom-header-clear{color:var(--accent)}@media (hover:none){.custom-header-filter-btn{opacity:1}}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:196px;box-shadow:var(--shadow-sm);color:inherit;transition:border-color var(--dur), box-shadow var(--dur);flex-direction:column;gap:.375rem;padding:1.25rem;text-decoration:none;display:flex}.project-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.project-card:focus-visible{border-color:var(--border-focus);box-shadow:var(--focus-ring);outline:none}.project-card-head{justify-content:space-between;align-items:center;margin-bottom:.625rem;display:flex}.project-card-logo,.project-monogram{border-radius:var(--radius-md);flex-shrink:0;width:40px;height:40px}.project-card-logo{object-fit:contain;border:1px solid var(--border);background:#fff}.project-monogram{background:var(--accent-muted);border:1px solid var(--accent-border);color:var(--accent);font-family:var(--font-serif);letter-spacing:.02em;justify-content:center;align-items:center;font-size:.9375rem;font-weight:600;display:inline-flex}.project-card-arrow{color:var(--subtle-fg);transition:translate var(--dur) var(--ease-out), color var(--dur)}.project-card:hover .project-card-arrow{color:var(--accent);translate:3px}.project-card-name{letter-spacing:-.01em;font-size:1.0625rem;line-height:1.3}.project-card-desc{color:var(--muted-fg);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.project-card-desc-empty{color:var(--subtle-fg)}.project-card-meta{border-top:1px solid var(--border);color:var(--muted-fg);align-items:center;gap:.375rem;margin-top:auto;padding-top:.875rem;font-size:.8125rem;display:flex}.project-card-skeleton{pointer-events:none;box-shadow:none}.project-card-skeleton .skeleton-logo{width:40px;height:40px}.project-card-skeleton .skeleton-title{width:60%;height:18px;margin-bottom:.375rem}.project-card-skeleton .skeleton-line{width:90%;height:12px}.project-card-skeleton .skeleton-line-short{width:65%}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1rem 1.25rem}.stat-label{color:var(--muted-fg);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;display:flex}.stat-dot{background:var(--subtle-fg);border-radius:50%;width:8px;height:8px}.stat-dot-success{background:var(--success)}.stat-dot-danger{background:var(--danger)}.stat-value{font-family:var(--font-serif);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:.375rem;font-size:1.75rem;font-weight:600;line-height:1.1}.sensors-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.sensors-toolbar .input-with-icon{flex:260px;max-width:380px}.sensors-toolbar-end{align-items:center;gap:.5rem;margin-left:auto;display:flex}.sensors-updated{color:var(--muted-fg);white-space:nowrap;font-size:.8125rem}.pair-manager{margin-top:2.5rem}.setting-choice-list.pair-sensor-list{grid-template-columns:minmax(0,1fr)}.pair-manager .chart-placeholder,.pair-manager .chart-loading,.pair-manager .chart-error{min-height:160px}.member-add-section{margin-bottom:2rem;padding:1.25rem}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.inline-form .form-group{flex:260px;max-width:400px}.inline-form .form-group-narrow{flex:0 0 170px}.inline-form+.form-error{margin-top:1rem}.form-select-inline{width:auto;min-width:120px;height:var(--control-h-sm);font-size:.8125rem}.admin-action-error,.admin-action-notice{margin-bottom:1rem}.settings-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:2.5rem;display:grid}.settings-layout-single{grid-template-columns:minmax(0,1fr)}.settings-sidebar{top:calc(var(--header-h) + 1.5rem);flex-direction:column;gap:2px;display:flex;position:sticky}.settings-sidebar-item{border-radius:var(--radius-sm);height:2.25rem;color:var(--muted-fg);font-family:var(--font-ui);text-align:left;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast);background:0 0;border:0;align-items:center;padding:0 .75rem;font-size:.875rem;font-weight:500;display:flex}.settings-sidebar-item:hover{background:var(--surface-2);color:var(--fg)}.settings-sidebar-item-active{background:var(--surface-2);color:var(--fg);box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.settings-sidebar-item:focus-visible{box-shadow:var(--focus-ring);outline:none}.settings-panel{min-width:0}.settings-section{animation:fade-in var(--dur) ease-out;margin-bottom:1.5rem}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1.25rem 1.5rem}.settings-card-title{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:1rem;display:flex}.settings-card-desc{max-width:72ch;color:var(--muted-fg);margin:.3rem 0 0;font-size:.875rem;line-height:1.55}.settings-card-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;display:flex}.settings-card-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem;display:flex}.settings-card>.form-error{margin-top:1rem}.settings-form{flex-direction:column;gap:1rem;margin-top:1.25rem;display:flex}.settings-form .form-group{max-width:280px}.settings-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.settings-inline-form{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;animation:fade-in var(--dur) ease-out;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;padding:.75rem;display:flex}.settings-inline-form .input{width:140px}.settings-inline-form .form-error{flex-basis:100%}.settings-inline-label{color:var(--muted-fg);font-size:.8125rem}.mfa-enroll-grid{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;margin-top:1.25rem;display:flex}.mfa-qr{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;flex:none;padding:.5rem}.mfa-enroll-meta{flex:220px;min-width:0}.mfa-secret{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.06em;-webkit-user-select:all;user-select:all;word-break:break-all;margin-top:.5rem;padding:.5rem .75rem;font-size:.875rem;display:inline-block}.setting-group{margin-bottom:1.75rem}.setting-group-title{color:var(--muted-fg);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .75rem;font-size:.75rem;font-weight:600}.setting-row-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.setting-row-source{flex:none}.setting-row-controls{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.setting-row-controls>.input{width:180px}.setting-row-default{color:var(--muted-fg);font-size:.8125rem}.setting-row-default code{background:var(--surface-2);color:var(--fg);border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.setting-row-locked{color:var(--muted-fg);font-size:.8125rem}.setting-row-status{flex-direction:column;gap:.5rem;margin-top:.875rem;display:flex}.setting-row-status:empty{display:none}.setting-row-saved{color:var(--success);animation:fade-in var(--dur) ease-out;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;display:inline-flex}.setting-toggle-control{min-height:var(--control-h);color:var(--fg);cursor:pointer;align-items:center;gap:.625rem;font-size:.875rem;font-weight:500;display:inline-flex}.setting-toggle-control input{opacity:0;pointer-events:none;position:absolute}.setting-toggle-track{border:1px solid var(--border-hover);background:var(--surface-2);width:38px;height:22px;transition:background-color var(--dur) var(--ease-out), border-color var(--dur), box-shadow var(--dur);border-radius:999px;align-items:center;padding:2px;display:inline-flex}.setting-toggle-thumb{width:16px;height:16px;transition:translate var(--dur) var(--ease-out);background:#fff;border-radius:50%;box-shadow:0 1px 2px #102a2333}.setting-toggle-control input:checked+.setting-toggle-track{background:var(--accent);border-color:var(--accent)}.setting-toggle-control input:checked+.setting-toggle-track .setting-toggle-thumb{translate:16px}.setting-toggle-control input:focus-visible+.setting-toggle-track{box-shadow:var(--focus-ring)}.setting-toggle-control:has(input:disabled){cursor:not-allowed;opacity:.6}.setting-multiselect{flex-direction:column;gap:.75rem;display:flex}.setting-choice-list{background:var(--field-bg);border:1px solid var(--border-strong);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px;max-height:260px;margin:0;padding:.375rem;list-style:none;display:grid;overflow-y:auto}.setting-choice{border-radius:var(--radius-sm);cursor:pointer;min-width:0;transition:background-color var(--dur-fast);align-items:center;gap:.625rem;padding:.4375rem .5rem;font-size:.875rem;display:flex}.setting-choice:hover{background:var(--surface-2)}.setting-choice-label{min-width:0;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-weight:500;overflow:hidden}.backup-codes-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:560px;box-shadow:var(--shadow-sm);animation:fade-in var(--dur) ease-out;padding:1.5rem}.backup-codes-title{font-size:1.0625rem}.backup-codes-desc{color:var(--muted-fg);margin:.375rem 0 1.25rem;font-size:.875rem;line-height:1.55}.backup-codes-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.backup-code{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.04em;text-align:center;-webkit-user-select:all;user-select:all;padding:.5rem .625rem;font-size:.875rem}.backup-codes-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.backup-codes-ack{border-top:1px solid var(--border);color:var(--fg);cursor:pointer;align-items:center;gap:.625rem;margin-bottom:1.25rem;padding-top:1.25rem;font-size:.875rem;display:flex}.login-page{background:var(--bg);min-height:100vh}.login-split{grid-template-columns:1.05fr 1fr;width:100%;min-height:100vh;display:grid}.login-visual{background:var(--surface-2);color:var(--accent);flex-direction:column;padding:3rem 3rem 2.25rem;display:flex;position:relative;overflow:hidden}.login-visual:before{content:"";opacity:.55;pointer-events:none;background-image:radial-gradient(#143d312e 1px,#0000 1px);background-size:6px 6px;position:absolute;inset:0}.login-visual-inner{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.login-worldmap-wrap{aspect-ratio:1010/666;filter:drop-shadow(0 4px 14px #0f4c3a2e);width:100%;max-width:640px;animation:.6s ease-out fade-in;position:relative}.login-worldmap-img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.login-visual-footer{margin-top:1.5rem;position:relative}.login-visual-eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .4rem;font-size:.7rem;font-weight:600}.login-visual-title{max-width:28ch;color:var(--accent);font-family:var(--font-serif);margin:0;font-size:1.15rem;font-weight:500;line-height:1.35}.login-form-side{background:var(--bg);justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.login-card{width:100%;max-width:400px;color:var(--fg);animation:page-in var(--dur-slow) var(--ease-out)}.login-header{margin-bottom:2rem}.login-brand{align-items:center;gap:.75rem;margin-bottom:2.5rem;display:flex}.login-logo-img{object-fit:contain;width:auto;height:36px;display:block}.login-app-name{border-left:1px solid var(--border-hover);color:var(--accent);font-family:var(--font-serif);letter-spacing:.01em;padding-left:.75rem;font-size:1.05rem;font-weight:600;line-height:1.5}.login-eyebrow{color:var(--accent-2);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .6rem;font-size:.72rem;font-weight:600}.login-welcome{letter-spacing:-.02em;font-size:2.125rem;line-height:1.1}.login-subtitle{color:var(--muted-fg);margin:.75rem 0 0;font-size:.9375rem;line-height:1.55}.login-form{flex-direction:column;gap:1.125rem;display:flex}.login-page .form-group input:not([type=checkbox]){height:var(--control-h-lg)}.login-form .btn-primary{margin-top:.375rem}.login-links{flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;margin-top:.25rem;display:flex}.login-link{color:var(--accent);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast), color var(--dur-fast);font-size:.8125rem;font-weight:500;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.login-link:hover{color:var(--accent-dark);text-decoration-color:currentColor}.login-link:focus-visible{box-shadow:var(--focus-ring);border-radius:2px;outline:none}.access-denied{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.access-denied-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:460px;box-shadow:var(--shadow-md);text-align:center;animation:pop-in var(--dur-slow) var(--ease-out);padding:2.25rem 2rem}.access-denied-card h1{margin:0 0 .625rem;font-size:1.375rem}.access-denied-card p{color:var(--muted-fg);margin:0;font-size:.9rem;line-height:1.55}@media (width<=1024px){.charts-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){.login-split{grid-template-columns:1fr}.login-visual{display:none}.login-form-side{padding:2.5rem 1.5rem}}@media (width<=768px){.app-header-bar{padding:0 1rem}.app-brand-name{display:none}.page{padding:1.25rem 1rem 3rem}.page-header,.section-header{flex-direction:column;align-items:stretch;gap:1rem}.page-title{font-size:1.375rem}.settings-layout{grid-template-columns:minmax(0,1fr);gap:1rem}.settings-sidebar{border-bottom:1px solid var(--border);flex-direction:row;padding-bottom:.5rem;position:static;overflow-x:auto}.settings-sidebar-item-active{box-shadow:none}.stat-grid{gap:.5rem}.stat-card{padding:.75rem .875rem}.stat-value{font-size:1.375rem}.sensors-toolbar .input-with-icon{max-width:none}.sensors-toolbar-end{margin-left:0}.controls-bar{padding:.75rem}.controls-bar-end{margin-left:0}.inline-form .form-group,.inline-form .form-group-narrow{flex:100%;max-width:none}.inline-form .btn{width:100%}.chart-panel{padding:.875rem 1rem 1rem}.chart-modal-backdrop{padding:.75rem}.chart-modal{width:100%;height:calc(100vh - 1.5rem);max-height:calc(100vh - 1.5rem)}.chart-modal-header{padding:.875rem 1rem}.chart-modal-body{padding:.75rem .875rem 1rem}.modal-header,.modal-body,.modal-footer,.confirm-body{padding-left:1.125rem;padding-right:1.125rem}}@media (width<=520px){.breadcrumbs li:not(:nth-last-child(-n+2)){display:none}.form-row{grid-template-columns:minmax(0,1fr)}.control-group{width:100%}.sensor-multi-trigger{width:100%;max-width:none}.date-range .input{flex:1;width:auto;min-width:0}.controls-bar .input-time-window{width:100%}.stat-label{font-size:.75rem}}.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;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.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{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{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;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:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.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}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.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}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.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}.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;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position: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:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.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-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);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{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;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{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.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{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.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{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.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}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.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{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
