:root{--color-accent: #8b5cf6;--color-accent-strong: #7c3aed;--color-accent-bg-soft: rgba(139, 92, 246, .1);--color-accent-bg-softer: rgba(139, 92, 246, .08);--color-accent-bg-faint: rgba(139, 92, 246, .06);--color-accent-bg-strong: rgba(139, 92, 246, .25);--color-accent-border-soft: rgba(139, 92, 246, .2);--color-accent-border-strong: rgba(139, 92, 246, .4);--color-accent-text-soft: #ddd6fe;--color-accent-text-softer: #c4b5fd;--gradient-accent: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);--color-bg: #ffffff;--color-bg-muted: #f9fafb;--color-bg-elevated: #f3f4f6;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-text: #111827;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--color-text-faint: #9ca3af;--color-success: #16a34a;--color-success-strong: #15803d;--color-success-bg-soft: rgba(34, 197, 94, .1);--color-success-bg-softer: rgba(34, 197, 94, .12);--color-warning: #b45309;--color-warning-bg-soft: rgba(245, 158, 11, .1);--color-warning-bg-softer: rgba(245, 158, 11, .12);--color-danger: #b91c1c;--color-danger-bg-soft: rgba(239, 68, 68, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 16px;--radius-3xl: 20px;--radius-pill: 9999px;--shadow-xs: 0 2px 8px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .4);--shadow-accent: 0 4px 12px rgba(139, 92, 246, .3);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-snappy: .2s cubic-bezier(.16, 1, .3, 1);--z-shell: 100;--z-drawer: 200;--z-modal: 1000;--touch-target-min: 44px}html,body,.appshell-main,.expand-modal-body,.dashboard-widget-body,[class*=-scroll]{scrollbar-width:thin;scrollbar-color:#d1d5db transparent}html::-webkit-scrollbar,body::-webkit-scrollbar,.appshell-main::-webkit-scrollbar,.expand-modal-body::-webkit-scrollbar,.dashboard-widget-body::-webkit-scrollbar,[class*=-scroll]::-webkit-scrollbar{width:6px;height:6px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.appshell-main::-webkit-scrollbar-track,.expand-modal-body::-webkit-scrollbar-track,.dashboard-widget-body::-webkit-scrollbar-track,[class*=-scroll]::-webkit-scrollbar-track{background:transparent}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.appshell-main::-webkit-scrollbar-thumb,.expand-modal-body::-webkit-scrollbar-thumb,.dashboard-widget-body::-webkit-scrollbar-thumb,[class*=-scroll]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,.appshell-main::-webkit-scrollbar-thumb:hover,.expand-modal-body::-webkit-scrollbar-thumb:hover,.dashboard-widget-body::-webkit-scrollbar-thumb:hover,[class*=-scroll]::-webkit-scrollbar-thumb:hover{background:#9ca3af}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-left-2{left:-.5rem}.-top-2{top:-.5rem}.bottom-24{bottom:6rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:.125rem}.left-1\/2{left:50%}.left-3{left:.75rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-96{right:24rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[1001\]{z-index:1001}.z-\[1\]{z-index:1}.z-\[2000\]{z-index:2000}.z-\[500\]{z-index:500}.z-\[999\]{z-index:999}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.ml-\[-50px\]{margin-left:-50px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-3{margin-right:.75rem}.mr-\[-50px\]{margin-right:-50px}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-video{aspect-ratio:16 / 9}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0px}.max-h-48{max-height:12rem}.max-h-\[180px\]{max-height:180px}.max-h-\[280px\]{max-height:280px}.max-h-\[500px\]{max-height:500px}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\/3{width:66.666667%}.w-24{width:6rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-96{width:24rem}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[100px\]{min-width:100px}.min-w-\[140px\]{min-width:140px}.max-w-0{max-width:0px}.max-w-\[200px\]{max-width:200px}.max-w-\[calc\(100\%-60px\)\]{max-width:calc(100% - 60px)}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[16px\]{--tw-translate-x: 16px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-y-90{--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r-0{border-right-width:0px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-100\/50{border-color:#f3f4f680}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-200\/50{border-color:#e5e7eb80}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.border-orange-600{--tw-border-opacity: 1;border-color:rgb(234 88 12 / var(--tw-border-opacity, 1))}.border-orange-900{--tw-border-opacity: 1;border-color:rgb(124 45 18 / var(--tw-border-opacity, 1))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-purple-400{--tw-border-opacity: 1;border-color:rgb(192 132 252 / var(--tw-border-opacity, 1))}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity, 1))}.border-slate-600\/50{border-color:#47556980}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.border-white\/40{border-color:#fff6}.bg-\[\#8b5cf6\]{--tw-bg-opacity: 1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-black\/0{background-color:#0000}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-100\/60{background-color:#f3f4f699}.bg-gray-100\/80{background-color:#f3f4f6cc}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-50\/95{background-color:#f9fafbf2}.bg-gray-700\/30{background-color:#3741514d}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-gray-900\/90{background-color:#111827e6}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-500\/50{background-color:#6366f180}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-100\/60{background-color:#f3e8ff99}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/40{background-color:#fff6}.bg-white\/50{background-color:#ffffff80}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-black\/25{--tw-gradient-from: rgb(0 0 0 / .25) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-800{--tw-gradient-from: #1e293b var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-slate-700{--tw-gradient-to: #334155 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.fill-blue-600{fill:#2563eb}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-7{padding:1.75rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.pr-8{padding-right:2rem}.pt-14{padding-top:3.5rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-cyan-500{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-violet-500{--tw-text-opacity: 1;color:rgb(139 92 246 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.placeholder-gray-600::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(75 85 99 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-600::placeholder{--tw-placeholder-opacity: 1;color:rgb(75 85 99 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-purple-200\/50{--tw-shadow-color: rgb(233 213 255 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/30{--tw-shadow-color: rgb(239 68 68 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-500\/30{--tw-ring-color: rgb(59 130 246 / .3)}.ring-purple-400\/50{--tw-ring-color: rgb(192 132 252 / .5)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur: blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-0{transition-delay:0s}.delay-100{transition-delay:.1s}.delay-300{transition-delay:.3s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;width:100%;height:100vh;overflow:hidden}#root{width:100%;height:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.maplibregl-popup{z-index:1000;pointer-events:none!important}.custom-popup-container .maplibregl-popup-content{background:transparent;box-shadow:none;padding:0;border-radius:16px;pointer-events:none}.maplibregl-popup-tip{display:none!important}.custom-popup{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:12px;padding:0;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;min-width:220px;max-width:250px;overflow:hidden;animation:popup-in .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}@keyframes popup-in{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-up{0%{opacity:0;transform:translate(-50%) translateY(100%)}to{opacity:1;transform:translate(-50%) translateY(0)}}.animate-toast-up{animation:toast-up .3s ease-out forwards}@keyframes toast-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(10px)}}.animate-toast-out{animation:toast-out .4s ease-in forwards}.popup-image-container{width:100%;height:120px;background-color:#f3f4f6}.popup-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.popup-content{padding:12px}.popup-title{font-size:14px;font-weight:600;color:#111827;margin-bottom:4px;line-height:1.25}.popup-info{display:flex;gap:8px;margin-bottom:6px;font-size:12px;color:#6b7280}.popup-type{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-weight:500}.popup-loc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.popup-price{font-size:15px;font-weight:700;color:#2563eb}.marker-highlighted{z-index:999!important;filter:drop-shadow(0 0 8px rgba(239,68,68,.8)) drop-shadow(0 0 16px rgba(239,68,68,.5));transform:scale(1.4);transition:transform .3s ease,filter .3s ease}.marker-highlighted svg{fill:#ef4444!important}.poi-marker{cursor:pointer;z-index:100;transition:transform .2s ease}.poi-marker:hover{z-index:1000!important;transform:scale(1.15)}.poi-marker .group:hover>div:last-child{display:block!important}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.hover\:w-40:hover{width:10rem}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-400:hover{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.hover\:border-orange-400:hover{--tw-border-opacity: 1;border-color:rgb(251 146 60 / var(--tw-border-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200\/60:hover{background-color:#e5e7eb99}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-200:hover{--tw-bg-opacity: 1;background-color:rgb(233 213 255 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-200\/60:hover{background-color:#e9d5ff99}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50\/80:hover{background-color:#fef2f2cc}.hover\:bg-white\/40:hover{background-color:#fff6}.hover\:bg-white\/50:hover{background-color:#ffffff80}.hover\:bg-white\/60:hover{background-color:#fff9}.hover\:bg-white\/70:hover{background-color:#ffffffb3}.hover\:bg-white\/90:hover{background-color:#ffffffe6}.hover\:from-slate-700:hover{--tw-gradient-from: #334155 var(--tw-gradient-from-position);--tw-gradient-to: rgb(51 65 85 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-slate-600:hover{--tw-gradient-to: #475569 var(--tw-gradient-to-position)}.hover\:px-4:hover{padding-left:1rem;padding-right:1rem}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\:text-purple-700:hover{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.active\:scale-110:active{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .group-hover\:ml-2{margin-left:.5rem}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:max-h-\[800px\]{max-height:800px}.group:hover .group-hover\:max-w-xs{max-width:20rem}.group:hover .group-hover\:-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-y-100{--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-black\/20{background-color:#0003}.group\/item:hover .group-hover\/item\:text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:768px){.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-80{width:20rem}.md\:w-\[450px\]{width:450px}.md\:w-auto{width:auto}.md\:max-w-none{max-width:none}.md\:gap-4{gap:1rem}}.notif-panel-backdrop{position:fixed;inset:0;background:#00000059;z-index:1100;display:flex;justify-content:flex-end}.notif-panel{width:clamp(320px,30vw,420px);background:var(--color-bg);border-left:1px solid var(--color-border);height:100vh;display:flex;flex-direction:column;box-shadow:-16px 0 32px #0000002e;animation:notif-panel-slide-in .18s var(--transition-snappy, ease-out)}@keyframes notif-panel-slide-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.notif-panel-header h2{margin:0;font-size:1.05rem;font-weight:600;color:var(--color-text)}.notif-panel-close{background:transparent;border:0;color:var(--color-text-muted);cursor:pointer;width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.notif-panel-close:hover{background:#0000000d}.notif-panel-tabs{display:flex;align-items:center;gap:6px;padding:10px 16px;border-bottom:1px solid var(--color-border)}.notif-panel-tab{background:transparent;border:0;padding:6px 10px;border-radius:6px;font-size:.85rem;color:var(--color-text-muted);cursor:pointer}.notif-panel-tab.is-active{background:#8b5cf61f;color:var(--color-accent-strong);font-weight:600}.notif-panel-mark-all{margin-inline-start:auto;background:transparent;border:0;color:var(--color-accent-strong);font-size:.8rem;cursor:pointer;padding:4px 6px;border-radius:4px}.notif-panel-mark-all:hover{background:#8b5cf614}.notif-panel-body{flex:1;overflow-y:auto;padding:8px 0}.notif-panel-loading,.notif-panel-empty,.notif-panel-error{margin:16px 20px;color:var(--color-text-muted);font-size:.9rem}.notif-panel-error{color:var(--color-danger, #dc2626)}.notif-panel-list{list-style:none;margin:0;padding:0}.notif-panel-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 20px;background:transparent;border:0;border-top:1px solid var(--color-border);color:var(--color-text);text-align:start;cursor:pointer;transition:background .15s ease}.notif-panel-row:hover{background:#00000008}.notif-panel-row.is-unread{background:#8b5cf60f;font-weight:600}.notif-panel-row-kind{font-size:.92rem}.notif-panel-row-time{color:var(--color-text-muted);font-size:.78rem;font-weight:400;flex-shrink:0}.notif-bell{position:relative;background:transparent;border:1px solid var(--color-border);border-radius:8px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.notif-bell:hover{background:#8b5cf614;border-color:var(--color-accent-strong)}.notif-bell:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.notif-bell-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--color-bg)}.quick-note-overlay-root{pointer-events:none}.quick-note-overlay-root>*{pointer-events:auto}.quick-note-overlay-icon{position:fixed;bottom:24px;right:96px;width:56px;height:56px;border-radius:9999px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-accent);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);z-index:1100;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.quick-note-overlay-icon:hover{background:var(--color-accent-bg-faint, rgba(139, 92, 246, .06));box-shadow:var(--shadow-xl);transform:translateY(-1px)}.quick-note-overlay-icon:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.quick-note-overlay-icon[aria-expanded=true]{background:var(--color-accent-bg-soft, rgba(139, 92, 246, .1))}.quick-note-overlay-panel{position:fixed;bottom:96px;right:24px;width:min(560px,calc(100vw - 32px));height:min(460px,calc(100vh - 140px));background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:1100;display:flex;flex-direction:column;overflow:hidden;animation:quick-note-overlay-pop .15s ease-out}@keyframes quick-note-overlay-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.quick-note-overlay-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--color-border);background:#fef08a1a}.quick-note-overlay-title{margin:0;font-size:.9rem;font-weight:600;color:var(--color-text);display:inline-flex;align-items:center;gap:6px}.quick-note-overlay-status-slot{justify-self:end;min-width:0}.quick-note-status{font-size:.65rem;padding:2px 8px;border-radius:9999px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.quick-note-status--saving{color:var(--color-text-muted);background:#0000000a}.quick-note-status--saved{color:var(--color-success-strong, #15803d);background:#22c55e1f}.quick-note-overlay-close{background:transparent;border:none;color:var(--color-text-muted);width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.quick-note-overlay-close:hover{background:var(--color-bg-muted);color:var(--color-text)}.quick-note-overlay-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.quick-note-overlay-body{flex:1 1 auto;display:flex;padding:0;min-height:0}.quick-note-overlay-grid{flex:1 1 auto;display:grid;grid-template-columns:190px 1fr;min-height:0;width:100%}.quick-note-overlay-list{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--color-border);background:var(--color-bg-muted, #f9fafb)}.quick-note-overlay-list-header{padding:8px 10px;border-bottom:1px solid var(--color-border);flex:0 0 auto}.quick-note-overlay-new-button{width:100%;border:1px dashed var(--color-border-strong, #d1d5db);background:var(--color-bg);color:var(--color-accent-strong, #6d28d9);border-radius:var(--radius-md, 8px);padding:6px 10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:.78rem;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.quick-note-overlay-new-button:hover{background:var(--color-accent-bg-soft, rgba(139, 92, 246, .1));border-color:var(--color-accent, #8b5cf6);color:var(--color-accent, #8b5cf6)}.quick-note-overlay-new-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.quick-note-overlay-list-body{list-style:none;margin:0;padding:4px 0;flex:1 1 auto;overflow-y:auto;min-height:0}.quick-note-overlay-row{margin:0}.quick-note-overlay-row-button{width:100%;background:transparent;border:0;text-align:left;padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:inherit;font:inherit;transition:background-color .12s ease}.quick-note-overlay-row-button:hover{background:var(--color-bg-elevated, #f3f4f6)}.quick-note-overlay-row.is-active .quick-note-overlay-row-button{background:var(--color-accent-bg-soft, rgba(139, 92, 246, .1))}.quick-note-overlay-row.is-active .quick-note-overlay-row-title{color:var(--color-accent-strong, #6d28d9)}.quick-note-overlay-row-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.quick-note-overlay-row-title{font-size:.82rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-note-overlay-row-meta{font-size:.7rem;color:var(--color-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.quick-note-overlay-editor{display:flex;flex-direction:column;min-height:0;padding:10px 12px 0;position:relative}.quick-note-overlay-editor--empty{align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.quick-note-overlay-empty-text{margin:0;color:var(--color-text-muted);font-size:.9rem}.quick-note-overlay-empty-cta{display:inline-flex;align-items:center;gap:6px;background:var(--color-accent-bg-soft, rgba(139, 92, 246, .1));border:1px solid var(--color-accent-border-soft, rgba(139, 92, 246, .2));color:var(--color-accent-strong, #6d28d9);border-radius:9999px;padding:6px 14px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.quick-note-overlay-empty-cta:hover{background:var(--color-accent-bg-strong, rgba(139, 92, 246, .25));color:#fff}.quick-note-overlay-editor-actions{display:flex;justify-content:flex-end;margin-bottom:4px}.quick-note-overlay-delete-button{background:transparent;border:0;color:var(--color-text-muted);width:26px;height:26px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.quick-note-overlay-delete-button:hover{background:#dc26261a;color:var(--color-danger, #b91c1c)}.quick-note-overlay-delete-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.quick-note-overlay-title-input{border:0;background:transparent;color:var(--color-text);font-family:inherit;font-size:1rem;font-weight:600;padding:4px 4px 6px;outline:none;margin-bottom:6px;border-bottom:1px solid transparent;transition:border-color .15s ease}.quick-note-overlay-title-input:focus-visible{border-bottom-color:var(--color-border)}.quick-note-overlay-title-input::-moz-placeholder{color:var(--color-text-faint, #9ca3af);font-weight:500}.quick-note-overlay-title-input::placeholder{color:var(--color-text-faint, #9ca3af);font-weight:500}.quick-note-overlay-body-textarea{flex:1 1 auto;margin-bottom:10px}.quick-note-overlay-confirm{position:absolute;left:0;right:0;bottom:0;padding:8px 12px;background:var(--color-bg);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:8px;animation:quick-note-overlay-confirm-up .18s ease-out}@keyframes quick-note-overlay-confirm-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.quick-note-overlay-confirm-text{font-size:.82rem;color:var(--color-text);font-weight:500}.quick-note-overlay-confirm-actions{display:inline-flex;align-items:center;gap:6px}.quick-note-overlay-confirm-cancel{background:transparent;border:0;color:var(--color-text-muted);font:inherit;font-size:.78rem;padding:4px 10px;border-radius:9999px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.quick-note-overlay-confirm-cancel:hover{background:var(--color-bg-muted);color:var(--color-text)}.quick-note-overlay-confirm-delete{background:#dc26261a;border:0;color:var(--color-danger, #b91c1c);font:inherit;font-size:.78rem;font-weight:600;padding:4px 12px;border-radius:9999px;cursor:pointer;transition:background-color .15s ease}.quick-note-overlay-confirm-delete:hover{background:#dc262633}.quick-note-state{padding:12px 14px;color:var(--color-text-muted);font-size:.85rem;line-height:1.4}.quick-note-error{color:var(--color-danger, #b91c1c);display:inline-flex;align-items:center;gap:6px}.quick-note-textarea{flex:1 1 auto;width:100%;resize:none;border:0;background:#fef08a2e;color:var(--color-text);font-family:inherit;font-size:.88rem;line-height:1.45;padding:12px 14px;border-radius:var(--radius-md);outline:none}.quick-note-textarea:focus-visible{background:#fef08a52}.quick-note-textarea::-moz-placeholder{color:var(--color-text-muted);font-style:italic}.quick-note-textarea::placeholder{color:var(--color-text-muted);font-style:italic}@media(max-width:767px){.quick-note-overlay-icon{bottom:calc(var(--appshell-bottomnav-height, 64px) + 16px);right:16px}.quick-note-overlay-panel{bottom:calc(var(--appshell-bottomnav-height, 64px) + 88px);right:16px;left:16px;width:auto}.quick-note-overlay-grid{grid-template-columns:1fr;grid-template-rows:96px 1fr}.quick-note-overlay-list{border-right:0;border-bottom:1px solid var(--color-border)}.quick-note-overlay-list-body{display:flex;overflow-x:auto;overflow-y:hidden;padding:4px 8px}.quick-note-overlay-row{flex:0 0 auto;margin-right:4px}.quick-note-overlay-row-button{min-width:130px}}:root{--appshell-sidebar-width: 240px;--appshell-bottomnav-height: 64px;--appshell-accent: var(--color-accent);--appshell-border: var(--color-border);--appshell-bg: var(--color-bg);--appshell-bg-muted: var(--color-bg-muted);--appshell-text: var(--color-text);--appshell-text-muted: var(--color-text-muted);--appshell-z-shell: 100;--appshell-z-drawer: 200}.appshell{position:relative;z-index:1;min-height:100vh;background:var(--appshell-bg-muted);color:var(--appshell-text)}.appshell[data-route=map],.appshell[data-route=map] .appshell-main{background:transparent;pointer-events:none}.appshell[data-route=map] .appshell-sidebar,.appshell[data-route=map] .appshell-hamburger,.appshell[data-route=map] .appshell-drawer-backdrop,.appshell[data-route=map] .appshell-drawer,.appshell[data-route=map] .appshell-bottomnav{pointer-events:auto}.appshell-sidebar{position:fixed;inset:0 auto 0 0;width:var(--appshell-sidebar-width);background:var(--appshell-bg);border-right:1px solid var(--appshell-border);overflow-y:auto;z-index:var(--appshell-z-shell)}.appshell-sidebar-inner{display:flex;flex-direction:column;padding:16px 12px;gap:16px;height:100%}.appshell-brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 12px;border-bottom:1px solid var(--appshell-border)}.appshell-brand{font-size:1.05rem;font-weight:600;color:var(--appshell-text)}.appshell-nav{display:flex;flex-direction:column;gap:4px}.appshell-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:var(--appshell-text-muted);font-size:.95rem;text-align:left;transition:background-color .15s ease,color .15s ease;min-height:44px}.appshell-nav-item:hover{background:var(--appshell-bg-muted);color:var(--appshell-text)}.appshell-nav-item.is-active{background:#8b5cf61a;color:var(--appshell-accent);font-weight:600}.appshell-nav-item:focus-visible{outline:2px solid var(--appshell-accent);outline-offset:1px}.appshell-main{margin-left:var(--appshell-sidebar-width);height:100vh;overflow-y:auto}.appshell-hamburger{display:none;position:fixed;top:12px;left:12px;width:44px;height:44px;border:1px solid var(--appshell-border);border-radius:8px;background:var(--appshell-bg);color:var(--appshell-text);cursor:pointer;align-items:center;justify-content:center;z-index:var(--appshell-z-shell);transition:background-color .15s ease,box-shadow .15s ease}.appshell-hamburger:hover{background:var(--appshell-bg-muted);box-shadow:0 2px 8px #0000000f}.appshell-drawer-backdrop{position:fixed;inset:0;background:#0006;z-index:var(--appshell-z-drawer);animation:appshell-fade-in .15s ease-out}.appshell-drawer{position:fixed;inset:0 auto 0 0;width:min(280px,80vw);background:var(--appshell-bg);border-right:1px solid var(--appshell-border);overflow-y:auto;box-shadow:4px 0 16px #00000014;animation:appshell-slide-in .2s cubic-bezier(.16,1,.3,1)}.appshell-drawer-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:none;border-radius:8px;background:transparent;color:var(--appshell-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease}.appshell-drawer-close:hover{background:var(--appshell-bg-muted)}.appshell-bottomnav{display:none;position:fixed;inset:auto 0 0;height:var(--appshell-bottomnav-height);background:var(--appshell-bg);border-top:1px solid var(--appshell-border);z-index:var(--appshell-z-shell)}.appshell-bottomnav-list{display:flex;list-style:none;margin:0;padding:0;height:100%;align-items:center;justify-content:space-around}.appshell-bottomnav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border:none;background:transparent;cursor:pointer;color:var(--appshell-text-muted);font-size:.7rem;transition:color .15s ease;min-width:56px;min-height:44px}.appshell-bottomnav-item:hover{color:var(--appshell-text)}.appshell-bottomnav-item.is-active{color:var(--appshell-accent)}.appshell-bottomnav-item:focus-visible{outline:2px solid var(--appshell-accent);outline-offset:1px;border-radius:4px}@keyframes appshell-fade-in{0%{opacity:0}to{opacity:1}}@keyframes appshell-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(max-width:1023px){.appshell-sidebar{display:none}.appshell-main{margin-left:0;padding-top:56px}.appshell-hamburger{display:flex}}@media(max-width:767px){.appshell-hamburger{display:none}.appshell-main{padding-top:0;padding-bottom:var(--appshell-bottomnav-height)}.appshell-bottomnav{display:block}.appshell-drawer{width:100vw}}.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0,0,0,0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media(hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}}.maplibregl-ctrl button:not(:disabled):active{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media(forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media(hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}.com-modal-root{pointer-events:auto}.com-accordion-container{border-radius:10px;border:1px solid #f3f4f6;margin-bottom:6px;transition:all .2s ease;background:#fff;overflow:hidden}.com-accordion-expanded{border-color:#e5e7eb;box-shadow:0 2px 8px #0000000f}.com-accordion-expanded .com-contact-row{border-bottom:1px solid #e5e7eb}.com-contact-row{display:flex;align-items:center;padding:10px 12px;gap:12px;cursor:pointer;transition:all .15s}.com-contact-row:hover{background:#f9fafb}.com-prefs-snippet{font-size:11px;color:#9ca3af;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.com-ai-search-btn{background:transparent;border:none;cursor:pointer;color:#9ca3af;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.com-ai-search-btn:hover{background:#ede9fe;color:#7c3aed}.com-chevron{color:#9ca3af;flex-shrink:0;padding:4px}.com-accordion-body{padding:14px 16px;background:#fafbfc}.com-accordion-info{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:12px;color:#4b5563;margin-bottom:12px}.com-accordion-info strong{color:#6b7280;font-weight:500}.com-conversation-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;margin-bottom:12px}.com-conversation-header{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.com-conversation-header svg{color:#8b5cf6}.com-conv-count{margin-left:auto;background:#f3f4f6;color:#6b7280;font-size:10px;font-weight:600;padding:1px 6px;border-radius:10px}.com-conversations-list{display:flex;flex-direction:column;gap:2px;margin-bottom:8px;max-height:200px;overflow-y:auto}.com-conversation-entry{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:6px;background:#f9fafb;border:1px solid #f3f4f6;transition:all .15s}.com-conversation-entry:hover{background:#f3f4f6;border-color:#e5e7eb}.com-drag-handle{cursor:grab;color:#d1d5db;background:none;border:none;padding:2px;display:flex;align-items:center;flex-shrink:0}.com-drag-handle:active{cursor:grabbing}.com-entry-source-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;flex-shrink:0}.com-source-search{background:#eff6ff;color:#3b82f6}.com-source-manual{background:#fffbeb;color:#f59e0b}.com-entry-text{flex:1;font-size:11px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;cursor:text;border-radius:3px;padding:1px 3px}.com-entry-text:hover{background:#f3f4f6}.com-entry-edit-input{flex:1;font-size:11px;color:#374151;min-width:0;border:1px solid #a78bfa;border-radius:3px;padding:1px 3px;outline:none;background:#faf5ff}.com-entry-date{font-size:9px;color:#9ca3af;flex-shrink:0;white-space:nowrap}.com-entry-delete{background:none;border:none;cursor:pointer;color:#d1d5db;padding:2px;display:flex;align-items:center;border-radius:4px;transition:all .15s;flex-shrink:0}.com-entry-delete:hover{color:#ef4444;background:#fef2f2}.com-add-entry-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:#8b5cf6;background:none;border:1px dashed #ddd6fe;border-radius:6px;padding:5px 10px;cursor:pointer;transition:all .15s;width:100%;justify-content:center}.com-add-entry-btn:hover{background:#f5f3ff;border-color:#c4b5fd}.com-add-entry-form{display:flex;flex-direction:column;gap:6px;margin-top:4px}.com-add-entry-input{width:100%;border:1px solid #e5e7eb;border-radius:6px;padding:6px 8px;font-size:11px;color:#111827;background:#fff;outline:none;font-family:inherit}.com-add-entry-input:focus{border-color:#8b5cf6}.com-add-entry-datepicker{position:relative}.com-add-entry-date-input{width:100%;border:1px solid #e5e7eb;border-radius:6px;padding:4px 8px;font-size:10px;color:#6b7280;background:#fff;outline:none;font-family:inherit;cursor:pointer}.com-add-entry-date-input:focus{border-color:#a78bfa}.com-add-entry-datepicker .react-datepicker-popper{z-index:9999}.com-add-entry-datepicker .react-datepicker{font-size:11px;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001f}.com-add-entry-datepicker .react-datepicker__time-list{scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.com-add-entry-datepicker .react-datepicker__time-list::-webkit-scrollbar{width:6px}.com-add-entry-datepicker .react-datepicker__time-list::-webkit-scrollbar-track{background:transparent}.com-add-entry-datepicker .react-datepicker__time-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.com-add-entry-datepicker .react-datepicker__time-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.com-add-entry-actions{display:flex;gap:6px;justify-content:flex-end}.com-add-entry-save{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;font-size:10px;font-weight:600;color:#fff;background:#111827;border:none;border-radius:5px;cursor:pointer}.com-add-entry-save:hover{background:#374151}.com-add-entry-save:disabled{opacity:.4;cursor:not-allowed}.com-add-entry-cancel{padding:3px 10px;font-size:10px;font-weight:500;color:#6b7280;background:none;border:1px solid #e5e7eb;border-radius:5px;cursor:pointer}.com-add-entry-cancel:hover{background:#f9fafb}.com-select-contact-btn{background:transparent;border:none;cursor:pointer;color:#9ca3af;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.com-select-contact-btn:hover{background:#ecfdf5;color:#059669}.com-accordion-stats{display:flex;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.com-stat-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#6b7280;background:#f3f4f6;padding:3px 10px;border-radius:9999px}.com-section-label{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.com-projects-list{display:flex;flex-direction:column;gap:12px}.com-project-block{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.com-project-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.com-project-link-btn{background:none;border:none;cursor:pointer;color:#7c3aed;font-weight:600;font-size:13px;padding:0;text-align:left;transition:color .15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.com-project-link-btn:hover{color:#5b21b6;text-decoration:underline}.com-purchase-score{position:relative;width:42px;height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.com-purchase-score-value{position:absolute;font-size:10px;font-weight:700;line-height:1}.com-generate-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;color:#fff;background:#111827;border:none;border-radius:6px;cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0}.com-generate-btn:hover{background:#374151}.com-generate-btn:disabled{opacity:.6;cursor:not-allowed}.com-reports-table{width:100%;border-collapse:collapse;font-size:11px}.com-reports-table th{text-align:left;font-size:10px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.4px;padding:5px 6px;border-bottom:1px solid #e5e7eb}.com-reports-table td{padding:6px;color:#374151;border-bottom:1px solid #f3f4f6;vertical-align:middle;white-space:nowrap}.com-reports-table tbody tr:last-child td{border-bottom:none}.com-reports-table tbody tr:hover{background:#f9fafb}.com-row-generating td{color:#d1d5db}.com-generating-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#f59e0b;font-weight:500}.com-no-reports-text{font-size:11px;color:#d1d5db;font-style:italic;margin:4px 0 0;padding:0}.com-view-report-link{display:inline-flex;align-items:center;gap:3px;color:#7c3aed;text-decoration:none;font-weight:500;font-size:11px;transition:color .15s}.com-view-report-link:hover{color:#5b21b6}.com-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 0;color:#9ca3af;gap:12px;flex:1}.com-empty-text{font-size:13px;color:#9ca3af;font-style:italic;text-align:center;padding:24px 0}:root{--fs-xs: clamp(10px, .6vw + 6px, 11px);--fs-sm: clamp(11px, .7vw + 6px, 13px);--fs-base: clamp(13px, .8vw + 7px, 15px);--fs-md: clamp(14px, .9vw + 8px, 16px);--fs-lg: clamp(16px, 1vw + 10px, 18px);--fs-xl: clamp(18px, 1.2vw + 11px, 22px);--fs-2xl: clamp(22px, 1.5vw + 14px, 28px);--fs-3xl: clamp(26px, 2vw + 14px, 34px);--fs-4xl: clamp(30px, 2.5vw + 16px, 42px);--space-xs: clamp(2px, .25vw + 1px, 4px);--space-sm: clamp(4px, .4vw + 2px, 8px);--space-md: clamp(8px, .6vw + 4px, 12px);--space-lg: clamp(12px, .8vw + 6px, 16px);--space-xl: clamp(16px, 1vw + 10px, 24px);--space-2xl: clamp(20px, 1.5vw + 12px, 32px);--space-3xl: clamp(28px, 2vw + 16px, 40px);--space-4xl: clamp(36px, 2.5vw + 20px, 56px);--btn-padding-y: clamp(8px, .6vw + 4px, 14px);--btn-padding-x: clamp(12px, 1vw + 8px, 24px);--border-radius-sm: clamp(4px, .3vw + 2px, 6px);--border-radius-md: clamp(6px, .4vw + 4px, 10px);--border-radius-lg: clamp(8px, .5vw + 6px, 12px);--sidebar-width: clamp(300px, 25vw, 400px);--modal-hero-height: clamp(350px, 35vh, 480px)}.modal-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out forwards}.modal-backdrop.closing{animation:fadeOut .3s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.modal-container{position:relative;width:100%;height:100%;background:#fff;display:flex;flex-direction:column;overflow-y:auto}.modal-container::-webkit-scrollbar{width:8px}.modal-container::-webkit-scrollbar-track{background:#f3f4f6}.modal-container::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.modal-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}.modal-close{position:absolute;top:20px;right:20px;z-index:100;width:44px;height:44px;border-radius:50%;background:#ffffffe6;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #00000026;transition:all .2s ease}.modal-close:hover{background:#fff;box-shadow:0 4px 20px #0003;transform:scale(1.05)}.modal-close svg{color:#1f2937;display:block;flex-shrink:0;width:24px;height:24px}.modal-hero{display:grid;grid-template-columns:1fr var(--sidebar-width);min-height:var(--modal-hero-height);flex-shrink:0}.gallery-section{position:relative;background:#f3f4f6;overflow:hidden;height:100%}.hero-view-toggle{position:absolute;bottom:16px;right:16px;display:flex;gap:4px;z-index:20;background:#fffffff2;border-radius:8px;padding:4px;box-shadow:0 2px 12px #00000026}.view-toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;background:transparent;color:#6b7280}.view-toggle-btn:hover{background:#f3f4f6;color:#374151}.view-toggle-btn.active{background:#8b5cf6;color:#fff}.view-toggle-btn svg{flex-shrink:0}.hero-map-container{position:absolute;inset:0;width:100%;height:100%}.isochrone-legend{position:absolute;top:16px;left:16px;background:#fffffff2;border-radius:8px;padding:12px 16px;box-shadow:0 2px 12px #00000026;z-index:10}.legend-title{font-size:12px;font-weight:600;color:#374151;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#4b5563;margin-bottom:4px}.legend-item:last-child{margin-bottom:0}.legend-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.project-house-marker{cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.project-house-marker.fade-in{animation:markerFadeIn .8s ease-out forwards}@keyframes markerFadeIn{0%{opacity:0}to{opacity:1}}.poi-popup .maplibregl-popup-content{padding:0;border-radius:12px;box-shadow:0 4px 20px #00000026;overflow:hidden;border:none}.poi-popup .maplibregl-popup-close-button{font-size:18px;padding:4px 8px;color:#9ca3af;right:4px;top:4px}.poi-popup .maplibregl-popup-close-button:hover{color:#374151;background:transparent}.poi-popup-content{padding:12px 16px}.poi-popup-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.poi-popup-category{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:4px;color:#fff}.poi-category-education{background:#f59e0b}.poi-category-health{background:#ef4444}.poi-category-parks{background:#22c55e}.poi-category-culture{background:#a855f7}.poi-category-lifestyle{background:#3b82f6}.poi-category-unknown{background:#6b7280}.poi-popup-time{font-size:11px;color:#6b7280;font-weight:500}.poi-popup-name{font-size:14px;font-weight:600;color:#111827;line-height:1.3}.gallery-main{position:absolute;inset:0;width:100%;height:100%}.gallery-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transition:opacity .25s ease}.gallery-image-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f3f4f6;z-index:1}.gallery-spinner{width:36px;height:36px;border:3px solid #e5e7eb;border-top-color:#6b7280;border-radius:50%;animation:gallery-spin .7s linear infinite}@keyframes gallery-spin{to{transform:rotate(360deg)}}.gallery-no-image{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#9ca3af}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:#ffffffe6;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:all .2s ease;z-index:10}.gallery-nav:hover{background:#fff;box-shadow:0 4px 12px #00000026}.gallery-nav svg{display:block;flex-shrink:0}.gallery-nav-prev{left:16px}.gallery-nav-next{right:16px}.mobile-unit-cards{display:none}@media(max-width:768px){.gallery-nav{width:48px;height:48px}.gallery-nav-prev{left:8px}.gallery-nav-next{right:8px}.hero-view-toggle{bottom:12px;right:12px;gap:2px;padding:3px}.view-toggle-btn{padding:10px 12px;min-height:44px}}.gallery-badges{position:absolute;top:16px;left:16px;display:flex;gap:8px;z-index:10}.badge{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;color:#fff}.badge-status{background:#8b5cf6}.badge-date{background:#325cd0}.gallery-counter{position:absolute;bottom:16px;left:16px;display:flex;align-items:center;gap:8px;padding:8px 14px;background:#000000b3;border-radius:20px;color:#fff;font-size:13px;font-weight:500}.info-section{padding:var(--space-2xl);display:flex;flex-direction:column;border-left:1px solid #e5e7eb}.info-location{display:flex;align-items:center;gap:var(--space-sm);color:#6b7280;font-size:var(--fs-base);margin-bottom:var(--space-md)}.info-title{font-size:var(--fs-3xl);font-weight:700;color:#111827;margin:0 0 var(--space-xl) 0;line-height:1.2}.info-stats{display:flex;flex-direction:column;gap:var(--space-lg);margin-bottom:var(--space-xl);background:#f8fafc;border:1px solid #e2e8f0;border-radius:0 0 12px 12px;padding:var(--space-lg)}.info-stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:var(--fs-sm);color:#9ca3af}.stat-value{font-size:var(--fs-lg);font-weight:600;color:#111827;display:flex;align-items:center;gap:var(--space-md)}.stat-value-price{font-size:var(--fs-2xl);font-weight:700}.stat-value-units{font-size:var(--fs-lg);font-weight:700;color:#22c55e;cursor:pointer;transition:opacity .2s}.stat-value-units:hover{opacity:.8}.stat-icon{color:#6b7280}.info-actions{display:flex;flex-direction:column;gap:var(--space-md);margin-top:auto}.btn-primary{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--btn-padding-y) var(--btn-padding-x);background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:var(--fs-base);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px #8b5cf666}.btn-secondary{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--btn-padding-y) var(--btn-padding-x);background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:var(--border-radius-md);font-size:var(--fs-base);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.modal-tabs-wrapper{display:flex;align-items:center;position:relative;border-bottom:1px solid #e5e7eb;background:#fff;flex-wrap:wrap}.tab-scroll-indicator{display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;background:linear-gradient(90deg,#fff 60%,#fff0);border:none;cursor:pointer;z-index:10;color:#6b7280;transition:color .2s ease}.tab-scroll-indicator:hover{color:#111827}.tab-scroll-left{background:linear-gradient(90deg,#fff 60%,#fff0)}.tab-scroll-right{background:linear-gradient(-90deg,#fff 60%,#fff0)}.modal-tabs{display:flex;justify-content:space-between;align-items:center;gap:0;padding:0 var(--space-2xl);flex:1;overflow-x:auto;scrollbar-width:none}.modal-tabs::-webkit-scrollbar{display:none}.tabs-left{display:flex;gap:0}.tab-button{position:relative;padding:var(--space-lg) var(--space-xl);background:none;border:none;font-size:17px;font-weight:500;color:#6b7280;cursor:pointer;transition:color .2s ease;white-space:nowrap}.tab-button:hover{color:#111827}.tab-button.active{color:#111827;font-weight:600}.tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#111827}.global-filter-toggle{display:flex;align-items:center;gap:10px;padding:0 var(--space-2xl);margin-left:auto}@media(max-width:768px){.modal-tabs-wrapper{justify-content:space-between}.modal-tabs{flex:1;min-width:0;padding:0 var(--space-md)}.global-filter-toggle{width:100%;justify-content:flex-end;padding:8px var(--space-md);border-top:1px solid #f3f4f6}.modal-content{padding:0}.tab-panel{padding:var(--space-md);max-width:100%}.tab-panel.analytics-panel,.analytics-panel{padding:0}.analytics-chart-section{border-radius:0;border-left:none;border-right:none;box-shadow:none}}.filter-toggle-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#374151}.filter-help-wrapper{position:relative;display:inline-flex;align-items:center}.filter-help-icon{color:#9ca3af;cursor:help;transition:color .2s ease}.filter-help-wrapper:hover .filter-help-icon{color:#6b7280}.filter-help-tooltip{position:absolute;bottom:calc(100% + 10px);right:0;background:#1f2937;color:#fff;padding:12px 16px;border-radius:8px;font-size:12px;line-height:1.5;white-space:nowrap;text-align:left;opacity:0;visibility:hidden;transition:all .2s ease;z-index:100;box-shadow:0 4px 12px #0000004d;pointer-events:none}.filter-help-tooltip:after{content:"";position:absolute;top:100%;right:8px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #1f2937}.filter-help-tooltip strong{color:#fff;font-weight:600}.filter-help-tooltip .filter-list{margin:8px 0 10px;padding-left:16px;list-style:disc}.filter-help-tooltip .filter-list li{margin:4px 0;color:#e5e7eb}.filter-help-tooltip .filter-help-hint{display:block;margin-top:8px;padding-top:8px;border-top:1px solid #374151;color:#9ca3af;font-size:11px;font-style:italic}.filter-help-wrapper:hover .filter-help-tooltip{opacity:1;visibility:visible}.toggle-switch{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;color:#9ca3af;transition:color .2s ease}.toggle-switch.active{color:#8b5cf6}.toggle-switch:hover{color:#7c3aed}.modal-content{flex:none;padding:var(--space-2xl);background:#f9fafb;overflow-x:hidden}.tab-panel{max-width:90vw;margin:0 auto}.section-title{font-size:var(--fs-2xl);font-weight:700;color:#111827;margin:0 0 var(--space-xs) 0}.section-subtitle{font-size:var(--fs-base);color:#6b7280;margin:0 0 var(--space-lg) 0}.description-text{font-size:var(--fs-base);line-height:1.7;color:#4b5563;margin-bottom:var(--space-2xl)}.overview-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.highlight-card{background:#fff;padding:var(--space-xl);border-radius:var(--border-radius-lg);border:1px solid #e5e7eb}.highlight-icon{font-size:var(--fs-2xl);margin-bottom:var(--space-md)}.highlight-label{font-size:var(--fs-sm);color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.highlight-value{font-size:var(--fs-md);font-weight:600;color:#111827}.units-list{display:flex;flex-direction:column;gap:var(--space-md)}.unit-category{background:#fff;border-radius:var(--border-radius-lg);border:1px solid #e5e7eb;overflow:hidden}.unit-category-header{display:grid;grid-template-columns:200px 1fr auto;align-items:center;padding:var(--space-lg) var(--space-xl);cursor:pointer;transition:background .2s ease}.unit-category-header:hover{background:#f9fafb}.unit-category-header.expanded{border-bottom:1px solid #e5e7eb}.category-info{display:flex;align-items:center;gap:var(--space-md)}.category-name{font-size:var(--fs-base);font-weight:600;color:#111827}.category-count{font-size:var(--fs-sm);color:#6b7280}.category-details{display:flex;gap:var(--space-3xl)}.category-area,.category-price{font-size:var(--fs-base);color:#4b5563}.category-toggle{color:#9ca3af}.units-table{padding:0}.units-table-header{display:grid;grid-template-columns:70px 120px 100px 100px 80px 120px 140px 80px;padding:var(--space-md) var(--space-xl);background:#f9fafb;font-size:var(--fs-sm);font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.units-table-row{display:grid;grid-template-columns:70px 120px 100px 100px 80px 120px 140px 80px;padding:var(--space-lg) var(--space-xl);align-items:center;border-bottom:1px solid #f3f4f6;font-size:var(--fs-base);color:#374151}.sortable-header{cursor:pointer;display:flex;align-items:center;gap:var(--space-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .2s}.sortable-header:hover{color:#111827}.sort-icon{display:block;flex-shrink:0}.sort-icon.inactive{color:#d1d5db}.sort-icon.active{color:#8b5cf6}.units-table-row:last-child{border-bottom:none}.units-table-row:hover{background:#fafafa}.unit-plan{display:flex;align-items:center}.floor-plan-thumb{width:50px;height:50px;-o-object-fit:cover;object-fit:cover;border-radius:var(--border-radius-sm);border:1px solid #e5e7eb;cursor:zoom-in;transition:transform .2s}.floor-plan-thumb:hover{transform:scale(1.1);border-color:#8b5cf6}.no-floor-plan{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:#f3f4f6;border:1px dashed #d1d5db;border-radius:var(--border-radius-sm);color:#9ca3af;font-size:9px;text-align:center}.image-zoom-overlay{position:fixed;inset:0;z-index:2000;background:#000000bf;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out;padding:var(--space-3xl)}.image-zoom-content{position:relative;max-width:90vw;max-height:90vh;animation:zoomIn .3s cubic-bezier(.16,1,.3,1)}.image-zoom-content img{max-width:100%;max-height:90vh;border-radius:var(--border-radius-md);box-shadow:0 4px 20px #00000080;background:#fff}.image-zoom-close{position:absolute;top:-40px;right:-40px;background:#fff3;border:none;color:#fff;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.image-zoom-close:hover{background:#fff6;transform:scale(1.1)}.image-zoom-close svg{display:block;flex-shrink:0}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.unit-price{text-align:left}.unit-price>div:first-child{font-weight:600;color:#111827}.price-per-sqft{font-size:var(--fs-sm);color:#9ca3af}.unit-actions{display:flex;gap:var(--space-md)}.action-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s ease;padding:0}.action-btn svg{display:block;flex-shrink:0}.action-btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.action-btn-primary svg{stroke:#fff}.action-btn-primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 2px 8px #8b5cf666}.action-btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.action-btn-secondary svg{stroke:#374151}.action-btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl) var(--space-3xl);text-align:center}.empty-icon{font-size:var(--fs-4xl);margin-bottom:var(--space-lg)}.empty-state h3{font-size:var(--fs-xl);font-weight:600;color:#111827;margin:0 0 var(--space-md) 0}.empty-state p{font-size:var(--fs-base);color:#6b7280;margin:0}@media(max-width:1024px){.modal-hero{grid-template-columns:1fr;height:auto;min-height:0;max-height:none}.gallery-section{height:300px}.info-section{border-left:none;border-top:1px solid #e5e7eb}.units-table-header,.units-table-row{grid-template-columns:50px 100px 80px 80px 60px 100px 120px 70px;font-size:12px}}@media(max-width:768px){.modal-tabs-wrapper{position:sticky;top:0;z-index:100}.tab-scroll-indicator{width:40px;min-width:40px;min-height:48px}.modal-tabs{padding:0 8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x mandatory;background:#fff;flex-shrink:0}.modal-tabs::-webkit-scrollbar{display:none}.tabs-left{gap:0;display:flex;flex-wrap:nowrap}.tab-button{padding:14px 16px;white-space:nowrap;scroll-snap-align:start;min-height:48px;font-size:15px;flex-shrink:0}.global-filter-toggle{padding:12px 8px;min-height:48px}.toggle-switch{min-width:44px;min-height:44px;padding:8px}.modal-content{padding:16px}.units-table-header,.units-table-row{display:none}.unit-category-header{grid-template-columns:1fr;gap:8px;min-height:56px;padding:16px}.category-details{flex-direction:column;gap:4px}.mobile-unit-cards{display:flex;flex-direction:column;gap:12px;padding:12px 16px}.mobile-unit-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;gap:12px;transition:box-shadow .2s ease}.mobile-unit-card:active{box-shadow:0 4px 12px #0000001a}.mobile-unit-card-header{display:flex;justify-content:space-between;align-items:flex-start}.mobile-unit-card-title{font-size:16px;font-weight:600;color:#111827}.mobile-unit-card-floor{font-size:13px;color:#6b7280;margin-top:2px}.mobile-unit-card-thumbnail{width:56px;height:56px;border-radius:8px;-o-object-fit:cover;object-fit:cover;border:1px solid #e5e7eb;flex-shrink:0}.mobile-unit-card-details{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mobile-unit-card-detail{display:flex;flex-direction:column;gap:2px}.mobile-unit-card-label{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.mobile-unit-card-value{font-size:14px;font-weight:500;color:#374151}.mobile-unit-card-price{font-size:18px;font-weight:700;color:#111827}.mobile-unit-card-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f3f4f6}.mobile-unit-card-actions .action-btn{flex:1;min-height:44px;border-radius:8px}}.overview-panel{padding-bottom:var(--space-3xl)}.overview-layout{display:grid;grid-template-columns:240px 1fr;gap:var(--space-3xl);align-items:start;position:relative}.overview-sidebar{position:sticky;top:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xs);align-self:start}.overview-nav-item{padding:var(--space-md) var(--space-lg);font-size:var(--fs-base);color:#6b7280;cursor:pointer;border-left:3px solid transparent;transition:all .2s ease;text-align:left;background:none;border-top:none;border-right:none;border-bottom:none}.overview-nav-item:hover{color:#374151;background:#f3f4f6;border-radius:0 4px 4px 0}.overview-nav-item.active{color:#8b5cf6;border-left-color:#8b5cf6;background:#f5f3ff;border-radius:0 4px 4px 0;font-weight:600}@media(max-width:1024px){.overview-layout{grid-template-columns:1fr;gap:24px}.overview-sidebar{position:sticky;top:0;z-index:10;background:#f9fafb;flex-direction:row;overflow-x:auto;border-bottom:1px solid #e5e7eb;margin:-20px -32px 20px;padding:12px 32px;width:calc(100% + 64px)}.overview-nav-item{border-left:none;border-bottom:2px solid transparent;border-radius:0;white-space:nowrap;padding:8px 16px}.overview-nav-item:hover{background:transparent;border-radius:0}.overview-nav-item.active{border-left-color:transparent;border-bottom-color:#8b5cf6;background:transparent;border-radius:0}}.overview-section{margin-bottom:var(--space-xl)}.overview-section-title{font-size:var(--fs-lg);font-weight:700;color:#111827;margin:0 0 var(--space-lg) 0;display:flex;align-items:center;gap:var(--space-md)}.overview-section-title:before{content:"";display:block;width:4px;height:18px;background:#8b5cf6;border-radius:2px}.overview-divider{height:1px;background:#e5e7eb;margin:32px 0}.section-desc{font-size:15px;color:#4b5563;line-height:1.6;margin-bottom:20px}.project-summary{display:grid;grid-template-columns:1fr 300px;gap:32px}.summary-text p{font-size:15px;line-height:1.7;color:#374151;margin:0}.developer-card{display:inline-flex;gap:var(--space-md);margin-top:auto;margin-bottom:-1px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px 12px 0 0;padding:20px;display:flex;align-items:center;gap:16px}.developer-logo{width:60px;height:60px;background:#111827;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.developer-info{display:flex;flex-direction:column}.developer-label{font-size:11px;text-transform:uppercase;color:#64748b;font-weight:600}.developer-name{font-size:16px;font-weight:700;color:#111827}.developer-btn{margin-left:auto;display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 8px #667eea4d}.developer-btn:hover{transform:translate(4px);box-shadow:0 4px 16px #667eea73}.developer-btn svg{transition:transform .25s ease}.developer-btn:hover svg{transform:translate(3px)}.developer-desc{font-size:12px;color:#64748b;margin-top:2px}.config-grid{display:grid;grid-template-columns:45% 55%;grid-template-areas:"structure mix" "distribution mix";gap:24px;align-items:start}.box-structure{grid-area:structure}.box-mix{grid-area:mix}.box-distribution{grid-area:distribution}.config-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.config-subtitle{font-size:14px;font-weight:600;color:#374151;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.simple-table{width:100%;border-collapse:collapse;font-size:14px}.simple-table th{text-align:left;padding:8px 12px;color:#6b7280;font-weight:500;border-bottom:2px solid #f3f4f6;font-size:12px;text-transform:uppercase}.simple-table td{padding:10px 12px;color:#1f2937;border-bottom:1px solid #f3f4f6}.simple-table tr:last-child td{border-bottom:none}.overview-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}@media(max-width:1200px){.overview-cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.overview-cards-grid{grid-template-columns:1fr}}.info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.info-card-header{display:inline-block;margin:16px 16px 12px;padding:4px 10px;background:#dbeafe;border:1px solid #93c5fd;border-radius:4px;font-size:11px;font-weight:600;color:#1d4ed8;text-transform:uppercase;letter-spacing:.5px}.info-card-body{padding:0 16px 16px}.info-card-row{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid #f3f4f6;gap:16px}.info-card-row:last-child{border-bottom:none}.info-card-label{font-size:13px;color:#6b7280;flex-shrink:0}.info-card-value{font-size:13px;font-weight:500;color:#111827;text-align:right;word-break:break-word}.info-card-value.clickable{color:#2563eb;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.info-card-value.clickable:hover{text-decoration:underline}.info-card-value .icon-btn{background:none;border:none;padding:2px;cursor:pointer;color:#9ca3af;display:inline-flex;align-items:center}.info-card-value .icon-btn:hover{color:#6b7280}.milestone-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.m-stat{background:#fff;padding:16px;border-radius:10px;border:1px solid #e5e7eb;display:flex;flex-direction:column;align-items:center;text-align:center}.m-label{font-size:12px;color:#6b7280;text-transform:uppercase;font-weight:600;margin-bottom:4px}.m-value{font-size:18px;font-weight:700;color:#111827}.m-value.accent{color:#8b5cf6}.timeline-container{position:relative;padding:20px 0;display:flex;justify-content:space-between;align-items:flex-start}.timeline-line{position:absolute;top:27px;left:20px;right:20px;height:2px;background:#e5e7eb;z-index:1}.timeline-item{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:100px;text-align:center}.t-dot{width:16px;height:16px;background:#fff;border:3px solid #d1d5db;border-radius:50%;margin-bottom:12px;transition:all .3s ease}.timeline-item.completed .t-dot{background:#8b5cf6;border-color:#8b5cf6}.timeline-item.active .t-dot{background:#fff;border-color:#8b5cf6;transform:scale(1.3);box-shadow:0 0 0 4px #8b5cf633}.t-content{opacity:.6;transition:all .3s ease}.timeline-item.active .t-content,.timeline-item.completed .t-content{opacity:1}.t-date{font-size:12px;font-weight:600;color:#6b7280;margin-bottom:2px}.t-title{font-size:13px;font-weight:600;color:#1f2937;line-height:1.2}.timeline-inspection-marker{position:absolute;top:-8px;left:calc(8% + 40px);width:28px;height:28px;background:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #ef444466;z-index:5}.timeline-inspection-marker:hover{transform:scale(1.15);box-shadow:0 4px 12px #ef444480}.timeline-inspection-marker:before{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #ef4444}.timeline-inspection-marker .inspection-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 14px;border-radius:8px;font-size:12px;white-space:nowrap;text-align:center;line-height:1.5;opacity:0;visibility:hidden;transition:all .2s ease;z-index:100;box-shadow:0 4px 12px #0000004d;pointer-events:none}.timeline-inspection-marker .inspection-tooltip strong{color:#fff;font-weight:600}.timeline-inspection-marker .inspection-tooltip em{color:#9ca3af;font-style:normal;font-size:11px}.timeline-inspection-marker .inspection-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #1f2937}.timeline-inspection-marker:hover .inspection-tooltip{opacity:1;visibility:visible}.inspections-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.inspections-table-header{display:grid;grid-template-columns:200px 100px 140px 1fr 100px;gap:16px;padding:16px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.inspections-table-header .insp-col{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.inspections-table-row{display:grid;grid-template-columns:200px 100px 140px 1fr 100px;gap:16px;padding:20px 24px;align-items:center;border-bottom:1px solid #f3f4f6;transition:background-color .3s ease}.inspections-table-row:last-child{border-bottom:none}.inspections-table-row:hover{background:#fafafa}.inspections-table-row.highlighted{background:#8b5cf61a;animation:highlightPulse 2s ease-out}@keyframes highlightPulse{0%{background:#8b5cf64d}to{background:#8b5cf61a}}.insp-col{font-size:14px;color:#374151}.insp-number-badge{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1d4ed8;border-radius:6px;font-weight:600;font-size:13px}.insp-col-progress{display:flex;align-items:center;gap:12px}.progress-bar-container{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:4px;transition:width .3s ease}.progress-text{font-weight:600;color:#374151;min-width:50px}.insp-action-btn{width:40px;height:40px;background:#8b5cf6;color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.insp-action-btn:hover{background:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf666}.payment-plans{display:grid;gap:24px}.plan-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 2px 4px #00000005}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.plan-header h4{margin:0;font-size:16px;font-weight:700;color:#111827}.plan-tag{background:#ecfdf5;color:#059669;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;text-transform:uppercase}.plan-steps{display:flex;align-items:center;justify-content:space-between}.plan-step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.step-percent{font-size:24px;font-weight:800;color:#8b5cf6;margin-bottom:4px}.step-desc{font-size:13px;color:#4b5563;font-weight:500}.plan-connector{flex:1;height:2px;background:#e5e7eb;margin:0 16px;position:relative;top:-10px}.plan-connector:after{content:"+";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#9ca3af;font-size:14px;padding:0 6px}.plan-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:16px}.p-info-item{background:#f9fafb;padding:12px 16px;border-radius:8px;display:flex;flex-direction:column;gap:4px}.pi-label{font-size:11px;color:#6b7280;text-transform:uppercase;font-weight:600}.pi-value{font-size:14px;font-weight:600;color:#1f2937}@media(max-width:768px){.project-summary{grid-template-columns:1fr}.config-grid{grid-template-columns:1fr;grid-template-areas:"structure" "mix" "distribution"}.timeline-container{overflow-x:auto;padding-bottom:10px;justify-content:flex-start;gap:32px}.timeline-line{width:600px}.plan-steps{flex-direction:column;gap:24px}.plan-connector{width:2px;height:30px;margin:0;top:0}.plan-info-grid{grid-template-columns:1fr}}.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}.amenity-card{display:flex;flex-direction:column;gap:12px}.amenity-image-wrapper{width:100%;aspect-ratio:4 / 3;border-radius:12px;overflow:hidden;background:#f3f4f6}.amenity-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.amenity-card:hover .amenity-image{transform:scale(1.05)}.amenity-title{font-size:15px;font-weight:500;color:#374151}@media(max-width:1024px){.amenities-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.amenities-grid{grid-template-columns:1fr}}.nearby-container{display:flex;flex-direction:column;gap:32px}.location-score-banner{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #ddd6fe;border-radius:12px;padding:24px;display:flex;align-items:center;gap:24px}.score-circle{display:flex;align-items:baseline;gap:2px;background:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.score-value{font-size:32px;font-weight:800;color:#7c3aed;line-height:1}.score-max{font-size:14px;font-weight:600;color:#9ca3af}.score-info h4{margin:0 0 4px;font-size:18px;font-weight:700;color:#111827}.score-info p{margin:0;font-size:14px;color:#4b5563;line-height:1.5}.nearby-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.nearby-category-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.category-header{background:#f9fafb;padding:12px 16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.category-title{margin:0;font-size:14px;font-weight:600;color:#374151;text-transform:capitalize}.category-count{font-size:12px;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:12px}.nearby-items-list{padding:8px 0}.nearby-item{padding:10px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f3f4f6;font-size:14px}.nearby-item:last-child{border-bottom:none}.item-name{color:#1f2937;font-weight:500;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.minute-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px}.minute-badge.min-5{background:#ecfdf5;color:#059669}.minute-badge.min-10{background:#fefce8;color:#ca8a04}.minute-badge.min-15{background:#fef2f2;color:#dc2626}.minute-badge.min-30{background:#eff6ff;color:#2563eb}.category-pagination{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #f3f4f6;background:#fafafa}.pagination-btn{flex:1;padding:8px 12px;font-size:12px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;background:#8b5cf6;color:#fff}.pagination-btn:hover{background:#7c3aed}.pagination-btn.pagination-btn-secondary{background:#f3f4f6;color:#6b7280}.pagination-btn.pagination-btn-secondary:hover{background:#e5e7eb;color:#374151}.loading-state,.empty-state{text-align:center;padding:40px;color:#6b7280;font-size:15px}.media-section{margin-bottom:40px}.media-section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.media-section-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.media-section-header svg{color:#6b7280}.media-count{margin-left:auto;font-size:13px;color:#6b7280;background:#f3f4f6;padding:4px 10px;border-radius:12px}.brochure-download-card{display:flex;align-items:center;gap:20px;padding:20px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;transition:all .2s ease}.brochure-download-card:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.brochure-icon{width:56px;height:56px;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.brochure-info{display:flex;flex-direction:column;gap:4px;flex:1}.brochure-title{font-size:16px;font-weight:600;color:#1f2937}.brochure-meta{font-size:13px;color:#6b7280}.brochure-action{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#111827;color:#fff;border-radius:8px;font-size:14px;font-weight:500;transition:background .2s ease}.brochure-download-card:hover .brochure-action{background:#1f2937}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.media-card{position:relative;aspect-ratio:4 / 3;border-radius:10px;overflow:hidden;background:#f3f4f6}.media-card img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.media-card:hover img{transform:scale(1.05)}.media-card-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;color:#fff}.media-card:hover .media-card-overlay{opacity:1}.floor-plans-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.floor-plan-card{aspect-ratio:1 / 1;background:#fff;border:1px solid #e5e7eb}.floor-plan-card img{-o-object-fit:contain;object-fit:contain;padding:12px;background:#fff}.floor-plans-section{background:#fff;border:1px solid #e5e7eb;border-radius:var(--border-radius-lg);padding:var(--space-xl)}.fp-tabs{display:flex;gap:var(--space-sm);margin-top:var(--space-lg);margin-bottom:var(--space-xl);border-bottom:1px solid #e5e7eb;padding-bottom:var(--space-sm)}.fp-tab{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-size:var(--fs-sm);font-weight:500;color:#6b7280;cursor:pointer;border:none;background:none;border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0;transition:all .2s ease;position:relative}.fp-tab:hover{color:#374151;background:#f9fafb}.fp-tab.active{color:#8b5cf6;font-weight:600}.fp-tab.active:after{content:"";position:absolute;bottom:calc(-1 * var(--space-sm) - 1px);left:0;right:0;height:2px;background:#8b5cf6}.fp-tab-content{min-height:200px}.fp-content-header{display:flex;justify-content:flex-end;margin-bottom:var(--space-lg)}.floor-plan-label{position:absolute;bottom:0;left:0;right:0;padding:var(--space-md);background:#fffffffa;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:var(--space-xs)}.fp-unit-id{font-size:var(--fs-sm);font-weight:700;color:#111827}.fp-details{display:flex;flex-wrap:wrap;gap:var(--space-sm);font-size:var(--fs-xs);color:#6b7280}.fp-details span{padding:2px 6px;background:#f3f4f6;border-radius:4px}.download-all-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-left:var(--space-md);background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:var(--border-radius-sm);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.download-all-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.overview-nav-item{display:flex;align-items:center;gap:var(--space-md)}.archive-header{margin-bottom:var(--space-xl)}.archive-description{font-size:var(--fs-sm);color:#6b7280;line-height:1.6;margin:0 0 var(--space-md) 0}.archive-summary{display:flex;align-items:center;gap:var(--space-lg)}.matching-count{font-size:var(--fs-lg);font-weight:700;color:#111827}.clear-filters-btn{padding:var(--space-xs) var(--space-md);font-size:var(--fs-xs);color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:var(--border-radius-sm);cursor:pointer;transition:all .15s ease}.clear-filters-btn:hover{background:#e5e7eb;color:#374151}.archive-filters-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);margin-bottom:var(--space-xl)}.archive-filter-card{background:#fafafa;border:1px solid #e5e7eb;border-radius:var(--border-radius-md);padding:var(--space-lg)}.archive-filter-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.archive-filter-header svg{color:#8b5cf6}.archive-filter-header h4{margin:0;font-size:var(--fs-sm);font-weight:600;color:#111827}.archive-filter-options{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.filter-checkbox{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:#fff;border:1px solid #d1d5db;border-radius:var(--border-radius-sm);font-size:var(--fs-xs);color:#374151;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filter-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:#8b5cf6;cursor:pointer}.filter-checkbox:hover:not(.disabled){border-color:#8b5cf6;background:#f5f3ff}.filter-checkbox.selected{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.filter-checkbox.selected input[type=checkbox]{accent-color:white}.filter-checkbox.disabled{opacity:.4;cursor:not-allowed;background:#f3f4f6}.filter-checkbox.disabled input[type=checkbox]{cursor:not-allowed}.archive-actions{display:flex;justify-content:center;padding-top:var(--space-lg);border-top:1px solid #e5e7eb}.archive-download-main-btn{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-3xl);background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:all .2s ease}.archive-download-main-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf659}.archive-download-main-btn:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}@media(max-width:768px){.archive-filters-grid{grid-template-columns:1fr}}@media(max-width:768px){.brochure-download-card{flex-direction:column;text-align:center}.brochure-action{width:100%;justify-content:center}.media-grid{grid-template-columns:repeat(2,1fr)}}.chess-board-container{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:24px;overflow:visible}.chess-board-header{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px}.chess-board-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.building-tabs{display:flex;gap:8px;margin-left:auto}.building-tab{padding:8px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.building-tab:hover{background:#f3f4f6}.building-tab.active{background:#111827;color:#fff;border-color:#111827}.chess-legend{display:flex;gap:16px;font-size:13px;color:#6b7280}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:12px;height:12px;border-radius:3px}.legend-dot.available{background:#22c55e}.legend-dot.sold{background:#9ca3af}.chess-board{display:flex;flex-direction:column;gap:4px;overflow:visible}.floor-row{display:flex;align-items:center;gap:12px;overflow:visible}.floor-label{width:70px;font-size:12px;font-weight:500;color:#6b7280;text-align:right;flex-shrink:0}.floor-units{display:flex;flex-wrap:wrap;gap:4px;flex:1;overflow:visible}.unit-cell{width:28px;height:28px;border-radius:4px;cursor:pointer;position:relative;transition:transform .15s ease,box-shadow .15s ease}.unit-cell.available{background:#22c55e}.unit-cell.available:hover{transform:scale(1.3);box-shadow:0 4px 12px #22c55e66;z-index:10}.unit-cell.sold{background:#d1d5db;cursor:default}.unit-cell.filtered-out{opacity:.25;transform:scale(.85)}.unit-cell.available.filtered-out{background:#94a3b8}.unit-cell.filtered-out:hover{transform:scale(.9);box-shadow:none}.unit-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;border-radius:8px;padding:0;min-width:180px;box-shadow:0 10px 25px #00000040;z-index:100;pointer-events:none}.unit-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937}.tooltip-header{padding:10px 12px;border-bottom:1px solid #374151;font-size:14px}.tooltip-body{padding:10px 12px}.tooltip-row{display:flex;justify-content:space-between;font-size:12px;padding:3px 0}.tooltip-row span:first-child{color:#9ca3af}.tooltip-row span:last-child{color:#fff;font-weight:500}.tooltip-row.price span:last-child{color:#4ade80}@media(max-width:768px){.chess-board-header{flex-direction:column;align-items:flex-start}.building-tabs{margin-left:0}.unit-cell{width:22px;height:22px}.floor-label{width:50px;font-size:10px}}.units-two-column{max-width:100%}.units-layout{display:grid;grid-template-columns:40% 60%;gap:24px;align-items:start}.units-chess-column{position:sticky;top:24px}.sticky-chess{margin-bottom:0}.sticky-chess .chess-board-header{flex-direction:column;align-items:flex-start;gap:12px}.sticky-chess .building-tabs{margin-left:0;width:100%}.sticky-chess .building-tab{flex:1;text-align:center}.sticky-chess .chess-legend{width:100%;justify-content:center}.sticky-chess .floor-label{width:40px;font-size:11px}.sticky-chess .unit-cell{width:16px;height:16px;border-radius:2px}.units-list-column{min-width:0}.units-list-column .units-list{margin-bottom:0}.unit-cell.highlighted,.unit-cell.selected{transform:scale(1.4);box-shadow:0 4px 12px #22c55e80;z-index:10}.unit-cell.available{cursor:pointer}.units-table-row.highlighted,.units-table-row.selected{background:#22c55e26;border-left:3px solid #22c55e}@keyframes flash-highlight{0%{background:#22c55e66}50%{background:#22c55e33}to{background:transparent}}.units-table-row.flash-highlight{animation:flash-highlight 1.5s ease-out;border-left:3px solid #22c55e}@media(max-width:1024px){.units-layout{grid-template-columns:1fr}.units-chess-column{position:static;max-height:none}.sticky-chess .chess-board-header{flex-direction:row;flex-wrap:wrap}.sticky-chess .building-tabs{width:auto;margin-left:auto}.sticky-chess .building-tab{flex:none}}.analytics-panel{display:flex;flex-direction:column;min-height:600px;position:relative}.at-tabs-wrapper{display:flex;align-items:center;position:relative;border-bottom:1px solid #e5e7eb;background:#fff}.at-tabs-header{display:flex;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;background:#fff}.at-tabs-header::-webkit-scrollbar{display:none}.at-tab{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:500;color:#6b7280;transition:color .2s,background .2s;white-space:nowrap;position:relative}.at-tab:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:transparent;border-radius:3px 3px 0 0;transition:background .2s}.at-tab.active{color:#8b5cf6;font-weight:600}.at-tab.active:after{background:#8b5cf6}.at-tab:hover:not(.active){color:#374151;background:#f9fafb}.at-tab svg{flex-shrink:0}.at-tab-content{display:grid;grid-template-columns:340px 1fr;gap:20px;padding:16px;min-height:600px}.at-filters-panel{display:flex;flex-direction:column;gap:12px;max-height:700px;overflow-y:auto;padding-right:8px}.at-filters-panel::-webkit-scrollbar{width:4px}.at-filters-panel::-webkit-scrollbar-track{background:transparent}.at-filters-panel::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.at-filter-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;overflow:visible}.at-filter-section-header{display:flex;align-items:center;gap:6px;width:100%;padding:10px 12px;border:none;background:transparent;cursor:pointer;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px;transition:background .2s}.at-filter-section-header:hover{background:#f3f4f6}.at-filter-section-header svg:first-child{color:#8b5cf6}.at-filter-section-header svg:last-child{margin-left:auto;color:#9ca3af}.at-filter-section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#374151;margin:0;padding:10px 12px 0;text-transform:uppercase;letter-spacing:.5px}.at-filter-section-title svg{color:#8b5cf6}.at-filter-section-content{display:flex;flex-direction:column;gap:12px;padding:10px 12px 12px}.at-chart-panel{display:flex;flex-direction:column;gap:16px}.at-kpi-banner{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px 24px 16px;display:flex;flex-direction:column;gap:16px}.at-kpi-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#6b7280}.at-kpi-title svg{color:#8b5cf6}.at-kpi-metrics-row{display:flex;align-items:stretch;gap:0}.at-kpi-metric{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;border-radius:8px}.at-kpi-value{font-size:28px;font-weight:800;line-height:1;letter-spacing:-.5px;transition:color .25s ease}.at-kpi-sub{display:flex;align-items:center;gap:4px;font-size:11px;color:#9ca3af;font-weight:500}.at-kpi-divider{width:1px;background:#e5e7eb;align-self:stretch;margin:4px 0}.at-kpi-slider-row{display:flex;align-items:center;gap:10px;padding:0 8px}.at-kpi-slider-label{font-size:10px;color:#9ca3af;font-weight:600;white-space:nowrap;min-width:28px;text-align:center}.at-kpi-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:#e5e7eb;outline:none;cursor:pointer}.at-kpi-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#8b5cf6;border:2px solid #fff;box-shadow:0 1px 4px #8b5cf666;cursor:pointer;-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.at-kpi-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 2px 8px #8b5cf680}.at-kpi-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#8b5cf6;border:2px solid #fff;box-shadow:0 1px 4px #8b5cf666;cursor:pointer}.at-kpi-slider-caption{text-align:center;font-size:11px;color:#9ca3af}.at-kpi-slider-caption strong{color:#6b7280}@media(max-width:600px){.at-kpi-metrics-row{flex-direction:column;gap:12px}.at-kpi-divider{width:100%;height:1px;margin:0}.at-kpi-banner{padding:16px}.at-kpi-value{font-size:22px}}.at-chart-container{height:500px;min-height:350px;position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px}.at-year-range-row{display:flex;align-items:center;gap:8px}.at-select{padding:6px 28px 6px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") right 6px center/14px no-repeat;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:#374151}.at-select:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf61a}.at-select-full{width:100%}.at-year-separator{color:#9ca3af;font-weight:500}.at-chips-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.at-range-input{width:100%;accent-color:#8b5cf6;height:6px}.at-stats-row{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#6b7280;padding-top:8px;border-top:1px solid #e5e7eb}.at-stats-row .stat-inline{display:flex;gap:4px}.at-stats-row .stat-inline strong{color:#374151;font-weight:600}.at-hint-text{font-size:11px;color:#9ca3af;margin-top:4px}.at-export-btn{margin-left:0;width:100%;justify-content:center}*:focus{outline:none}.btn:focus,.btn:active{outline:none!important;box-shadow:none!important}.analytics-loading,.analytics-error,.analytics-empty{display:flex;flex:1;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-4xl);color:#6b7280;text-align:center}.analytics-empty h3{margin:0;font-size:var(--fs-xl);color:#374151}.analytics-empty p{margin:0;font-size:var(--fs-base)}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite}.filter-count{margin-left:auto;font-size:11px;font-weight:500;color:#6b7280;background:#e5e7eb;padding:2px 8px;border-radius:12px}.segment-active-badge{margin-left:auto;font-size:10px;font-weight:600;color:#fff;background:#8b5cf6;padding:2px 8px;border-radius:12px}.dual-range-slider{display:flex;flex-direction:column;gap:var(--space-sm)}.slider-header{display:flex;justify-content:space-between;align-items:center}.slider-label{font-size:var(--fs-sm);font-weight:600;color:#374151}.slider-values{font-size:var(--fs-sm);color:#6b7280;font-weight:500}.slider-track-container{position:relative;height:24px;display:flex;align-items:center}.slider-track{position:absolute;width:100%;height:6px;background:#e5e7eb;border-radius:3px}.slider-range{position:absolute;height:100%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:3px}.range-input{position:absolute;width:100%;height:6px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none}.range-input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#fff;border:2px solid #8b5cf6;border-radius:50%;cursor:pointer;pointer-events:auto;box-shadow:0 2px 4px #0000001a;-webkit-transition:transform .15s;transition:transform .15s}.range-input::-webkit-slider-thumb:hover{transform:scale(1.15)}.range-input::-moz-range-thumb{width:18px;height:18px;background:#fff;border:2px solid #8b5cf6;border-radius:50%;cursor:pointer;pointer-events:auto;box-shadow:0 2px 4px #0000001a}.segment-group{display:flex;flex-direction:column;gap:var(--space-sm)}.segment-label{font-size:var(--fs-sm);font-weight:600;color:#374151}.checkbox-group{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.checkbox-item{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:#4b5563;cursor:pointer;padding:4px 10px;background:#f3f4f6;border-radius:6px;transition:all .2s}.checkbox-item:hover{background:#e5e7eb}.checkbox-item input[type=checkbox]{accent-color:#8b5cf6;width:14px;height:14px}.segment-toggle-row{display:flex;justify-content:space-between;align-items:center}.segment-toggle{padding:4px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:var(--fs-sm);font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.segment-toggle.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.autosuggest-container{display:flex;flex-direction:column;gap:var(--space-sm);position:relative}.autosuggest-label{font-size:var(--fs-sm);font-weight:600;color:#374151}.autosuggest-selected{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.segment-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:16px;font-size:var(--fs-xs);font-weight:500}.chip-remove{display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;width:16px;height:16px;cursor:pointer;padding:0;color:#fff;transition:background .2s}.chip-remove:hover{background:#fff6}.clear-all-btn{padding:4px 10px;background:#ef4444;color:#fff;border:none;border-radius:16px;font-size:var(--fs-xs);font-weight:500;cursor:pointer;transition:background .2s}.clear-all-btn:hover{background:#dc2626}.autosuggest-input-wrapper{position:relative;display:flex;align-items:center}.autosuggest-input-wrapper .search-icon{position:absolute;left:12px;color:#9ca3af;pointer-events:none}.autosuggest-input{width:100%;padding:10px 12px 10px 34px;border:1px solid #d1d5db;border-radius:8px;font-size:var(--fs-sm);background:#fff;transition:border-color .2s,box-shadow .2s;color:#374151}.autosuggest-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.autosuggest-dropdown{position:absolute;inset:auto 0 100%;max-height:200px;overflow-y:auto;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;margin-bottom:4px;margin-top:0;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.autosuggest-dropdown::-webkit-scrollbar{width:6px}.autosuggest-dropdown::-webkit-scrollbar-track{background:transparent}.autosuggest-dropdown::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.autosuggest-dropdown::-webkit-scrollbar-thumb:hover{background:#9ca3af}.dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:var(--fs-sm);color:#374151;cursor:pointer;transition:background .15s}.dropdown-item:hover{background:#f3f4f6}.dropdown-item.selected{background:#f3f4f6;color:#8b5cf6}.dropdown-backdrop{position:fixed;inset:0;z-index:40}.view-toggle-group{display:flex;background:#f3f4f6;border-radius:8px;padding:3px}.view-btn{padding:6px 14px;border:none;background:transparent;font-size:var(--fs-sm);font-weight:500;color:#6b7280;border-radius:6px;cursor:pointer;transition:all .2s}.view-btn.active{background:#fff;color:#111827;box-shadow:0 1px 3px #0000001a}.export-xlsx-btn{margin-left:auto;display:flex;align-items:center;gap:6px;padding:7px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;color:#fff;background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 1px 3px #0596694d;transition:all .2s}.export-xlsx-btn:hover{background:linear-gradient(135deg,#047857,#059669);box-shadow:0 2px 8px #05966966;transform:translateY(-1px)}.export-xlsx-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0596694d}.chart-container{height:450px;min-height:350px;position:relative}.chart-container-avgprice{height:450px;min-height:350px;padding-bottom:50px;position:relative}.chart-loading-overlay{position:absolute;inset:0;background:#ffffffb3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:8px}.chart-loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:chart-spin .8s linear infinite}@keyframes chart-spin{to{transform:rotate(360deg)}}.chart-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:var(--fs-base)}.histogram-stats{display:flex;justify-content:center;gap:var(--space-3xl);padding-top:var(--space-lg);border-top:1px solid #f3f4f6;margin-top:var(--space-lg)}.histogram-stats-inline{display:flex;gap:var(--space-xl);font-size:var(--fs-sm);color:#6b7280}.histogram-stats-inline .stat-inline{display:flex;gap:4px}.histogram-stats-inline .stat-inline strong{color:#374151;font-weight:600}.histogram-stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.histogram-stats .stat-label{font-size:var(--fs-xs);color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.histogram-stats .stat-value{font-size:var(--fs-base);font-weight:600;color:#374151}@media(max-width:900px){.at-tab-content{grid-template-columns:1fr;gap:16px}.at-filters-panel{max-height:none;overflow-y:visible;display:grid;grid-template-columns:1fr 1fr;gap:10px}.at-tab{padding:10px 12px;font-size:12px}}@media(max-width:600px){.at-tab-content{padding:8px}.at-filters-panel{grid-template-columns:1fr}.at-chart-container{height:300px;min-height:240px}.analytics-panel{min-height:auto}.at-filter-section-header{min-height:44px;padding:12px}.segment-chip{padding:8px 14px;font-size:13px}.chip-remove{width:24px;height:24px}.histogram-stats{flex-direction:column;gap:var(--space-md)}}.current-units-stat{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:var(--border-radius-md);margin-bottom:var(--space-lg)}.current-units-stat .stat-label{font-size:var(--fs-sm);color:#166534;font-weight:500}.current-units-stat .stat-highlight{font-size:var(--fs-lg);font-weight:700;color:#15803d}.current-units-stat .stat-count{font-size:var(--fs-sm);color:#22c55e;font-weight:500}.smart-filter-row{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-md);border-top:1px solid #f3f4f6;margin-top:var(--space-sm)}.smart-filter-label-group{display:flex;align-items:center;gap:var(--space-xs)}.smart-filter-label{font-size:var(--fs-sm);font-weight:600;color:#374151}.info-icon{color:#9ca3af;cursor:help}.toggle-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;transition:opacity .2s}.toggle-btn:hover{opacity:.8}.tooltip-container{position:relative;display:flex;align-items:center}.tooltip-text{visibility:hidden;width:200px;background-color:#1f2937;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:100;bottom:125%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .2s;font-size:var(--fs-xs);font-weight:400}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#1f2937 transparent transparent transparent}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,*:focus,*:hover{outline:none!important}button:focus,a:focus,input:focus,button:active,a:active,input:active{--tw-ring-color: transparent !important;--tw-ring-shadow: none !important;box-shadow:none!important}*{-webkit-tap-highlight-color:transparent}.clm-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.clm-container{width:100%;max-width:800px;background:#fff;border-radius:var(--border-radius-lg);box-shadow:0 4px 24px #0003;display:flex;flex-direction:column;height:85vh;animation:slideIn .3s ease-out;border:1px solid #e5e7eb}.clm-header{padding:var(--space-xl);border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.clm-title{font-size:var(--fs-xl);font-weight:700;color:#111827;margin:0}.clm-subtitle{font-size:var(--fs-sm);color:#6b7280;margin-top:4px}.clm-close{background:transparent;border:none;cursor:pointer;color:#6b7280;padding:8px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.clm-close:hover{background:#f3f4f6;color:#111827}.clm-body{padding:var(--space-xl);overflow-y:hidden;display:flex;flex-direction:column;flex:1}.clm-search-container{margin-bottom:20px;position:relative}.clm-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af}.clm-search-input{width:100%;padding:10px 12px 10px 40px;border:1px solid #d1d5db;border-radius:var(--border-radius-md);font-size:var(--fs-base);color:#111827;transition:all .2s;outline:none;background:#fff}.clm-search-input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.clm-section-title{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:24px 0 12px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.clm-section-title:first-child{margin-top:0}.clm-list-container{flex:1;overflow-y:auto;padding-right:4px}.clm-list-container::-webkit-scrollbar{width:6px}.clm-list-container::-webkit-scrollbar-track{background:transparent}.clm-list-container::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.clm-list-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}.clm-customer-container{border-radius:var(--border-radius-md);border:1px solid #f3f4f6;margin-bottom:var(--space-sm);transition:all .3s ease;background:#fff;overflow:hidden}.clm-customer-container.active{border-color:#e5e7eb;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;background:#f9fafb}.clm-customer-item{display:flex;align-items:center;padding:var(--space-md);gap:var(--space-md);cursor:pointer;background:inherit}.clm-customer-item:hover{background:#f3f4f6}.clm-customer-container.active .clm-customer-item{border-bottom:1px solid #e5e7eb}.clm-expand-icon{color:#9ca3af;margin-right:8px}.clm-avatar{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#e5e7eb}.clm-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.clm-info{flex:1;display:flex;flex-direction:column}.clm-name{font-size:var(--fs-base);font-weight:600;color:#111827;margin-bottom:2px;display:flex;align-items:center}.clm-email{font-size:var(--fs-sm);color:#6b7280}.clm-badge-ai{margin-left:8px;font-size:10px;background:#f3e8ff;color:#7e22ce;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:600}.clm-context-label{color:#6b7280;margin-left:4px}.clm-action-btn{padding:6px 16px;border-radius:var(--border-radius-md);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:all .2s;border:none;white-space:nowrap}.clm-btn-link{background:#f3f4f6;color:#4b5563}.clm-btn-link:hover{background:#e5e7eb;color:#111827}.clm-btn-linked{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.clm-btn-linked:hover{background:#d1fae5;color:#047857}.clm-accordion-content{padding:16px;animation:fadeIn .3s ease;background:#f9fafb}.clm-accordion-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.clm-accordion-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#4b5563}.clm-notes-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;margin-bottom:16px}.clm-notes-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;margin-bottom:8px}.clm-notes-input-wrapper{position:relative;display:flex;flex-direction:column}.clm-notes-input{width:100%;min-height:80px;border:1px solid #f3f4f6;border-radius:6px;padding:8px;font-size:14px;color:#111827;background:#fdfdfd;resize:vertical;outline:none;transition:border-color .2s;font-family:inherit}.clm-notes-input:focus{border-color:#d1d5db;background:#fff}.clm-save-note-btn{align-self:flex-end;margin-top:8px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#111827;color:#fff;border-radius:6px;border:none;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.clm-save-note-btn:hover{background:#374151}.clm-presentation-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .1s;box-shadow:0 2px 4px #8b5cf64d}.clm-presentation-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #8b5cf666}.clm-no-results{text-align:center;padding:40px 0;color:#9ca3af;font-size:14px}.favourite-heart{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);color:var(--color-text-muted, #6b7280);cursor:pointer;font:inherit;font-size:.875rem;transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .15s ease}.favourite-heart:hover:not(:disabled){color:#ef4444;border-color:#fecaca;background:#fef2f2}.favourite-heart:focus-visible{outline:2px solid var(--color-brand, #8b5cf6);outline-offset:2px}.favourite-heart:disabled{cursor:not-allowed;opacity:.6}.favourite-heart-active{color:#ef4444;border-color:#fecaca;background:#fef2f2}.favourite-heart-active:hover:not(:disabled){transform:scale(.97)}.favourite-heart-pending{cursor:progress}.favourite-heart-label{line-height:1}.investment-calculator{display:grid;grid-template-columns:340px 1fr;gap:20px;padding:16px;min-height:600px}.calc-inputs-panel{display:flex;flex-direction:column;gap:12px;max-height:700px;overflow-y:auto;padding-right:8px}.calc-inputs-panel::-webkit-scrollbar{width:4px}.calc-inputs-panel::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.calc-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.calc-section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#374151;margin:0 0 10px;text-transform:uppercase;letter-spacing:.5px}.calc-section-title svg{color:#6b7280}.calc-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.calc-toggle-row.disabled{opacity:.5}.calc-toggle-label{font-size:12px;color:#374151;font-weight:500}.calc-toggle-btn{background:none;border:none;cursor:pointer;color:#9ca3af;padding:2px;transition:color .15s}.calc-toggle-btn.active{color:#8b5cf6}.calc-toggle-btn:disabled{cursor:not-allowed}.calc-toggle-hint{font-size:10px;color:#9ca3af;margin-left:4px}.calc-slider-group{margin-bottom:8px}.calc-slider-group:last-child{margin-bottom:0}.calc-slider-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.calc-slider-icon{color:#6b7280;margin-right:4px}.calc-slider-label{font-size:11px;color:#6b7280;font-weight:500;flex:1}.calc-slider-value{font-size:12px;font-weight:600;color:#374151;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .15s}.calc-slider-value:hover{background:#e5e7eb}.calc-slider-text-input{font-size:12px;font-weight:600;color:#374151;width:100px;text-align:right;border:1px solid #8b5cf6;border-radius:4px;padding:2px 6px;outline:none}.calc-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb;border-radius:3px;outline:none;cursor:pointer}.calc-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#8b5cf6;border:3px solid #fff;box-shadow:0 1px 4px #0003;cursor:grab;-webkit-transition:transform .1s;transition:transform .1s}.calc-slider::-webkit-slider-thumb:active{transform:scale(1.15);cursor:grabbing}.calc-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#8b5cf6;border:3px solid #fff;box-shadow:0 1px 4px #0003;cursor:grab}.calc-payment-plan{display:flex;flex-direction:column;gap:6px}.calc-pp-row{display:grid;grid-template-columns:70px 1fr 40px 55px;align-items:center;gap:6px}.calc-pp-year{font-size:11px;color:#6b7280;font-weight:500}.calc-pp-slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb;border-radius:2px;cursor:pointer}.calc-pp-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#8b5cf6;border:2px solid #fff;box-shadow:0 1px 3px #0003;cursor:grab}.calc-pp-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#8b5cf6;border:2px solid #fff;box-shadow:0 1px 3px #0003}.calc-pp-pct{font-size:11px;font-weight:600;color:#374151;text-align:right}.calc-pp-amount{font-size:10px;color:#9ca3af;text-align:right}.calc-pp-warning{font-size:10px;color:#ef4444;font-weight:500;margin-top:4px}.calc-rental-mode{display:flex;gap:4px;margin-bottom:10px}.calc-mode-btn{flex:1;padding:6px 10px;font-size:11px;font-weight:500;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .15s}.calc-mode-btn.active{color:#8b5cf6;border-color:#8b5cf6;background:#f5f3ff;font-weight:600}.calc-mode-btn:hover:not(.active){background:#f3f4f6}.calc-plan-select{width:100%;padding:6px 8px;font-size:11px;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;background:#fff;color:#374151}.calc-mortgage-summary{display:flex;justify-content:space-between;margin-top:6px;padding:6px 8px;background:#ede9fe;border-radius:4px;font-size:10px;color:#6d28d9;font-weight:500}.calc-results-panel{display:flex;flex-direction:column;gap:16px}.calc-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.calc-metric-card{text-align:center;padding:4px 0}.calc-metric-label{font-size:11px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.calc-metric-value{font-size:20px;font-weight:700;line-height:1.2}.calc-metric-subtitle{font-size:10px;color:#9ca3af;margin-top:2px}.calc-chart-container{height:350px;min-height:280px;position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px}.calc-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:14px;text-align:center}.calc-chart-empty-hint{font-size:12px;margin-top:4px}.calc-chart-tooltip{background:#fff;border-radius:8px;padding:10px 14px;box-shadow:0 4px 12px #00000026;font-size:12px;line-height:1.6;color:#374151;white-space:nowrap;min-width:180px}.calc-chart-tooltip strong{display:block;margin-bottom:4px;font-size:13px}.calc-tooltip-hint{font-size:10px;color:#9ca3af;margin-top:6px;font-style:italic}.calc-cf-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.calc-cf-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.calc-cf-header:hover{background:#f3f4f6}.calc-cf-header h4{font-size:13px;font-weight:600;color:#374151;margin:0}.calc-cf-irr{font-weight:500;color:#f59e0b}.calc-cf-controls{display:flex;align-items:center;gap:8px}.calc-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.calc-kpi-slider-row{display:flex;align-items:center;gap:10px;padding:0 8px;margin-top:12px}.calc-kpi-slider-label{font-size:10px;color:#9ca3af;font-weight:600;white-space:nowrap;min-width:28px;text-align:center}.calc-kpi-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:#e5e7eb;outline:none;cursor:pointer}.calc-kpi-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#8b5cf6;border:2px solid #fff;box-shadow:0 1px 4px #8b5cf666;cursor:pointer;-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.calc-kpi-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 2px 8px #8b5cf680}.calc-kpi-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#8b5cf6;border:2px solid #fff;box-shadow:0 1px 4px #8b5cf666;cursor:pointer}.calc-kpi-slider-caption{text-align:center;font-size:11px;color:#9ca3af;padding:4px 0 8px}.calc-kpi-slider-caption strong{color:#6b7280}.calc-cf-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.calc-cf-table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}.calc-cf-table thead{background:#f9fafb;position:sticky;top:0}.calc-cf-table th{padding:8px 10px;text-align:right;font-weight:600;color:#6b7280;border-bottom:2px solid #e5e7eb;font-size:10px;text-transform:uppercase;letter-spacing:.3px}.calc-cf-table th:first-child{text-align:left}.calc-cf-table td{padding:6px 10px;text-align:right;color:#374151;border-bottom:1px solid #f3f4f6}.calc-cf-table td:first-child{text-align:left;font-weight:500}.calc-cf-table td.year-cell{font-size:10px;color:#6b7280;min-width:120px}.calc-cf-table td.positive{color:#16a34a}.calc-cf-table td.negative{color:#dc2626}.calc-cf-table td.sale-receipt{font-weight:700}.calc-cf-table tr.sale-year{background:#fffbeb}.calc-cf-table tr:hover{background:#f9fafb}.calc-cf-table tr.sale-year:hover{background:#fef3c7}@media(max-width:900px){.investment-calculator{grid-template-columns:1fr;gap:16px}.calc-inputs-panel{max-height:none;overflow-y:visible;padding-right:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.calc-summary-row{grid-template-columns:repeat(2,1fr)}.calc-chart-container{height:280px;min-height:240px}}@media(max-width:600px){.investment-calculator{padding:8px}.calc-inputs-panel,.calc-summary-row{grid-template-columns:1fr}.calc-metric-card{padding:10px}.calc-metric-value{font-size:16px}.calc-chart-container{height:240px;min-height:200px}}.dev-perf{display:grid;grid-template-columns:300px 1fr;gap:20px;padding:16px;min-height:600px}.dp-filters{display:flex;flex-direction:column;gap:12px;max-height:700px;overflow-y:auto;padding-right:8px}.dp-filters::-webkit-scrollbar{width:4px}.dp-filters::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.dp-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.dp-section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#374151;margin:0 0 10px;text-transform:uppercase;letter-spacing:.5px}.dp-section-title svg{color:#6b7280}.dp-segment-pills{display:flex;flex-wrap:wrap;gap:4px}.dp-segment-pills .view-btn{flex:1;min-width:0;padding:6px 4px;font-size:11px;white-space:nowrap}.dp-segment-pills .view-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.dp-dev-filter{display:flex;flex-direction:column;gap:6px}.dp-dev-filter-value{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;font-size:13px;color:#111827}.dp-dev-filter-clear{background:none;border:none;cursor:pointer;color:#9ca3af;padding:2px;display:flex;align-items:center}.dp-dev-filter-clear:hover{color:#ef4444}.dp-checkbox-group{display:flex;flex-wrap:wrap;gap:4px}.dp-checkbox-group .checkbox-item{min-width:48px}.dp-year-range{display:flex;flex-direction:column;gap:4px}.dp-year-range-labels{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:#111827}.dp-range-slider{position:relative;height:28px}.dp-range-input{position:absolute;top:0;left:0;width:100%;height:28px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;pointer-events:none;outline:none}.dp-range-input::-webkit-slider-runnable-track{height:4px;background:#e5e7eb;border-radius:2px}.dp-range-from::-webkit-slider-runnable-track{background:#e5e7eb}.dp-range-to::-webkit-slider-runnable-track{background:transparent}.dp-range-input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#6366f1;border:2px solid #fff;box-shadow:0 1px 3px #0003;margin-top:-6px;cursor:pointer;pointer-events:auto}.dp-range-input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#6366f1;border:2px solid #fff;box-shadow:0 1px 3px #0003;cursor:pointer;pointer-events:auto}.dp-range-input::-moz-range-track{height:4px;background:transparent;border:none}.dp-chart-panel{display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;min-height:500px}.dp-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dp-chart-title{font-size:14px;font-weight:600;color:#111827;margin:0}.dp-chart-subtitle{font-size:12px;color:#6b7280;margin:0}.dp-chart-container{flex:1;min-height:400px;position:relative}.dp-chart-loading,.dp-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;color:#9ca3af;gap:8px}.dp-chart-loading .spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:dp-spin .8s linear infinite}@keyframes dp-spin{to{transform:rotate(360deg)}}.dp-chart-empty p{font-size:13px;margin:0}.dp-tooltip{background:#1f2937;border-radius:8px;padding:10px 14px;color:#fff;font-size:12px;box-shadow:0 4px 12px #00000026;min-width:180px}.dp-tooltip-title{font-weight:600;font-size:13px;margin-bottom:6px;border-bottom:1px solid #374151;padding-bottom:4px}.dp-tooltip-row{display:flex;justify-content:space-between;gap:16px;padding:2px 0}.dp-tooltip-label{color:#9ca3af}.dp-tooltip-value{font-weight:500}.dp-autosuggest .autosuggest-container{margin:0}.dp-autosuggest .autosuggest-label{display:none}.dp-autosuggest .autosuggest-input{font-size:12px;padding:6px 8px 6px 28px}.dp-autosuggest .segment-chip{font-size:11px;padding:2px 6px}.dp-export-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.dp-export-btn:hover{background:#dcfce7}@media(max-width:768px){.dev-perf{grid-template-columns:1fr;gap:12px;padding:10px}.dp-filters{max-height:none;padding-right:0}.dp-chart-container{min-height:300px}}.compare-tab{padding:0 0 24px}.compare-toolbar{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px;margin-bottom:20px}.compare-toolbar-columns{display:flex;gap:20px;align-items:flex-start}.compare-percentile-hero{flex:1;min-width:0}.percentile-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.percentile-project-name{font-size:13px;font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.percentile-metric-label{font-size:11px;color:#9ca3af;white-space:nowrap}.percentile-segment-selector{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}.segment-chip{padding:3px 10px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;transition:all .15s ease}.segment-chip:hover{border-color:#8b5cf6;color:#7c3aed}.segment-chip.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.percentile-badge{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px;display:flex;flex-direction:column;align-items:center}.percentile-badge.percentile-loading{display:flex;align-items:center;justify-content:center;min-height:100px}.percentile-badge.percentile-empty{color:#9ca3af;font-size:12px;min-height:60px;display:flex;align-items:center;justify-content:center}.percentile-top-row{display:flex;align-items:center;gap:16px;margin-bottom:12px}.percentile-ring{position:relative;width:72px;height:72px;flex-shrink:0}.percentile-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.percentile-ring-bg{fill:none;stroke:#f3f4f6;stroke-width:3}.percentile-ring-fill{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .5s ease}.percentile-green .percentile-ring-fill{stroke:#059669}.percentile-amber .percentile-ring-fill{stroke:#d97706}.percentile-red .percentile-ring-fill{stroke:#dc2626}.percentile-ring-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;line-height:1;color:#374151}.percentile-info{display:flex;flex-direction:column;gap:2px;min-width:0}.percentile-headline{font-size:22px;font-weight:800;line-height:1.1;display:inline-flex;align-items:center;gap:5px}.percentile-green .percentile-headline{color:#059669}.percentile-amber .percentile-headline{color:#d97706}.percentile-red .percentile-headline{color:#dc2626}.percentile-help-wrapper{position:relative;display:inline-flex;align-items:center;cursor:help}.percentile-help-icon{color:#9ca3af;flex-shrink:0;transition:color .15s ease}.percentile-help-wrapper:hover .percentile-help-icon{color:#6b7280}.percentile-help-tooltip{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:240px;padding:10px 12px;background:#1f2937;color:#f3f4f6;font-size:11px;font-weight:400;line-height:1.5;white-space:normal;letter-spacing:0;border-radius:8px;box-shadow:0 4px 16px #0003;z-index:50;pointer-events:none}.percentile-help-tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#1f2937}.percentile-help-wrapper:hover .percentile-help-tooltip{display:block}.percentile-help-tooltip strong{color:#fff}.percentile-label-tag{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:4px;width:-moz-fit-content;width:fit-content}.percentile-green .percentile-label-tag{color:#059669;background:#ecfdf5}.percentile-amber .percentile-label-tag{color:#d97706;background:#fffbeb}.percentile-red .percentile-label-tag{color:#dc2626;background:#fef2f2}.percentile-price-tag{font-size:13px;font-weight:600;color:#6b7280;margin-top:2px}.percentile-bar-track{position:relative;height:6px;border-radius:3px;background:linear-gradient(to right,#10b981,#f59e0b,#ef4444);margin-bottom:4px;width:100%;align-self:stretch}.percentile-bar-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:#fff;border:2.5px solid #374151;box-shadow:0 1px 4px #0003}.percentile-bar-labels{display:flex;justify-content:space-between;align-self:stretch;font-size:9px;color:#9ca3af;margin-bottom:6px}.percentile-context{font-size:11px;color:#9ca3af;text-align:center}.compare-filters-column{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:200px;align-self:center;overflow:visible}.compare-filter-row{display:flex;align-items:center;gap:6px;position:relative;z-index:0}.compare-filter-row:hover{z-index:10}.compare-toolbar-label{color:#6b7280;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;min-width:65px;display:inline-flex;align-items:center;gap:3px}.filter-help-wrapper{display:inline-flex;align-items:center;cursor:help}.filter-help-icon{color:#c4c8cf;flex-shrink:0;transition:color .15s ease}.filter-help-wrapper:hover .filter-help-icon{color:#8b5cf6}.filter-help-tooltip{display:none;position:absolute;top:calc(100% + 6px);left:0;width:220px;padding:8px 10px;background:#1f2937;color:#f3f4f6;font-size:11px;font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none;border-radius:6px;box-shadow:0 2px 8px #00000026;z-index:50;pointer-events:none;white-space:normal;overflow-wrap:break-word;height:-moz-fit-content;height:fit-content}.filter-help-tooltip:before{content:"";position:absolute;bottom:100%;left:14px;border:5px solid transparent;border-bottom-color:#1f2937}.filter-help-tooltip:after{display:none}.filter-help-wrapper:hover .filter-help-tooltip{display:block}.compare-inline-filter{display:flex;align-items:center;gap:6px}.filter-slider-inline{width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb;border-radius:2px;outline:none;cursor:pointer}.filter-slider-inline::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#8b5cf6;border:2px solid #fff;box-shadow:0 1px 3px #8b5cf666;cursor:grab}.filter-slider-inline::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#8b5cf6;border:2px solid #fff;box-shadow:0 1px 3px #8b5cf666;cursor:grab}.filter-value-inline{font-size:12px;font-weight:600;color:#374151;min-width:32px}.filter-range-inline{font-size:10px;color:#9ca3af;white-space:nowrap}.filter-select-inline{padding:3px 6px;font-size:12px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-weight:600;width:42px;text-align:center}.compare-filter-actions{margin-top:2px}.compare-apply-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;font-size:11px;font-weight:600;color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:not-allowed;transition:all .15s ease}.compare-apply-btn.has-changes{color:#fff;background:#8b5cf6;border-color:#8b5cf6;cursor:pointer;animation:pulse-apply 1.5s ease infinite}.compare-apply-btn.has-changes:hover{background:#7c3aed;border-color:#7c3aed}@keyframes pulse-apply{0%,to{box-shadow:0 0 #8b5cf64d}50%{box-shadow:0 0 0 4px #8b5cf600}}.compare-toolbar-status{font-size:12px;color:#6b7280;line-height:1.5;margin-top:2px}.compare-toolbar-status strong{color:#111827}.compare-excluded{color:#9ca3af;font-size:11px}.compare-reset-btn{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:3px 10px;font-size:11px;font-weight:500;color:#8b5cf6;background:transparent;border:1px solid rgba(139,92,246,.3);border-radius:6px;cursor:pointer;transition:all .15s ease}.compare-reset-btn:hover{background:#f5f3ff;border-color:#8b5cf6}.compare-loading-inline{display:inline-flex;align-items:center;gap:6px;color:#6b7280}.compare-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-4xl);color:#6b7280;font-size:14px}.compare-error{padding:16px 20px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px}.compare-empty{text-align:center;padding:60px 20px;color:#6b7280;font-size:14px;line-height:1.6}.compare-empty strong{color:#374151}.compare-empty-state{text-align:center;padding:30px;color:#9ca3af;font-size:13px}.compare-section{margin-bottom:24px}.compare-section-title{font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.compare-ranking-section{display:flex;flex-direction:column;gap:0}.compare-ranking-list{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:8px;overflow-y:auto;overflow-x:hidden;max-height:360px;background:#fff;scrollbar-width:thin;scrollbar-color:#d1d5db transparent;scroll-snap-type:y mandatory;scroll-padding-top:44px}.compare-ranking-list::-webkit-scrollbar{width:4px}.compare-ranking-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.ranking-row{display:grid;grid-template-columns:36px 1fr 140px 1fr;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #f3f4f6;transition:background .1s ease;scroll-snap-align:start}.ranking-row:last-child{border-bottom:none}.ranking-row:hover{background:#fafafa}.ranking-row.ranking-current{background:#f5f3ff;border-left:3px solid #8b5cf6;position:sticky;top:0;z-index:2;box-shadow:0 2px 4px #0000000f}.ranking-row.ranking-current:hover{background:#ede9fe}.ranking-rank{font-size:14px;font-weight:700;color:#9ca3af;text-align:center}.ranking-current .ranking-rank{color:#8b5cf6}.ranking-project{display:flex;align-items:center;gap:5px;min-width:0}.ranking-star{flex-shrink:0}.ranking-name{font-size:13px;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-current .ranking-name{font-weight:600;color:#111827}.ranking-price{font-size:13px;font-weight:600;color:#374151;text-align:right;white-space:nowrap}.ranking-unit{font-size:10px;font-weight:400;color:#9ca3af;margin-left:3px}.ranking-bar-track{height:8px;border-radius:4px;background:#f3f4f6;overflow:hidden}.ranking-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.ranking-bar-fill.rank-green{background:linear-gradient(to right,#10b981,#34d399)}.ranking-bar-fill.rank-amber{background:linear-gradient(to right,#f59e0b,#fbbf24)}.ranking-bar-fill.rank-red{background:linear-gradient(to right,#ef4444,#f87171)}.ranking-overscroll-spacer{flex:0 0 272px;scroll-snap-align:none}.compare-cards-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;scroll-padding-left:222px;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.compare-cards-scroll::-webkit-scrollbar{height:6px}.compare-cards-scroll::-webkit-scrollbar-track{background:transparent}.compare-cards-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.compare-project-card{flex:0 0 210px;min-width:210px;background:#fff;border:1px solid #e5e7eb;border-radius:var(--border-radius-lg);overflow:hidden;scroll-snap-align:start;transition:border-color .2s ease,box-shadow .2s ease}.compare-project-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.compare-project-card.is-current{position:sticky;left:0;z-index:5;border-color:#8b5cf6;box-shadow:4px 0 12px #00000014}.compare-card-image{height:120px;overflow:hidden;background:#f3f4f6;position:relative}.compare-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.compare-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#d1d5db;background:#f3f4f6}.compare-card-star{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#fffffff2;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000026}.compare-card-dismiss{position:absolute;top:6px;right:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffffd9;border:none;color:#9ca3af;cursor:pointer;border-radius:50%;transition:all .15s ease;opacity:0}.compare-project-card:hover .compare-card-dismiss{opacity:1}.compare-card-dismiss:hover{background:#fef2f2;color:#ef4444}.compare-card-header{padding:10px 12px 4px}.compare-card-name{font-size:13px;font-weight:600;color:#111827;margin:0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-card-developer{font-size:11px;color:#9ca3af;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-card-stats{padding:6px 12px 10px;display:flex;flex-direction:column;gap:2px}.compare-card-stat{display:flex;justify-content:space-between;font-size:11px}.compare-card-stat .stat-label{color:#9ca3af}.compare-card-stat .stat-value{color:#374151;font-weight:600}.compare-card-stat.stat-highlight{background:#f5f3ff;margin:0 -12px;padding:4px 12px;border-radius:0}.compare-card-stat.stat-highlight .stat-label{color:#7c3aed;font-weight:600}.compare-card-stat.stat-highlight .stat-value{color:#7c3aed}.compare-card-open{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;font-size:12px;font-weight:500;color:#8b5cf6;background:transparent;border:none;border-top:1px solid #f3f4f6;cursor:pointer;transition:background .15s ease}.compare-card-open:hover{background:#f5f3ff}.card-position-bar{padding:6px 12px 8px;border-top:1px solid #f3f4f6}.card-position-track{position:relative;height:4px;border-radius:2px;background:linear-gradient(to right,#10b981,#f59e0b,#ef4444);margin-bottom:3px}.card-position-arrow{position:absolute;top:-4px;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #374151;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.card-position-labels{display:flex;justify-content:space-between;font-size:8px;color:#9ca3af;line-height:1}.scroll-overscroll-spacer{flex:0 0 calc(100% - 234px);min-width:40px}.compare-floorplans-section{display:flex;flex-direction:column;gap:14px}.compare-floorplans-tabs{display:flex;gap:6px}.floorplan-tab{padding:5px 14px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid #d1d5db;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s ease}.floorplan-tab:hover{border-color:#8b5cf6;color:#7c3aed}.floorplan-tab.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.compare-floorplans-grid{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;scroll-padding-left:232px;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.compare-floorplans-grid::-webkit-scrollbar{height:6px}.compare-floorplans-grid::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.compare-floorplan-card{flex:0 0 220px;min-width:220px;background:#fff;border:1px solid #e5e7eb;border-radius:var(--border-radius-lg);overflow:hidden;scroll-snap-align:start;transition:border-color .2s ease}.compare-floorplan-card:hover{border-color:#d1d5db}.compare-floorplan-card.is-current{position:sticky;left:0;z-index:5;border-color:#8b5cf6;box-shadow:4px 0 12px #00000014}.floorplan-image-container{height:180px;overflow:hidden;background:#f9fafb;display:flex;align-items:center;justify-content:center;position:relative}.floorplan-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:8px}.floorplan-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;color:#d1d5db;font-size:12px}.floorplan-star{position:absolute;top:6px;right:6px;width:24px;height:24px;background:#fffffff2;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0000001f}.floorplan-info{padding:10px 12px;border-top:1px solid #f3f4f6}.floorplan-project-name{font-size:12px;font-weight:600;color:#111827;margin-bottom:4px}.floorplan-details{font-size:11px;color:#6b7280;display:flex;align-items:center;gap:4px}.detail-separator{color:#d1d5db}.floorplan-price-sqft{font-size:11px;color:#8b5cf6;font-weight:600;margin-top:3px}@media(max-width:900px){.compare-toolbar-columns{flex-direction:column}.compare-filters-column{min-width:auto}.filter-slider-inline{width:60px}}@media(max-width:600px){.compare-project-card{flex:0 0 170px;min-width:170px}.compare-floorplan-card{flex:0 0 180px;min-width:180px}.ranking-row{grid-template-columns:30px 1fr 100px 80px;gap:4px;padding:8px 10px}}.map-loading-screen{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e1b4b,#0f172a);transition:transform .8s cubic-bezier(.4,0,.2,1),opacity .8s cubic-bezier(.4,0,.2,1);transform-origin:center center}.map-loading-screen.zoom-fade-out{opacity:0;transform:scale(1.5)}.loading-bg-gradient{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%,rgba(139,92,246,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(6,182,212,.15) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(99,102,241,.1) 0%,transparent 60%);animation:gradientPulse 4s ease-in-out infinite}@keyframes gradientPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.loading-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.particle{position:absolute;width:4px;height:4px;background:linear-gradient(135deg,#8b5cf6,#06b6d4);border-radius:50%;left:var(--x);bottom:-10px;opacity:.6;animation:particleFloat var(--duration) ease-in-out infinite;animation-delay:var(--delay)}@keyframes particleFloat{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100vh) scale(.5);opacity:0}}.loading-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:32px}.loading-logo{display:flex;flex-direction:column;align-items:center;gap:16px;animation:logoFadeIn 1s ease-out}@keyframes logoFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.logo-icon-container{position:relative;display:flex;align-items:center;justify-content:center}.logo-icon{animation:logoGlow 2s ease-in-out infinite;transition:filter .3s ease}.logo-icon-container.complete .logo-icon{animation:none;filter:drop-shadow(0 0 30px rgba(34,197,94,.6))}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 20px rgba(139,92,246,.5))}50%{filter:drop-shadow(0 0 40px rgba(139,92,246,.8))}}.check-overlay{position:absolute;bottom:-8px;right:-8px;opacity:0;transform:scale(0);transition:all .4s cubic-bezier(.34,1.56,.64,1)}.check-overlay.show{opacity:1;transform:scale(1)}.check-overlay svg{filter:drop-shadow(0 2px 8px rgba(34,197,94,.5))}.loading-title{font-size:28px;font-weight:700;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;margin:0}.map-loading-screen .loading-spinner-container{position:relative;width:80px;height:80px;transition:opacity .3s ease,transform .3s ease}.map-loading-screen .loading-spinner-container.hidden{opacity:0;transform:scale(.8);height:0;margin-top:-32px}.map-loading-screen .loading-spinner{position:relative;width:100%;height:100%}.map-loading-screen .spinner-ring{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;animation:mapSpinnerRotate 1.5s linear infinite}.map-loading-screen .spinner-ring:nth-child(1){border-top-color:#8b5cf6;animation-duration:1.5s}.map-loading-screen .spinner-ring:nth-child(2){inset:8px;border-right-color:#06b6d4;animation-duration:2s;animation-direction:reverse}.map-loading-screen .spinner-ring:nth-child(3){inset:16px;border-bottom-color:#a855f7;animation-duration:2.5s}@keyframes mapSpinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text-container{height:28px;display:flex;align-items:center;justify-content:center;overflow:hidden}.loading-phrase{font-size:16px;color:#94a3b8;margin:0;animation:phraseSlide .4s ease-out}.done-phrase{font-size:20px;font-weight:600;color:#fff;animation:donePopIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes donePopIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes phraseSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-dots{display:flex;gap:8px;transition:opacity .3s ease,transform .3s ease}.loading-dots.hidden{opacity:0;transform:scale(.8)}.dot{width:8px;height:8px;background:linear-gradient(135deg,#8b5cf6,#06b6d4);border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.3);opacity:1}}.loading-footer{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:1}.loading-footer span{font-size:13px;color:#64748b;letter-spacing:1px;text-transform:uppercase}.dual-range-slider{display:flex;flex-direction:column;gap:3px;min-width:120px}.dual-range-slider.disabled{opacity:.35;pointer-events:none}.dual-range-label{font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.dual-range-track-wrapper{position:relative;height:20px}.dual-range-track{position:absolute;top:50%;left:0;right:0;height:4px;transform:translateY(-50%);background:#e5e7eb;border-radius:2px}.dual-range-fill{position:absolute;top:50%;height:4px;transform:translateY(-50%);background:#8b5cf6;border-radius:2px;pointer-events:none}.dual-range-input{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;pointer-events:none;margin:0;padding:0}.dual-range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#8b5cf6;border:2px solid #ffffff;box-shadow:0 1px 3px #8b5cf666;cursor:grab;pointer-events:auto;position:relative;z-index:2}.dual-range-input::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.15)}.dual-range-input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#8b5cf6;border:2px solid #ffffff;box-shadow:0 1px 3px #8b5cf666;cursor:grab;pointer-events:auto}.dual-range-input::-moz-range-track{background:transparent;border:none}.dual-range-high{z-index:1}.dual-range-values{display:flex;justify-content:space-between;font-size:10px;font-weight:600;color:#374151;font-variant-numeric:tabular-nums}.ai-compare-overlay{position:fixed;inset:0;z-index:2000;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:ai-compare-fade-in .2s ease-out}@keyframes ai-compare-fade-in{0%{opacity:0}to{opacity:1}}.ai-compare-modal{width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column;overflow:hidden;animation:ai-compare-fade-in .2s ease-out}.ai-compare-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.ai-compare-header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.ai-compare-header-left h2{font-size:16px;font-weight:700;color:#111827;margin:0}.ai-compare-count{font-size:13px;color:#6b7280;display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.ai-compare-pinned-count{font-size:11px;color:#7c3aed;background:#ede9fe;padding:2px 8px;border-radius:10px;font-weight:600}.ai-compare-header-right{display:flex;align-items:center;gap:16px}.ai-compare-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#f3f4f6;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .15s}.ai-compare-close:hover{background:#e5e7eb;color:#111827}.ai-compare-body{flex:1;overflow-y:auto;padding:20px 24px;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.ai-compare-body::-webkit-scrollbar{width:6px}.ai-compare-body::-webkit-scrollbar-track{background:transparent}.ai-compare-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.ai-compare-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.ai-compare-filters{display:flex;gap:20px;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;padding:8px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.ai-compare-year-filter{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:130px}.ai-compare-year-selects{display:flex;align-items:center;gap:4px}.ai-compare-year-select{padding:3px 4px;font-size:12px;font-weight:500;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;outline:none;transition:border-color .15s}.ai-compare-year-select:hover{border-color:#d1d5db}.ai-compare-year-select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.ai-compare-year-sep{font-size:12px;color:#9ca3af;font-weight:500}.ai-compare-ysh-filter{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:120px}.ai-compare-ysh-label{font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ai-compare-ysh-slider{width:100%;accent-color:#6366f1;cursor:pointer}.ai-compare-room-filters{display:flex;align-items:center;gap:12px;padding:8px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0;background:#f9fafb}.ai-room-pills{display:flex;gap:6px;flex-shrink:0}.ai-room-pill{display:inline-flex;align-items:center;padding:4px 12px;font-size:12px;font-weight:500;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:16px;cursor:pointer;transition:all .15s;white-space:nowrap}.ai-room-pill:hover{border-color:#d1d5db;color:#374151}.ai-room-pill.active{background:#ede9fe;border-color:#8b5cf6;color:#7c3aed;font-weight:600}.ai-room-sliders{display:flex;gap:16px;flex:1;min-width:0;align-items:flex-end}.ai-room-sliders .dual-range-slider{min-width:120px;max-width:180px}.ai-unit-toggle{display:flex;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2px;flex-shrink:0;margin-left:auto}.ai-unit-toggle button{display:flex;align-items:center;justify-content:center;padding:4px 10px;font-size:12px;font-weight:500;color:#9ca3af;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s}.ai-unit-toggle button:hover{color:#6b7280}.ai-unit-toggle button.active{background:#7c3aed;color:#fff;font-weight:600;box-shadow:0 1px 3px #7c3aed33}.ai-ranking-row.is-muted{opacity:.4;filter:grayscale(.6);transition:opacity .2s ease,filter .2s ease}.ai-ranking-row.is-muted:hover{opacity:.65;filter:grayscale(.3)}.compare-project-card.is-muted{opacity:.4;filter:grayscale(.6);transition:opacity .2s ease,filter .2s ease}.compare-project-card.is-muted:hover{opacity:.65;filter:grayscale(.3)}.compare-project-card.is-muted .compare-card-actions-overlay{opacity:1}.ai-action-btn.mute-btn.active{color:#9ca3af;background:#f3f4f6}.compare-card-action-btn.mute-btn.active{background:#f3f4f6e6;color:#9ca3af}.ai-compare-muted-count{font-size:11px;color:#9ca3af;background:#f3f4f6;padding:2px 8px;border-radius:10px;font-weight:600}.ai-view-toggle{display:flex;background:#f3f4f6;border-radius:8px;padding:2px}.ai-view-btn{display:flex;align-items:center;justify-content:center;width:36px;height:32px;border:none;background:transparent;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .15s}.ai-view-btn:hover{color:#6b7280}.ai-view-btn.active{background:#fff;color:#7c3aed;box-shadow:0 1px 3px #00000014}.ai-metric-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;white-space:nowrap}.ai-metric-badge.metric-positive{color:#059669;background:#ecfdf5}.ai-metric-badge.metric-neutral{color:#d97706;background:#fffbeb}.ai-metric-badge.metric-negative{color:#dc2626;background:#fef2f2}.compare-card-badges{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.ai-ranking-section{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.ai-ranking-header{display:grid;grid-template-columns:36px 1.5fr 1fr 96px;align-items:center;gap:8px;padding:8px 14px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.ai-ranking-header-rank,.ai-ranking-header-name{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.03em}.ai-ranking-pinned{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d}.ai-ranking-pinned .ai-ranking-row{background:#fff}.ai-ranking-pinned .ai-ranking-row:hover{background:#fafafa}.ai-ranking-list{display:flex;flex-direction:column;overflow-y:auto;max-height:75vh;scroll-snap-type:y proximity;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.ai-ranking-list::-webkit-scrollbar{width:6px}.ai-ranking-list::-webkit-scrollbar-track{background:transparent}.ai-ranking-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.ai-ranking-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.ai-ranking-row{display:grid;grid-template-columns:36px 1.5fr 1fr 96px;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #f3f4f6;transition:background .1s ease;scroll-snap-align:start}.ai-ranking-row:last-child{border-bottom:none}.ai-ranking-row:hover{background:#fafafa}.ai-ranking-rank{font-size:13px;font-weight:700;color:#9ca3af;text-align:center}.pin-icon-inline{color:#7c3aed}.ai-ranking-info{min-width:0;display:flex;flex-direction:column;gap:2px}.ai-ranking-project-name{font-size:13px;font-weight:600;color:#374151;background:none;border:none;padding:0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-ranking-project-name:hover{color:#7c3aed;text-decoration:underline}.ai-ranking-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ai-ranking-area{font-size:11px;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.ai-ranking-metric-cell{display:flex;flex-direction:column;gap:3px;min-width:0}.ai-ranking-metric-value{font-size:12px;font-weight:600;color:#374151;text-align:center;white-space:nowrap}.ai-ranking-metric-unit{font-size:9px;font-weight:400;color:#9ca3af;margin-left:2px}.ai-ranking-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.ai-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .15s}.ai-action-btn:hover{background:#f3f4f6;color:#6b7280}.ai-action-btn.active,.ai-action-btn.pin-btn.active{color:#7c3aed;background:#ede9fe}.ai-ranking-expand{padding:8px 14px 12px 50px;background:#f9fafb;border-bottom:1px solid #e5e7eb;animation:ai-expand-in .15s ease-out}@keyframes ai-expand-in{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.ai-floorplan-grid{display:flex;gap:12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.ai-floorplan-grid::-webkit-scrollbar{height:6px}.ai-floorplan-grid::-webkit-scrollbar-track{background:transparent}.ai-floorplan-grid::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.ai-floorplan-grid::-webkit-scrollbar-thumb:hover{background:#9ca3af}.ai-floorplan-item{flex:0 0 auto;width:170px;display:flex;flex-direction:column;gap:0;background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.ai-floorplan-item.is-muted{opacity:.35;filter:grayscale(.6);transition:opacity .2s ease,filter .2s ease}.ai-floorplan-item.is-muted:hover{opacity:.55;filter:grayscale(.3)}.ai-floorplan-item img{width:100%;height:120px;-o-object-fit:contain;object-fit:contain;background:#f8f9fa;border-bottom:1px solid #f0f0f0}.ai-floorplan-caption{padding:6px 8px 8px;display:flex;flex-direction:column;gap:3px}.ai-floorplan-headline{display:flex;align-items:center;gap:6px}.ai-floorplan-area{font-size:11px;font-weight:500;color:#374151}.ai-floorplan-badge{background:#eff6ff;color:#2563eb;font-weight:600;font-size:9px;padding:1px 5px;border-radius:4px;white-space:nowrap}.ai-floorplan-price{font-size:10px;color:#6b7280}.ai-floorplan-rooms{display:flex;flex-direction:column;gap:0;margin-top:3px;border-top:1px solid #f3f4f6;padding-top:4px}.ai-floorplan-room-row{display:flex;justify-content:space-between;align-items:baseline;padding:1px 0}.ai-room-name{font-size:9px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.ai-room-area{font-size:9px;color:#6b7280;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:8px}.ai-room-area:after{content:" " attr(data-unit);font-weight:400;color:#9ca3af}.compare-card-floorplans .ai-floorplan-item{width:130px}.compare-card-floorplans .ai-floorplan-item img{height:90px}.ai-floorplan-empty{font-size:12px;color:#9ca3af;padding:8px 0}.ai-visual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.ai-visual-split{display:flex;gap:14px;align-items:flex-start}.ai-visual-pinned-panel{position:sticky;top:0;flex-shrink:0;display:flex;flex-direction:column;gap:14px;min-width:220px}.ai-visual-scroll-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;min-width:0}.compare-card-actions-overlay{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .15s}.compare-project-card:hover .compare-card-actions-overlay,.compare-project-card.is-pinned .compare-card-actions-overlay{opacity:1}.compare-card-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s;box-shadow:0 1px 3px #0000001a}.compare-card-action-btn:hover{background:#fff}.compare-card-action-btn.pin-btn.active{background:#ede9fe;color:#7c3aed}.compare-project-card.is-pinned{border-color:#8b5cf6;box-shadow:0 0 0 1px #8b5cf6,0 2px 8px #8b5cf626}.compare-card-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid #f3f4f6;gap:8px}.compare-card-expand-btn{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#6b7280;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s}.compare-card-expand-btn:hover{background:#f3f4f6;color:#374151}.compare-card-expand-btn.active{color:#7c3aed}.compare-card-floorplans{display:flex;gap:8px;padding:8px 12px 12px;overflow-x:auto;border-top:1px solid #f3f4f6;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.compare-card-floorplans::-webkit-scrollbar{height:6px}.compare-card-floorplans::-webkit-scrollbar-track{background:transparent}.compare-card-floorplans::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.compare-card-floorplans::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media(max-width:1024px){.ai-compare-header,.ai-compare-filters{flex-wrap:wrap}}@media(max-width:768px){.ai-compare-room-filters{flex-wrap:wrap;padding:8px 16px}.ai-room-pills{flex-wrap:wrap}.ai-room-sliders{flex-wrap:wrap;width:100%}.ai-room-sliders .dual-range-slider{max-width:none;flex:1;min-width:140px}.ai-compare-header{flex-direction:column;gap:12px;align-items:flex-start;padding:12px 16px}.ai-compare-header-right{width:100%;justify-content:space-between}.ai-compare-body{padding:16px}.ai-ranking-section{overflow-x:auto}.ai-ranking-header,.ai-ranking-row{min-width:500px}.ai-visual-grid,.ai-visual-scroll-grid{grid-template-columns:1fr}.ai-visual-split{flex-direction:column}.ai-visual-pinned-panel{position:static;width:100%!important}}.map-favourites-filter{position:absolute;top:16px;right:16px;z-index:500;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:999px;background:#fffffff2;color:var(--color-text-muted, #6b7280);cursor:pointer;font:inherit;font-size:.8125rem;box-shadow:0 1px 3px #0000001a;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.map-favourites-filter:hover:not(:disabled){color:#ef4444;border-color:#fecaca}.map-favourites-filter:focus-visible{outline:2px solid var(--color-brand, #8b5cf6);outline-offset:2px}.map-favourites-filter:disabled{cursor:not-allowed;opacity:.6}.map-favourites-filter-active{color:#ef4444;border-color:#fecaca;background:#fef2f2}.map-favourites-filter-label{line-height:1}.map-favourites-filter-count{padding:2px 6px;border-radius:999px;background:#0000000f;font-size:.75rem;font-weight:600;line-height:1}.map-favourites-filter-active .map-favourites-filter-count{background:#ef444426}.heatmap-slider{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:999;display:flex;align-items:center;gap:.75rem;padding:.625rem 1.5rem;background:#ffffff4d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:9999px;box-shadow:0 4px 24px #00000014;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.heatmap-slider-label{font-size:.6875rem;font-weight:700;color:#374151;font-variant-numeric:tabular-nums;min-width:2.25rem;text-align:center}.heatmap-slider-value{font-size:.8125rem;font-weight:800;color:#1e40af;font-variant-numeric:tabular-nums;margin-left:.25rem;min-width:2.5rem;text-align:center}.heatmap-slider-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16rem;height:4px;border-radius:2px;background:linear-gradient(to right,#2d004b,#4575b4,#74add1,#e0e0e0,#fdcc8a,#f46d43,#d73027,#a50026);outline:none;cursor:pointer}.heatmap-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #3b82f6;box-shadow:0 1px 4px #0003;cursor:grab;-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.heatmap-slider-input::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 8px #3b82f64d}.heatmap-slider-input::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.05)}.heatmap-slider-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #3b82f6;box-shadow:0 1px 4px #0003;cursor:grab}.heatmap-slider-input::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(to right,#2d004b,#4575b4,#74add1,#e0e0e0,#fdcc8a,#f46d43,#d73027,#a50026)}.job-toasts-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column-reverse;gap:12px;pointer-events:none;max-height:calc(100vh - 48px);overflow:hidden}.job-toast{pointer-events:auto;background:#111827eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 16px;min-width:320px;max-width:400px;color:#f3f4f6;box-shadow:0 8px 32px #0006;animation:toast-slide-in .3s ease-out}.job-toast.dismissing{animation:toast-slide-out .3s ease-in forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.job-toast-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.job-toast-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.job-toast-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;white-space:nowrap}.job-toast-status.pending{color:#9ca3af}.job-toast-status.processing{color:#60a5fa}.job-toast-status.completed{color:#34d399}.job-toast-status.failed{color:#f87171}.job-toast-dismiss{background:none;border:none;color:#6b7280;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px;transition:color .15s,background .15s}.job-toast-dismiss:hover{color:#d1d5db;background:#ffffff1a}.job-toast-progress{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:8px}.job-toast-progress-fill{height:100%;border-radius:2px;transition:width .4s ease}.job-toast-progress-fill.pending{background:#6b7280}.job-toast-progress-fill.processing{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.job-toast-progress-fill.completed{background:#34d399}.job-toast-progress-fill.failed{background:#f87171}.job-toast-actions{display:flex;align-items:center;gap:8px}.job-toast-download{display:flex;align-items:center;gap:5px;background:#2563eb;color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.job-toast-download:hover{background:#1d4ed8}.job-toast-error{font-size:11px;color:#f87171;margin-top:4px;line-height:1.3}.job-toast-spinner{width:14px;height:14px;border:2px solid rgba(96,165,250,.3);border-top-color:#60a5fa;border-radius:50%;animation:toast-spin .8s linear infinite}@keyframes toast-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.job-toasts-container{left:12px;right:12px;bottom:12px}.job-toast{min-width:unset;max-width:unset}}.thumbs-up-button{display:inline-flex;align-items:center;justify-content:center;padding:6px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);color:var(--color-text-muted, #6b7280);cursor:pointer;font:inherit;transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .15s ease}.thumbs-up-button:hover:not(:disabled){color:var(--color-accent, #8b5cf6);border-color:var(--color-accent-soft, #ddd6fe);background:var(--color-accent-bg-soft, #f5f3ff)}.thumbs-up-button:focus-visible{outline:2px solid var(--color-accent, #8b5cf6);outline-offset:2px}.thumbs-up-button:disabled{cursor:not-allowed;opacity:.6}.thumbs-up-button-active{color:var(--color-accent, #8b5cf6);border-color:var(--color-accent-soft, #ddd6fe);background:var(--color-accent-bg-soft, #f5f3ff)}.thumbs-up-button-active:hover:not(:disabled){transform:scale(.95)}.thumbs-up-button-pending{cursor:progress}.lightbox-overlay{position:fixed;inset:0;z-index:9999;background:#000000e6;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:lightbox-fade-in .15s ease-out}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-image{max-width:90vw;max-height:90vh;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-md, 8px);cursor:default}.lightbox-close{position:absolute;top:20px;right:20px;background:#ffffff26;border:none;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.lightbox-close:hover{background:#ffffff4d}.lightbox-close:focus-visible{outline:2px solid white;outline-offset:2px}.rv-container{height:100vh;overflow-y:auto;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.rv-loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f8fafc}.rv-loading-content{text-align:center;color:#64748b}.rv-loading-content h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:16px 0 8px}.rv-loading-content p{font-size:.875rem;color:#94a3b8}.rv-spin{animation:rv-spin 1.2s linear infinite;color:#3b82f6;margin:0 auto;display:block}@keyframes rv-spin{to{transform:rotate(360deg)}}.rv-back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:9999px;color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s;margin-top:16px}.rv-back-btn:hover{background:#ffffff40}.rv-back-hero{position:absolute;top:16px;left:20px;margin-top:0;z-index:2}.rv-hero{position:relative;min-height:340px;display:flex;align-items:flex-end;background-size:cover;background-position:center;background-color:#1e293b}.rv-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000001a,#000000b3)}.rv-hero-content{position:relative;z-index:1;padding:40px;width:100%;max-width:900px;margin:0 auto}.rv-hero-title{font-size:2rem;font-weight:700;color:#fff;margin:0 0 8px;line-height:1.2}.rv-hero-subtitle{font-size:1rem;color:#ffffffd9;margin:0 0 12px}.rv-hero-subtitle strong{color:#fff}.rv-hero-meta{display:flex;gap:16px;font-size:.8125rem;color:#fff9}.rv-stats-bar{display:flex;gap:1px;background:#fff;border-bottom:1px solid #e2e8f0;overflow-x:auto;padding-left:max(0px,calc(50% - 450px));padding-right:max(0px,calc(50% - 450px))}.rv-stat-card{flex:1;min-width:140px;padding:16px 20px;display:flex;flex-direction:column;gap:4px;border-right:1px solid #f1f5f9}.rv-stat-card:last-child{border-right:none}.rv-stat-label{font-size:.6875rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.rv-stat-value{font-size:.9375rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-tab-bar{display:flex;gap:4px;padding:12px max(20px,calc(50% - 430px));background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:10}.rv-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:.8125rem;font-weight:500;color:#64748b;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;font-family:inherit}.rv-tab:hover{color:#1e293b;background:#f1f5f9}.rv-tab-active{color:#1e293b;background:#f8fafc;border-color:#e2e8f0;font-weight:600}.rv-body{max-width:900px;margin:0 auto;padding:32px 20px}.rv-calc-body{padding:32px 20px}.rv-calc-body .investment-calculator{border:none;border-radius:0;box-shadow:none}.rv-calc-body .calc-inputs-panel{max-height:none}.rv-section{margin-bottom:40px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:28px}.rv-section-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.rv-section-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rv-section-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0}.rv-section-text{font-size:.9375rem;line-height:1.7;color:#475569;margin:0 0 20px}.rv-highlights{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:16px}.rv-highlight-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.rv-highlight-label{font-size:.6875rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.rv-highlight-value{font-size:.9375rem;font-weight:600;color:#1e293b}.rv-unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:16px}.rv-unit-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;text-align:center}.rv-unit-type{font-size:1rem;font-weight:700;color:#0f172a;margin-bottom:4px}.rv-unit-count{font-size:.75rem;color:#64748b;margin-bottom:8px}.rv-unit-price{font-size:.75rem;font-weight:600;color:#3b82f6}.rv-unit-area{font-size:.6875rem;color:#94a3b8;margin-top:4px}.rv-units-section{display:flex;flex-direction:column;gap:16px}.rv-stat-card-action{background:var(--color-accent-bg-soft, #f5f3ff);border:1px solid var(--color-accent-soft, #ddd6fe);color:var(--color-accent, #8b5cf6);cursor:pointer;font:inherit;transition:background-color .15s ease,transform .15s ease}.rv-stat-card-action:hover{background:var(--color-accent-soft, #ddd6fe)}.rv-stat-card-action:focus-visible{outline:2px solid var(--color-accent, #8b5cf6);outline-offset:2px}.rv-stat-card-action .rv-stat-label{display:inline-flex;align-items:center;gap:6px}.rv-stat-value-link{text-decoration:underline}.rv-unit-layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.rv-unit-layout-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}.rv-unit-layout-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.rv-unit-layout-title{font-size:.9375rem;font-weight:600;color:#0f172a}.rv-unit-layout-price{font-size:.875rem;font-weight:600;color:#3b82f6}.rv-unit-layout-area{font-size:.75rem;color:#64748b}.rv-unit-layout-count{font-size:.6875rem;color:#94a3b8}.rv-chart-section{margin-top:20px}.rv-chart-label{font-size:.8125rem;font-weight:600;color:#64748b;margin:0 0 12px}.rv-bar-chart{display:flex;align-items:flex-end;gap:8px;height:120px;padding:0 4px}.rv-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.rv-bar-fill{width:100%;max-width:40px;border-radius:4px 4px 0 0;min-height:4px;transition:height .4s ease}.rv-bar-label{font-size:.625rem;color:#94a3b8;margin-top:6px}.rv-bar-value{font-size:.625rem;font-weight:600;color:#475569;position:absolute;top:-16px;white-space:nowrap}.rv-amenity-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.rv-amenity-tag{padding:6px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9999px;font-size:.75rem;font-weight:500;color:#15803d}.rv-payment-plans{margin-top:16px}.rv-plan-block{margin-bottom:20px}.rv-plan-block:last-child{margin-bottom:0}.rv-plan-name{font-size:.875rem;font-weight:600;color:#1e293b;margin:0 0 4px}.rv-plan-badge{display:inline-block;font-size:.6875rem;padding:2px 10px;background:#ede9fe;color:#7c3aed;border-radius:9999px;font-weight:500;margin-bottom:12px}.rv-plan-bar-track{display:flex;height:32px;border-radius:6px;overflow:hidden;gap:2px;margin-bottom:12px}.rv-plan-bar-segment{display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700;min-width:0}.rv-plan-legend{display:flex;flex-wrap:wrap;gap:12px 20px}.rv-plan-legend-item{display:flex;align-items:center;gap:6px}.rv-plan-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.rv-plan-legend-text{font-size:.75rem;color:#475569}.rv-gallery-section{max-width:900px;margin:0 auto;padding:0 20px 32px}.rv-gallery-top{padding-top:24px}.rv-gallery-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0 0 16px}.rv-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.rv-gallery-img{width:100%;height:180px;-o-object-fit:cover;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid #e2e8f0}.rv-gallery-img:hover{transform:scale(1.02);box-shadow:0 4px 20px #0000001f}.rv-lightbox{position:fixed;inset:0;z-index:9999;background:#000000e6;display:flex;align-items:center;justify-content:center;cursor:pointer}.rv-lightbox img{max-width:90vw;max-height:90vh;-o-object-fit:contain;object-fit:contain;border-radius:8px}.rv-lightbox-close{position:absolute;top:20px;right:20px;background:#ffffff26;border:none;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.rv-lightbox-close:hover{background:#ffffff4d}.rv-footer{max-width:900px;margin:0 auto;padding:32px 20px 48px;text-align:center;border-top:1px solid #e2e8f0}.rv-footer-brand{font-size:.875rem;font-weight:600;color:#1e293b;margin:0 0 4px}.rv-footer-date{font-size:.75rem;color:#94a3b8;margin:0 0 12px}.rv-footer-disclaimer{font-size:.6875rem;color:#cbd5e1;max-width:600px;margin:0 auto;line-height:1.5}@media(max-width:640px){.rv-hero{min-height:260px}.rv-hero-content{padding:24px 16px}.rv-hero-title{font-size:1.5rem}.rv-section{padding:20px 16px}.rv-highlights,.rv-unit-grid,.rv-gallery-grid{grid-template-columns:repeat(2,1fr)}}.rv-match-prefs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.rv-pref-tag{padding:5px 14px;background:#ede9fe;color:#7c3aed;border-radius:9999px;font-size:.75rem;font-weight:600}.rv-no-match-notice{font-size:.8125rem;color:#f59e0b;font-style:italic;margin:0 0 16px;padding:8px 12px;background:#fffbeb;border-radius:6px;border:1px solid #fef3c7}.rv-unit-group{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #f1f5f9}.rv-unit-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.rv-unit-group-primary{border-left:3px solid #7c3aed;padding-left:16px;margin-left:-16px}.rv-group-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.rv-group-label{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0}.rv-match-badge{padding:2px 10px;background:#7c3aed;color:#fff;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.rv-group-summary{font-size:.8125rem;color:#94a3b8;margin-left:auto}.rv-group-economics{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.rv-group-economics .rv-highlight-card{flex:1;min-width:120px}.rv-match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:12px}.rv-match-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.rv-match-card-fp{width:100%;height:100px;-o-object-fit:contain;object-fit:contain;background:#fff;border-bottom:1px solid #e2e8f0;cursor:pointer}.rv-match-info{padding:10px 12px}.rv-match-unit-name{font-size:.8125rem;font-weight:600;color:#0f172a;margin-bottom:2px}.rv-match-layout{font-size:.6875rem;color:#94a3b8;font-weight:500;margin-bottom:2px}.rv-match-detail{font-size:.6875rem;color:#94a3b8;margin-bottom:4px}.rv-match-price{font-size:.8125rem;font-weight:700;color:#3b82f6}.rv-match-more{font-size:.75rem;color:#94a3b8;text-align:center;margin-top:12px;font-style:italic}.rv-poi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:16px}.rv-poi-category{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px}.rv-poi-cat-label{font-size:.6875rem;font-weight:700;color:#f97316;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.rv-poi-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0}.rv-poi-item+.rv-poi-item{border-top:1px solid #f1f5f9}.rv-poi-name{font-size:.8125rem;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.rv-poi-minutes{font-size:.6875rem;font-weight:600;color:#f97316;background:#fff7ed;padding:2px 8px;border-radius:9999px;white-space:nowrap;flex-shrink:0}.rv-invest-comparison{display:flex;gap:12px;margin-top:16px;margin-bottom:20px;flex-wrap:wrap}.rv-invest-compare-card{flex:1;min-width:160px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.rv-invest-compare-type{font-size:1rem;font-weight:700;color:#0f172a;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #10b981}.rv-invest-compare-stat{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.rv-invest-compare-stat:last-child{margin-bottom:0}@media(max-width:640px){.rv-match-grid{grid-template-columns:repeat(2,1fr)}.rv-poi-grid{grid-template-columns:1fr}.rv-invest-comparison{flex-direction:column}.rv-unit-group-primary{margin-left:-8px;padding-left:8px}.rv-group-summary{margin-left:0;width:100%}}@media print{html,body,#root,.App{height:auto!important;overflow:visible!important}.rv-back-btn,.rv-tab-bar,.rv-lightbox,.rv-lightbox-close{display:none!important}.rv-container{height:auto!important;overflow:visible!important;background:#fff}.rv-body{padding:20px}.rv-section{-moz-column-break-inside:avoid;break-inside:avoid;border:1px solid #ddd;box-shadow:none}.rv-unit-group{-moz-column-break-inside:avoid;break-inside:avoid}.rv-hero{min-height:200px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rv-hero-overlay,.rv-stats-bar,.rv-bar-fill,.rv-plan-bar-segment,.rv-pref-tag,.rv-match-badge,.rv-amenity-tag,.rv-plan-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.rv-gallery-img{-moz-column-break-inside:avoid;break-inside:avoid}}.login-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e1b4b,#0f172a);padding:16px}.login-card{width:100%;max-width:420px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000040;border:1px solid #e5e7eb;animation:loginFadeIn .3s ease-out}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;padding:32px 32px 0}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:16px;font-weight:800;letter-spacing:.5px;margin-bottom:16px}.login-title{margin:0;font-size:clamp(18px,1.2vw + 11px,22px);font-weight:700;color:#111827}.login-subtitle{margin:6px 0 0;font-size:clamp(13px,.8vw + 7px,15px);color:#6b7280}.login-form{padding:24px 32px 32px;display:flex;flex-direction:column;gap:18px}.login-error{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:13px;line-height:1.4}.login-error svg{flex-shrink:0}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:13px;font-weight:600;color:#374151}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:12px;color:#9ca3af;pointer-events:none}.login-input-wrap input{width:100%;padding:10px 12px 10px 40px;border:1px solid #d1d5db;border-radius:8px;font-size:clamp(13px,.8vw + 7px,15px);color:#111827;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}.login-input-wrap input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.login-input-wrap input::-moz-placeholder{color:#9ca3af}.login-input-wrap input::placeholder{color:#9ca3af}.login-input-wrap input:disabled{background:#f9fafb;color:#6b7280}.login-toggle-pw{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#9ca3af;cursor:pointer;transition:color .15s,background .15s}.login-toggle-pw:hover{color:#6b7280;background:#f3f4f6}.login-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 16px;margin-top:4px;border:none;border-radius:8px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 4px #8b5cf64d;transition:transform .15s,box-shadow .15s,opacity .15s}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #8b5cf666}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.7;cursor:not-allowed}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-widget{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;height:100%;width:100%;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.dashboard-widget-header{padding:12px 14px;border-bottom:1px solid var(--color-border);flex:0 0 auto}.dashboard-widget-header h2{margin:0;font-size:.9rem;font-weight:600;color:var(--color-text);display:inline-flex;align-items:center;gap:6px}.dashboard-widget-body{flex:1 1 auto;overflow:auto;padding:6px 0}.dashboard-widget-body--placeholder{display:flex;align-items:center;justify-content:center}.dashboard-widget-placeholder-tag{font-size:.78rem;color:var(--color-accent-strong, #6d28d9);background:#8b5cf614;padding:4px 10px;border-radius:9999px}.engagement-ticker-header{display:flex;align-items:center;gap:8px}.engagement-ticker-body{padding:0;display:flex;align-items:center;min-height:56px}.engagement-ticker-state{padding:12px 14px;color:var(--color-text-muted);font-size:.85rem;line-height:1.4;width:100%}.engagement-ticker-error{color:var(--color-danger, #b91c1c);display:inline-flex;align-items:center;gap:6px}.engagement-ticker-viewport{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 32px,#000 calc(100% - 32px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 32px,#000 calc(100% - 32px),transparent 100%)}.engagement-ticker-track{display:inline-flex;align-items:center;gap:0;white-space:nowrap;animation:engagement-ticker-scroll 180s linear infinite;will-change:transform}.engagement-ticker-track:hover{animation-play-state:paused}@keyframes engagement-ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.engagement-ticker-track{animation:none}.engagement-ticker-viewport{overflow-x:auto}}.engagement-ticker-pill{background:transparent;border:0;border-right:1px solid var(--color-border);cursor:pointer;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;color:var(--color-text);font:inherit;font-size:.78rem;transition:background-color .12s ease}.engagement-ticker-pill:hover,.engagement-ticker-pill:focus-visible{background:var(--color-accent-bg-faint, rgba(139, 92, 246, .06));outline:none}.engagement-ticker-contact{font-weight:600;color:var(--color-text)}.engagement-ticker-sep{color:var(--color-text-faint)}.engagement-ticker-project{color:var(--color-text-muted)}.engagement-ticker-kind{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:9999px;background:var(--color-accent-bg-softer, rgba(139, 92, 246, .08));color:var(--color-accent-strong, #6d28d9);font-variant-numeric:tabular-nums;font-weight:600}.engagement-ticker-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.customer-activity-widget{height:auto}.customer-activity-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.customer-activity-tabs{display:inline-flex;align-items:center;gap:4px}.customer-activity-tab{background:transparent;border:0;color:var(--color-text-muted);font:inherit;font-size:.78rem;font-weight:500;padding:8px 10px;cursor:pointer;position:relative;display:inline-flex;align-items:center;gap:5px;transition:color .15s ease}.customer-activity-tab:hover{color:var(--color-text)}.customer-activity-tab.is-active{color:var(--color-text);font-weight:600}.customer-activity-tab.is-active:after{content:"";position:absolute;inset:auto 8px -1px;height:2px;border-radius:2px;background:var(--color-accent)}.customer-activity-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.customer-activity-body{flex:0 0 auto;overflow:visible;padding:12px}.customer-activity-state{padding:24px 12px;color:var(--color-text-muted);font-size:.88rem;line-height:1.45;text-align:center}.customer-activity-error{color:var(--color-danger, #b91c1c);display:inline-flex;align-items:center;gap:6px}.customer-activity-card-scroll{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:4px 4px 12px;scroll-snap-type:x mandatory}.customer-activity-card{flex:0 0 210px;min-width:210px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg, 10px);overflow:hidden;display:flex;flex-direction:column;scroll-snap-align:start;transition:box-shadow .15s ease,transform .15s ease}.customer-activity-card:hover{box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .06))}.customer-activity-card-cover{width:100%;height:120px;-o-object-fit:cover;object-fit:cover;background:linear-gradient(135deg,var(--color-accent-bg-faint, rgba(139, 92, 246, .06)) 0%,var(--color-bg-elevated, #f3f4f6) 100%)}.customer-activity-card-cover--placeholder.customer-activity-card-cover--match{background:linear-gradient(135deg,#8b5cf62e,#7c3aed0d)}.customer-activity-card-cover--placeholder.customer-activity-card-cover--unit{background:linear-gradient(135deg,#22c55e2e,#4ade800d)}.customer-activity-card-cover-button{background:transparent;border:0;padding:0;cursor:zoom-in;width:100%;display:block}.customer-activity-card-cover-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.customer-activity-card-cover--floorplan{-o-object-fit:contain;object-fit:contain;background:var(--color-bg);padding:4px}.customer-activity-card-body{padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-height:110px}.customer-activity-card-district{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.customer-activity-card-title{margin:0;font-size:.9rem;font-weight:600;color:var(--color-text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.customer-activity-card-chip-row{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.customer-activity-card-stat-pill{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;background:var(--color-bg-elevated, #f3f4f6);color:var(--color-text-secondary, #4b5563);padding:2px 8px;border-radius:9999px;font-weight:500}.customer-activity-card-price-pill{display:inline-flex;align-items:center;font-size:.74rem;background:#22c55e1a;color:var(--color-success-strong, #15803d);padding:2px 9px;border-radius:9999px;font-weight:600}.customer-activity-card-contacts{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.customer-activity-card-foot{font-size:.7rem;color:var(--color-text-muted);margin-top:auto}.customer-activity-contact-chip{display:inline-flex;align-items:center;font-size:.74rem;background:#8b5cf614;color:var(--color-accent-strong, #6d28d9);border:0;padding:3px 10px;border-radius:9999px;font-weight:500;cursor:pointer;transition:background-color .15s ease;font-family:inherit}.customer-activity-contact-chip:hover{background:#8b5cf629}.customer-activity-contact-chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.today-calendar-widget{position:absolute;top:0;left:0;right:0;background:transparent;border:1px solid transparent;border-radius:12px;overflow:hidden;box-sizing:border-box;z-index:1;transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}.today-calendar-widget:hover,.today-calendar-widget:focus-within{background:var(--color-bg);border-color:var(--color-border);box-shadow:0 12px 28px #0f172a24;z-index:50}.today-calendar-collapsed-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px}.today-calendar-collapsed-headline{display:inline-flex;align-items:baseline;gap:8px;min-width:0}.today-calendar-collapsed-title{margin:0;font-size:.92rem;font-weight:600;color:var(--color-text);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.today-calendar-collapsed-date{font-size:.78rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-calendar-collapsed-nav{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.today-calendar-collapsed-step{background:transparent;border:0;color:var(--color-text-muted);width:28px;height:28px;border-radius:9999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.today-calendar-collapsed-step:hover{background:var(--color-accent-bg-soft, rgba(139, 92, 246, .1));color:var(--color-accent-strong, #6d28d9)}.today-calendar-collapsed-step:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.today-calendar-today-pill{margin-left:4px;background:var(--color-accent-bg-soft, rgba(139, 92, 246, .1));border:0;color:var(--color-accent-strong, #6d28d9);padding:3px 10px;border-radius:9999px;font-size:.7rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.today-calendar-today-pill:hover{background:var(--color-accent-bg-strong, rgba(139, 92, 246, .25));color:#fff}.today-calendar-today-pill:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.today-calendar-expand-panel{max-height:0;opacity:0;overflow:hidden;pointer-events:none;padding:0 14px;border-top:1px solid transparent;transition:max-height .3s cubic-bezier(.16,1,.3,1),opacity .2s ease,padding .25s ease,border-top-color .25s ease}.today-calendar-widget:hover .today-calendar-expand-panel,.today-calendar-widget:focus-within .today-calendar-expand-panel{max-height:640px;opacity:1;pointer-events:auto;padding:12px 14px 14px;border-top-color:var(--color-border)}.today-calendar-month-nav{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:12px}.today-calendar-nav-button{background:transparent;border:0;color:var(--color-text-muted);width:26px;height:26px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.today-calendar-nav-button:hover{background:var(--color-bg-muted);color:var(--color-text)}.today-calendar-nav-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.today-calendar-nav-label{font-size:.78rem;font-weight:600;color:var(--color-text);min-width:100px;text-align:center;font-variant-numeric:tabular-nums}.today-calendar-slide{transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s ease}.today-calendar-slide--shift--1{transform:translate(-6%);opacity:.85}.today-calendar-slide--shift-1{transform:translate(6%);opacity:.85}.today-calendar-hero{display:flex;align-items:center;margin-bottom:12px}.today-calendar-hero-block{flex:1 1 auto;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;-moz-column-gap:14px;column-gap:14px;align-items:center;min-width:0}.today-calendar-hero-weekday{grid-column:1;grid-row:1;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.today-calendar-hero-day{grid-column:1;grid-row:2;font-size:2.6rem;font-weight:600;line-height:1;color:var(--color-text);font-variant-numeric:tabular-nums}.today-calendar-hero-month{grid-column:2;grid-row:2;align-self:end;color:var(--color-text-muted);font-size:.92rem;padding-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-calendar-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.today-calendar-event{display:grid;grid-template-columns:4px auto 1fr;-moz-column-gap:10px;column-gap:10px;align-items:center;background:var(--color-bg-muted, #f9fafb);border-radius:var(--radius-md, 8px);padding:7px 10px}.today-calendar-event-bar{width:4px;height:100%;min-height:32px;border-radius:2px;background:var(--color-text-muted)}.today-calendar-event--meeting .today-calendar-event-bar{background:var(--color-success, #16a34a)}.today-calendar-event--tour .today-calendar-event-bar{background:var(--color-accent, #8b5cf6)}.today-calendar-event--admin .today-calendar-event-bar{background:var(--color-warning, #b45309)}.today-calendar-event-time{font-size:.72rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.today-calendar-event-text{display:flex;flex-direction:column;min-width:0}.today-calendar-event-title{font-size:.82rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-calendar-event-location{font-size:.7rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-calendar-mock-tag{display:block;margin-top:12px;font-size:.62rem;text-align:center;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em}.favourites-ideas-widget{height:auto}.favourites-ideas-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.favourites-ideas-tabs{display:inline-flex;align-items:center;gap:4px}.favourites-ideas-tab{background:transparent;border:0;color:var(--color-text-muted);font:inherit;font-size:.78rem;font-weight:500;padding:6px 10px;cursor:pointer;position:relative;display:inline-flex;align-items:center;gap:5px;transition:color .15s ease}.favourites-ideas-tab:hover{color:var(--color-text)}.favourites-ideas-tab.is-active{color:var(--color-text);font-weight:600}.favourites-ideas-tab.is-active:after{content:"";position:absolute;inset:auto 8px -1px;height:2px;border-radius:2px;background:var(--color-accent)}.favourites-ideas-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.favourites-ideas-body{padding:6px 8px 8px;overflow-y:auto;max-height:420px}.favourites-ideas-state{padding:16px 12px;color:var(--color-text-muted);font-size:.85rem;line-height:1.4;text-align:center}.favourites-ideas-error{color:var(--color-danger, #b91c1c);display:inline-flex;align-items:center;gap:6px}.favourites-ideas-list{list-style:none;margin:0;padding:0}.favourites-ideas-row{display:grid;grid-template-columns:56px 1fr auto;-moz-column-gap:12px;column-gap:12px;align-items:center;padding:8px 6px;border-radius:var(--radius-md, 8px);transition:background-color .12s ease}.favourites-ideas-row:hover{background:var(--color-bg-muted, #f9fafb)}.favourites-ideas-thumb{width:56px;height:56px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md, 8px);background:var(--color-bg-elevated, #f3f4f6)}.favourites-ideas-thumb-button{background:transparent;border:0;padding:0;cursor:zoom-in;width:56px;height:56px;border-radius:var(--radius-md, 8px);overflow:hidden;display:block}.favourites-ideas-thumb-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.favourites-ideas-thumb-button .favourites-ideas-thumb{-o-object-fit:contain;object-fit:contain;padding:2px;background:var(--color-bg)}.favourites-ideas-thumb--placeholder{display:flex;align-items:center;justify-content:center;color:var(--color-accent-strong, #6d28d9)}.favourites-ideas-thumb--placeholder.favourites-ideas-thumb--unit{background:linear-gradient(135deg,#22c55e2e,#4ade800d);color:var(--color-success-strong, #15803d)}.favourites-ideas-row-text{display:flex;flex-direction:column;min-width:0}.favourites-ideas-row-title{font-size:.88rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favourites-ideas-row-subtitle{font-size:.74rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favourites-ideas-row-meta{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard-page{padding:24px clamp(16px,3vw,32px) 32px;max-width:1600px;margin:0 auto}.dashboard-page-header{margin-bottom:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;position:relative;z-index:2}.dashboard-page-header-greeting{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.dashboard-page-header-calendar{flex:0 0 auto;width:320px;min-height:48px;position:relative}.dashboard-page-eyebrow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.dashboard-page-header h1{margin:0;font-size:1.75rem;font-weight:700;color:var(--color-text);line-height:1.2}.dashboard-page-ticker,.dashboard-page-customer-activity{margin-bottom:16px}.dashboard-page-mid-row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px;align-items:start}.dashboard-page-mid-row>*{min-width:0}@media(max-width:767px){.dashboard-page{padding:16px 12px 24px}.dashboard-page-header{flex-direction:column;align-items:stretch}.dashboard-page-header-calendar{width:100%}.dashboard-page-header h1{font-size:1.4rem}}.new-contact-modal-backdrop{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;padding:24px;z-index:200;animation:new-contact-modal-fade .15s ease-out}@keyframes new-contact-modal-fade{0%{opacity:0}to{opacity:1}}.new-contact-modal{width:min(440px,100%);background:var(--color-bg);border-radius:14px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;overflow:hidden}.new-contact-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.new-contact-modal-header h2{margin:0;font-size:1.05rem;font-weight:600;color:var(--color-text)}.new-contact-modal-close{width:36px;height:36px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease}.new-contact-modal-close:hover{background:var(--color-bg-muted);color:var(--color-text)}.new-contact-modal-form{padding:20px;display:flex;flex-direction:column;gap:14px}.new-contact-modal-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--color-text-muted)}.new-contact-modal-field input{padding:9px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:.95rem;color:var(--color-text);background:var(--color-bg);min-height:40px;transition:border-color .15s ease,box-shadow .15s ease}.new-contact-modal-field input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #8b5cf626}.new-contact-modal-error{background:#ef444414;color:var(--color-danger);padding:8px 12px;border-radius:8px;font-size:.85rem}.new-contact-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.new-contact-modal-cancel,.new-contact-modal-submit{padding:9px 16px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;min-height:40px;transition:filter .15s ease,background-color .15s ease;display:inline-flex;align-items:center;gap:6px}.new-contact-modal-cancel{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.new-contact-modal-cancel:hover:not(:disabled){background:var(--color-bg-muted)}.new-contact-modal-submit{border:none;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);color:var(--color-bg)}.new-contact-modal-submit:hover:not(:disabled){filter:brightness(1.05)}.new-contact-modal-submit:disabled,.new-contact-modal-cancel:disabled{opacity:.55;cursor:not-allowed}.contacts-list-page{padding:24px clamp(16px,3vw,32px) 32px;max-width:1200px;margin:0 auto}.contacts-list-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px;flex-wrap:wrap}.contacts-list-page-title{display:flex;align-items:center;gap:10px;color:var(--color-text)}.contacts-list-page-title h1{margin:0;font-size:1.75rem;font-weight:700}.contacts-list-page-new-button{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);color:var(--color-bg);font-size:.9rem;font-weight:600;cursor:pointer;transition:filter .15s ease,box-shadow .15s ease;min-height:44px}.contacts-list-page-new-button:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 4px 12px #8b5cf64d}.contacts-list-page-new-button:disabled{opacity:.55;cursor:not-allowed}.contacts-list-page-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.contacts-list-page-search{flex:1 1 280px;min-width:240px;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text-muted)}.contacts-list-page-search input{flex:1;border:none;outline:none;background:transparent;font-size:.95rem;color:var(--color-text)}.contacts-list-page-search input::-moz-placeholder{color:var(--color-text-faint)}.contacts-list-page-search input::placeholder{color:var(--color-text-faint)}.contacts-list-page-toolbar-button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text-muted);font-size:.9rem;cursor:pointer;min-height:44px;transition:background-color .15s ease}.contacts-list-page-toolbar-button:hover:not(:disabled){background:var(--color-bg-muted);color:var(--color-text)}.contacts-list-page-toolbar-button:disabled{opacity:.55;cursor:not-allowed}.contacts-list-page-placeholder-banner{margin-bottom:12px;padding:8px 12px;background:#8b5cf614;color:var(--color-accent-strong);border-radius:8px;font-size:.85rem}.contacts-list-page-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.contacts-list-page-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);cursor:pointer;text-align:left;transition:box-shadow .15s ease,border-color .15s ease;min-height:64px}.contacts-list-page-row:hover{border-color:var(--color-border-strong);box-shadow:0 2px 8px #0000000a}.contacts-list-page-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.contacts-list-page-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-bg-elevated);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;flex-shrink:0}.contacts-list-page-avatar-active{background:#22c55e1f;color:var(--color-success)}.contacts-list-page-avatar-idle{background:#f59e0b1f;color:var(--color-warning)}.contacts-list-page-avatar-cold{background:#6b72801f;color:var(--color-text-muted)}.contacts-list-page-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.contacts-list-page-row-name{font-size:.95rem;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contacts-list-page-row-email{font-size:.85rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contacts-list-page-row-phone{font-size:.8125rem;color:var(--color-text-faint, #94a3b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contacts-list-page-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.8rem}.contacts-list-page-row-buckets{color:var(--color-accent-strong);background:#8b5cf614;padding:2px 8px;border-radius:9999px;font-weight:500;font-size:.75rem}.contacts-list-page-row-activity{display:flex;flex-direction:column;align-items:flex-end;gap:0;color:var(--color-text-faint);font-size:.75rem;line-height:1.15}.contacts-list-page-row-activity-value{font-weight:500;color:var(--color-text-muted, #6b7280)}.contacts-list-page-row-activity-label{font-size:.6875rem;color:var(--color-text-faint)}.contacts-list-page-row-sparkline{width:80px;height:20px;flex-shrink:0}.contacts-list-page-sort{position:relative;display:inline-flex;align-items:center}.contacts-list-page-sort select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:8px 32px 8px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font-size:.9rem;cursor:pointer;min-height:44px}.contacts-list-page-sort svg{position:absolute;right:10px;pointer-events:none;color:var(--color-text-muted)}.contacts-list-page-loading,.contacts-list-page-empty{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px 16px;color:var(--color-text-muted);font-size:.9rem;text-align:center}.contacts-list-page-error{background:#ef444414;color:var(--color-danger);padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:.85rem}.contacts-list-page-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.contacts-list-page-page-button{width:44px;height:44px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.contacts-list-page-page-button:hover:not(:disabled){background:var(--color-bg-muted);color:var(--color-text)}.contacts-list-page-page-button:disabled{opacity:.45;cursor:not-allowed}.contacts-list-page-page-indicator{color:var(--color-text-muted);font-size:.85rem}@media(max-width:767px){.contacts-list-page{padding:16px 12px 24px}.contacts-list-page-row{grid-template-columns:auto 1fr;grid-template-areas:"avatar main" "meta meta"}.contacts-list-page-avatar{grid-area:avatar}.contacts-list-page-row-main{grid-area:main}.contacts-list-page-row-meta{grid-area:meta;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;margin-top:4px}}.handover-modal-backdrop{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;padding:24px;z-index:200;animation:handover-modal-fade .15s ease-out}@keyframes handover-modal-fade{0%{opacity:0}to{opacity:1}}.handover-modal{width:min(440px,100%);background:var(--color-bg);border-radius:14px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;overflow:hidden}.handover-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.handover-modal-header h2{margin:0;font-size:1.05rem;font-weight:600;color:var(--color-text)}.handover-modal-close{width:36px;height:36px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease}.handover-modal-close:hover{background:var(--color-bg-muted);color:var(--color-text)}.handover-modal-form{padding:20px;display:flex;flex-direction:column;gap:14px}.handover-modal-intro{margin:0 0 4px;color:var(--color-text-secondary);font-size:.9rem;line-height:1.45}.handover-modal-intro strong{color:var(--color-text)}.handover-modal-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--color-text-muted)}.handover-modal-field input{padding:9px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:.95rem;color:var(--color-text);background:var(--color-bg);min-height:40px;transition:border-color .15s ease,box-shadow .15s ease}.handover-modal-field input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #8b5cf626}.handover-modal-error{background:#ef444414;color:var(--color-danger);padding:8px 12px;border-radius:8px;font-size:.85rem}.handover-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.handover-modal-cancel,.handover-modal-submit{padding:9px 16px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;min-height:40px;transition:filter .15s ease,background-color .15s ease;display:inline-flex;align-items:center;gap:6px}.handover-modal-cancel{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.handover-modal-cancel:hover:not(:disabled){background:var(--color-bg-muted)}.handover-modal-submit{border:none;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);color:var(--color-bg)}.handover-modal-submit:hover:not(:disabled){filter:brightness(1.05)}.handover-modal-submit:disabled,.handover-modal-cancel:disabled{opacity:.55;cursor:not-allowed}.voice-note-recorder{display:flex;flex-direction:column;gap:4px;align-items:stretch}.voice-note-recorder-button{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--color-surface-border, #e5e7eb);background:var(--color-surface, #fff);color:var(--color-text-primary, #111827);font-size:.75rem;font-weight:500;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.voice-note-recorder-button:hover{border-color:var(--color-brand, #8b5cf6);color:var(--color-brand, #8b5cf6)}.voice-note-recorder-button:disabled{cursor:not-allowed;opacity:.7}.voice-note-recorder-button-recording{background:#ef44441a;color:#b91c1c;border-color:#ef44444d;animation:voice-note-pulse 1.5s ease-in-out infinite}@keyframes voice-note-pulse{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 0 6px #ef444400}}.voice-note-recorder-error{margin:0;color:#b91c1c;font-size:.7rem;line-height:1.3}.paste-touchpoint-modal-backdrop{position:fixed;inset:0;z-index:60;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px}.paste-touchpoint-modal{background:var(--color-surface, #fff);border-radius:var(--radius-lg, 12px);width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px #0000002e}.paste-touchpoint-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--color-surface-border, #e5e7eb)}.paste-touchpoint-modal-header h2{margin:0;font-size:1.05rem;font-weight:600;color:var(--color-text-primary, #111827)}.paste-touchpoint-modal-close{background:transparent;border:0;padding:6px;border-radius:6px;color:var(--color-text-muted, #6b7280);cursor:pointer;line-height:0}.paste-touchpoint-modal-close:hover{background:#0000000d;color:var(--color-text-primary, #111827)}.paste-touchpoint-modal-form{padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.paste-touchpoint-modal-kind{margin:0;padding:0;border:0;display:grid;gap:8px;grid-template-columns:1fr 1fr}.paste-touchpoint-modal-kind legend{font-size:.8rem;font-weight:600;color:var(--color-text-primary, #111827);margin-bottom:4px}.paste-touchpoint-modal-kind-option{border:1px solid var(--color-surface-border, #e5e7eb);border-radius:8px;padding:10px;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:8px;cursor:pointer;transition:border-color .2s ease,background .2s ease}.paste-touchpoint-modal-kind-option:hover{border-color:var(--color-brand, #8b5cf6)}.paste-touchpoint-modal-kind-option.is-active{border-color:var(--color-brand, #8b5cf6);background:#8b5cf60f}.paste-touchpoint-modal-kind-option input[type=radio]{grid-row:1 / span 2;margin-top:2px}.paste-touchpoint-modal-kind-label{font-size:.85rem;font-weight:600;color:var(--color-text-primary, #111827)}.paste-touchpoint-modal-kind-hint{font-size:.75rem;color:var(--color-text-muted, #6b7280);line-height:1.3}.paste-touchpoint-modal-content-field{display:grid;gap:6px}.paste-touchpoint-modal-content-field span{font-size:.8rem;font-weight:600;color:var(--color-text-primary, #111827)}.paste-touchpoint-modal-content-field textarea{width:100%;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:8px;padding:10px;font:inherit;font-size:.875rem;line-height:1.4;color:var(--color-text-primary, #111827);resize:vertical;min-height:120px}.paste-touchpoint-modal-content-field textarea:focus{outline:2px solid var(--color-brand, #8b5cf6);outline-offset:-1px;border-color:var(--color-brand, #8b5cf6)}.paste-touchpoint-modal-error{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:#b91c1c;border-radius:6px;padding:8px 10px;font-size:.8rem}.paste-touchpoint-modal-actions{display:flex;justify-content:flex-end;gap:8px}.paste-touchpoint-modal-cancel,.paste-touchpoint-modal-save{padding:8px 14px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.paste-touchpoint-modal-cancel{background:transparent;border:1px solid var(--color-surface-border, #e5e7eb);color:var(--color-text-primary, #111827)}.paste-touchpoint-modal-save{background:var(--color-brand, #8b5cf6);border:1px solid var(--color-brand, #8b5cf6);color:#fff}.paste-touchpoint-modal-save:disabled,.paste-touchpoint-modal-cancel:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.paste-touchpoint-modal-kind{grid-template-columns:1fr}}.presentation-modal-backdrop{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;padding:24px;z-index:200;animation:presentation-modal-fade .15s ease-out}@keyframes presentation-modal-fade{0%{opacity:0}to{opacity:1}}.presentation-modal{width:min(440px,100%);background:var(--color-bg);border-radius:14px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;overflow:hidden}.presentation-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.presentation-modal-header h2{margin:0;font-size:1.05rem;font-weight:600;color:var(--color-text)}.presentation-modal-close{width:36px;height:36px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease}.presentation-modal-close:hover{background:var(--color-bg-muted);color:var(--color-text)}.presentation-modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.presentation-modal-intro{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.45}.presentation-modal-loading,.presentation-modal-error{padding:32px 12px;text-align:center;color:var(--color-text-muted);font-size:.9rem}.presentation-modal-error{color:var(--color-danger);background:#ef444414;border-radius:8px}.presentation-modal-qr{display:flex;align-items:center;justify-content:center;padding:14px;background:#fff;border-radius:12px;border:1px solid var(--color-border)}.presentation-modal-url-row{display:flex;align-items:center;gap:6px}.presentation-modal-url{flex:1;padding:9px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:.8rem;color:var(--color-text);background:var(--color-bg-muted);min-height:40px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presentation-modal-copy{padding:9px 14px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;min-height:40px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);display:inline-flex;align-items:center;gap:6px;transition:background-color .15s ease}.presentation-modal-copy:hover:not(:disabled){background:var(--color-bg-muted)}.presentation-modal-meta{color:var(--color-text-muted);font-size:.8rem;text-align:center}.presentation-modal-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 20px;border-top:1px solid var(--color-border)}.presentation-modal-regen,.presentation-modal-done{padding:9px 16px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;min-height:40px;transition:filter .15s ease,background-color .15s ease;display:inline-flex;align-items:center;gap:6px}.presentation-modal-regen{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.presentation-modal-regen:hover:not(:disabled){background:var(--color-bg-muted)}.presentation-modal-done{border:none;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);color:var(--color-bg)}.presentation-modal-done:hover:not(:disabled){filter:brightness(1.05)}.presentation-modal-done:disabled,.presentation-modal-regen:disabled,.presentation-modal-copy:disabled{opacity:.55;cursor:not-allowed}.thread-detail-panel{display:grid;gap:16px}.thread-detail-panel-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.thread-detail-panel-back{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:6px;color:var(--color-text-primary, #111827);font-size:.875rem;cursor:pointer;transition:border-color .2s ease,background .2s ease}.thread-detail-panel-back:hover{border-color:var(--color-brand, #8b5cf6);background:#8b5cf60d}.thread-detail-panel-title{margin:0 auto 0 0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary, #111827);overflow-wrap:anywhere}.thread-detail-panel-present{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-brand, #8b5cf6);border-radius:6px;background:linear-gradient(135deg,var(--color-accent, #8b5cf6) 0%,var(--color-accent-strong, #7c3aed) 100%);color:var(--color-bg, #ffffff);font-size:.85rem;font-weight:600;cursor:pointer;transition:filter .15s ease}.thread-detail-panel-present:hover{filter:brightness(1.05)}.thread-detail-panel-loading,.thread-detail-panel-error{padding:24px;text-align:center;color:var(--color-text-muted, #6b7280);border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-lg, 12px)}.thread-detail-panel-error{color:#b91c1c;background:#ef44440d;border-color:#ef444433}.thread-detail-panel-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media(min-width:1024px){.thread-detail-panel-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}}.thread-detail-column{background:var(--color-surface, #fff);border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-lg, 12px);padding:16px;display:flex;flex-direction:column;gap:12px;min-height:200px}.thread-detail-column header{display:flex;align-items:center;gap:8px}.thread-detail-column header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary, #111827);flex:1}.thread-detail-column-count{background:#8b5cf61a;color:var(--color-brand, #8b5cf6);padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;min-width:24px;text-align:center}.thread-detail-column-empty{margin:0;color:var(--color-text-muted, #6b7280);font-size:.875rem;line-height:1.4}.thread-detail-interactions ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.thread-detail-interaction-item{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;padding:8px;border-radius:8px;background:#00000005}.thread-detail-interaction-icon{color:var(--color-brand, #8b5cf6);margin-top:2px}.thread-detail-interaction-body{min-width:0}.thread-detail-interaction-content{margin:0 0 4px;font-size:.875rem;color:var(--color-text-primary, #111827);word-break:break-word}.thread-detail-interaction-meta{margin:0;display:flex;gap:8px;font-size:.75rem;color:var(--color-text-muted, #6b7280);text-transform:lowercase}.thread-detail-paste-button{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--color-surface-border, #e5e7eb);background:var(--color-surface, #fff);color:var(--color-text-primary, #111827);font-size:.75rem;font-weight:500;cursor:pointer;transition:border-color .2s ease,color .2s ease}.thread-detail-paste-button:hover{border-color:var(--color-brand, #8b5cf6);color:var(--color-brand, #8b5cf6)}.thread-detail-revision-selector{padding:4px 8px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:6px;background:var(--color-surface, #fff);font-size:.8rem;color:var(--color-text-primary, #111827)}.thread-detail-prefs-list{margin:0;display:grid;gap:6px}.thread-detail-prefs-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:.875rem}.thread-detail-prefs-row:last-child{border-bottom:none}.thread-detail-prefs-row dt{color:var(--color-text-muted, #6b7280);font-weight:500;overflow-wrap:anywhere}.thread-detail-prefs-row dd{margin:0;color:var(--color-text-primary, #111827);overflow-wrap:anywhere}.thread-detail-prefs-none,.thread-detail-prefs-derived{margin:0;color:var(--color-text-muted, #6b7280);font-size:.8rem}.thread-detail-snapshot-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.thread-detail-snapshot-chip{padding:4px 10px;border-radius:999px;background:#8b5cf614;color:var(--color-brand, #8b5cf6);font-size:.75rem;font-weight:500;display:inline-flex;align-items:center;gap:6px}.thread-detail-snapshot-chip-sold{background:#ef44441a;color:#b91c1c;text-decoration:line-through}.thread-detail-snapshot-chip-available{background:#22c55e1a;color:#15803d}.thread-detail-snapshot-chip-unknown{background:#6b72801a;color:#4b5563}.thread-detail-snapshot-chip-new{background:#f59e0b1f;color:#92400e}.thread-detail-snapshot-badge{text-transform:uppercase;font-size:.6rem;font-weight:700;letter-spacing:.05em;padding:1px 4px;border-radius:4px}.thread-detail-snapshot-badge-sold{background:#ef444433;color:#b91c1c}.thread-detail-snapshot-badge-new{background:#f59e0b33;color:#92400e}.thread-detail-snapshot-new-matches{border-top:1px solid var(--color-surface-border, #e5e7eb);padding-top:12px;display:grid;gap:8px}.thread-detail-snapshot-new-matches-heading{margin:0;font-size:.85rem;font-weight:600;color:var(--color-text-primary, #111827);display:flex;align-items:center;gap:8px}.thread-detail-snapshot-new-matches-count{background:#f59e0b1f;color:#92400e;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600}.thread-detail-snapshot-meta,.thread-detail-snapshot-none{margin:0;color:var(--color-text-muted, #6b7280);font-size:.8rem;line-height:1.4}.engagement-timeline-card{background:var(--color-surface, #fff);border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 10px);padding:16px;margin:16px 0;display:flex;flex-direction:column;gap:12px}.engagement-timeline-card-loading{color:var(--color-text-muted, #6b7280);font-size:.875rem}.engagement-timeline-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.engagement-timeline-card-header h2{font-size:1rem;font-weight:600;margin:0;color:var(--color-text-primary, #0f172a)}.engagement-timeline-card-subheading{font-size:.75rem;color:var(--color-text-muted, #6b7280);margin:2px 0 0}.engagement-timeline-card-tier{display:inline-flex;align-items:center;gap:8px}.engagement-timeline-card-tier-chip{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;font-weight:700;font-size:.875rem;color:#fff}.engagement-timeline-card-tier-chip-hot{background:var(--color-danger, #dc2626)}.engagement-timeline-card-tier-chip-warm{background:var(--color-warning, #b45309)}.engagement-timeline-card-tier-chip-cool{background:var(--color-text-secondary, #475569)}.engagement-timeline-card-tier-chip-cold{background:var(--color-text-muted, #6b7280)}.engagement-timeline-card-tier-chip-new{background:var(--color-accent-bg-soft, #f5f3ff);color:var(--color-accent, #8b5cf6)}.engagement-timeline-card-score{font-size:.875rem;color:var(--color-text-secondary, #475569)}.engagement-timeline-card-sparkline{width:100%;height:36px;display:block}.engagement-timeline-card-dual{display:flex;flex-direction:column;gap:6px}.engagement-timeline-card-dual-canvas{width:100%;height:120px}.engagement-timeline-card-dual-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.75rem;color:var(--color-text-muted, #6b7280)}.engagement-timeline-card-dual-legend span{display:inline-flex;align-items:center;gap:6px}.engagement-timeline-card-dual-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.engagement-timeline-card-sparkline-empty{height:36px;background:var(--color-surface-border, #f3f4f6);border-radius:4px}.engagement-timeline-card-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.engagement-timeline-card-recompute,.engagement-timeline-card-why{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);color:var(--color-text-secondary, #475569);cursor:pointer;font:inherit;font-size:.8125rem}.engagement-timeline-card-recompute:disabled{opacity:.6;cursor:progress}.engagement-timeline-card-recompute .spin{animation:timeline-spin .8s linear infinite}@keyframes timeline-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.engagement-timeline-card-breakdown{border-top:1px solid var(--color-surface-border, #e5e7eb);padding-top:12px;font-size:.8125rem}.engagement-timeline-card-breakdown dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 8px}.engagement-timeline-card-breakdown dt{color:var(--color-text-muted, #6b7280)}.engagement-timeline-card-breakdown dd{margin:0;color:var(--color-text-primary, #0f172a)}.engagement-timeline-card-breakdown-events{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 12px}.engagement-timeline-card-breakdown-events li{display:flex;justify-content:space-between;align-items:baseline}.engagement-timeline-card-breakdown-kind{color:var(--color-text-secondary, #475569);font-family:monospace;font-size:.75rem}.engagement-timeline-card-breakdown-stat{color:var(--color-text-primary, #0f172a);font-weight:600}.engagement-timeline-card-error{color:var(--color-danger, #dc2626);font-size:.8125rem;margin:0}.engagement-timeline-card .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.embedded-contact-map{background:var(--color-surface, #ffffff);border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 10px);margin:12px 0 16px;overflow:hidden;display:flex;flex-direction:column}.embedded-contact-map-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--color-surface-border, #e5e7eb);background:var(--color-surface-muted, #fafafa)}.embedded-contact-map-collapsed .embedded-contact-map-header{border-bottom:none}.embedded-contact-map-title{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--color-text-primary, #0f172a)}.embedded-contact-map-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);color:var(--color-text-secondary, #475569);cursor:pointer;font:inherit;font-size:.75rem}.embedded-contact-map-toggle:hover{color:var(--color-text-primary, #0f172a);border-color:var(--color-surface-border-strong, #cbd5e1)}.embedded-contact-map-body{transition:height .25s ease;overflow:hidden}.embedded-contact-map-container{width:100%;height:100%;background:var(--color-surface-muted, #f8fafc)}.embedded-contact-map-empty{background:var(--color-surface, #ffffff);border:1px dashed var(--color-surface-border-strong, #cbd5e1);border-radius:var(--radius-md, 10px);margin:12px 0 16px;padding:14px}.embedded-contact-map-empty-inner{display:flex;align-items:center;gap:10px;color:var(--color-text-muted, #6b7280);font-size:.875rem}.embedded-contact-map-empty-inner p{margin:0}.embedded-contact-map-marker-pulse svg{animation:embedded-contact-map-pulse 1.4s ease-in-out 1;transform-origin:center bottom}@keyframes embedded-contact-map-pulse{0%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(139,92,246,0))}20%{transform:scale(1.3);filter:drop-shadow(0 0 12px rgba(139,92,246,.6))}to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(139,92,246,0))}}.contact-detail-page{padding:24px clamp(16px,3vw,32px) 32px;max-width:1200px;margin:0 auto}.contact-detail-page-back{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;margin-bottom:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text-muted);font-size:.85rem;cursor:pointer;transition:background-color .15s ease,color .15s ease;min-height:44px}.contact-detail-page-back:hover{background:var(--color-bg-muted);color:var(--color-text)}.contact-detail-page-back:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.contact-detail-page-header-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:16px;align-items:start;margin-bottom:16px}.contact-detail-page-identity{display:flex;align-items:center;gap:16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:16px}.contact-detail-page-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);color:var(--color-bg);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600;flex-shrink:0}.contact-detail-page-identity-text h1{margin:0 0 4px;font-size:1.4rem;font-weight:700;color:var(--color-text)}.contact-detail-page-identity-meta{margin:0;font-size:.85rem;color:var(--color-text-muted)}.contact-detail-page-summary{background:linear-gradient(135deg,#8b5cf60f,#7c3aed0a);border:1px solid rgba(139,92,246,.2);border-radius:12px;padding:16px}.contact-detail-page-summary header{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--color-accent-strong);font-size:.85rem;font-weight:600}.contact-detail-page-summary p{margin:0;font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}.contact-detail-page-tabs{display:flex;gap:2px;border-bottom:1px solid var(--color-border);margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.contact-detail-page-tabs::-webkit-scrollbar{display:none}.contact-detail-page-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:none;background:transparent;color:var(--color-text-muted);font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .15s ease,border-color .15s ease;min-height:44px}.contact-detail-page-tab:hover{color:var(--color-text)}.contact-detail-page-tab.is-active{color:var(--color-accent-strong);border-bottom-color:var(--color-accent);font-weight:600}.contact-detail-page-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:4px}.contact-detail-page-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;min-height:240px;padding:24px}.contact-detail-page-panel-empty{color:var(--color-text-muted)}.contact-detail-page-panel-empty h2{margin:0 0 8px;color:var(--color-text);font-size:1.05rem;font-weight:600}.contact-detail-page-panel-empty p{margin:0;font-size:.9rem;line-height:1.5}.contact-detail-page-meta-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-bg-muted);color:var(--color-text-muted);border-radius:9999px;font-size:.75rem;margin-right:6px}.contact-detail-page-meta-language{background:#8b5cf61a;color:var(--color-accent-strong)}.contact-detail-page-summary-action{margin-top:8px;align-self:flex-start;padding:4px 10px;border:1px solid rgba(139,92,246,.4);border-radius:9999px;background:var(--color-bg);color:var(--color-accent-strong);font-size:.75rem;font-weight:500;cursor:pointer}.contact-detail-page-summary-action:disabled{opacity:.55;cursor:not-allowed}.contact-detail-page-panel-loading,.contact-detail-page-panel-error{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--color-text-muted);font-size:.9rem;text-align:center}.contact-detail-page-panel-error{color:var(--color-danger)}.contact-detail-overview{display:flex;flex-direction:column;gap:20px}.contact-detail-overview-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contact-detail-overview-stats li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;background:var(--color-bg-muted);border-radius:12px}.contact-detail-overview-stat-value{font-size:1.4rem;font-weight:700;color:var(--color-text)}.contact-detail-overview-stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.contact-detail-overview-recent h2{margin:0 0 8px;font-size:.95rem;font-weight:600;color:var(--color-text)}.contact-detail-overview-recent-empty{margin:0;color:var(--color-text-muted);font-size:.9rem;background:var(--color-bg-muted);padding:12px 14px;border-radius:10px}.contact-detail-overview-recent ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.contact-detail-overview-recent-item{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;font-size:.85rem}.contact-detail-overview-recent-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.7rem;font-weight:600}.contact-detail-overview-recent-content{color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-detail-overview-recent-when{color:var(--color-text-faint);font-size:.75rem}.contact-detail-settings{display:flex;flex-direction:column;gap:14px;max-width:520px}.contact-detail-settings-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--color-text-muted)}.contact-detail-settings-field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:9px 32px 9px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font-size:.95rem;min-height:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.contact-detail-settings-field select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #8b5cf626}.contact-detail-settings-toggle{display:inline-flex;align-items:center;gap:10px;font-size:.9rem;color:var(--color-text);cursor:pointer;padding:4px 0}.contact-detail-settings-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer}.contact-detail-settings-error,.contact-detail-settings-success{padding:8px 12px;border-radius:8px;font-size:.85rem}.contact-detail-settings-error{background:#ef444414;color:var(--color-danger)}.contact-detail-settings-success{background:#22c55e14;color:var(--color-success-strong)}.contact-detail-settings-actions{display:flex;justify-content:flex-end}.contact-detail-settings-save{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);color:var(--color-bg);font-size:.9rem;font-weight:600;cursor:pointer;min-height:44px;transition:filter .15s ease}.contact-detail-settings-save:hover:not(:disabled){filter:brightness(1.05)}.contact-detail-settings-save:disabled{opacity:.55;cursor:not-allowed}.contact-detail-settings-wrap{display:flex;flex-direction:column;gap:24px;max-width:520px}.contact-detail-handover{border-top:1px solid var(--color-border);padding-top:16px;display:flex;flex-direction:column;gap:8px}.contact-detail-handover h2{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text)}.contact-detail-handover-help,.contact-detail-handover-status{margin:0;color:var(--color-text-muted);font-size:.85rem;line-height:1.45}.contact-detail-handover-status strong{color:var(--color-accent-strong)}.contact-detail-handover-button{align-self:flex-start;padding:8px 14px;border:1px solid rgba(139,92,246,.4);border-radius:8px;background:var(--color-bg);color:var(--color-accent-strong);font-size:.85rem;font-weight:500;cursor:pointer;min-height:40px;transition:background-color .15s ease}.contact-detail-handover-button:hover:not(:disabled){background:#8b5cf60d}.contact-detail-handover-button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:1023px){.contact-detail-page-header-main{grid-template-columns:1fr}}@media(max-width:767px){.contact-detail-page{padding:16px 12px 24px}.contact-detail-page-identity-text h1{font-size:1.2rem}.contact-detail-overview-stats{grid-template-columns:1fr}.contact-detail-overview-recent-item{grid-template-columns:minmax(0,1fr);gap:4px}}.contact-detail-threads{list-style:none;margin:0;padding:0;display:grid;gap:12px}.contact-detail-threads-empty{padding:32px 24px;text-align:center;color:var(--color-text-muted, #6b7280);border:1px dashed var(--color-surface-border, #e5e7eb);border-radius:var(--radius-lg, 12px)}.contact-detail-thread-card{border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-lg, 12px);background:var(--color-surface, #fff);transition:border-color .2s ease,box-shadow .2s ease;overflow:hidden}.contact-detail-thread-card:hover{border-color:var(--color-brand, #8b5cf6);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}.contact-detail-thread-card-button{width:100%;padding:16px;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;font:inherit;display:grid;gap:8px}.contact-detail-thread-card-button:focus-visible{outline:2px solid var(--color-brand, #8b5cf6);outline-offset:-2px}.contact-detail-thread-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-detail-thread-card-label{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary, #111827);overflow-wrap:anywhere}.contact-detail-thread-status{flex:0 0 auto;padding:2px 10px;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.contact-detail-thread-status-active{background:#22c55e1f;color:#15803d}.contact-detail-thread-status-archived{background:#6b728026;color:#4b5563}.contact-detail-thread-status-closed{background:#ef44441f;color:#b91c1c}.contact-detail-thread-card-summary{margin:0;color:var(--color-text-muted, #6b7280);font-size:.875rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.contact-detail-thread-card-footer{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--color-text-muted, #6b7280);border-top:1px solid var(--color-surface-border, #e5e7eb);padding-top:8px}.contact-detail-thread-card-stat strong{color:var(--color-text-primary, #111827);font-weight:600}.contact-detail-thread-card-when{margin-left:auto}@media(max-width:600px){.contact-detail-thread-card-footer{flex-direction:column;gap:4px}.contact-detail-thread-card-when{margin-left:0}}.contact-detail-similar{display:grid;gap:16px}.contact-detail-similar-controls{display:flex;align-items:center;gap:8px}.contact-detail-similar-label{font-size:.875rem;color:var(--color-text-muted, #6b7280)}.contact-detail-similar-select{padding:6px 10px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);font:inherit;cursor:pointer}.contact-detail-similar-empty{padding:32px 24px;text-align:center;color:var(--color-text-muted, #6b7280);border:1px dashed var(--color-surface-border, #e5e7eb);border-radius:var(--radius-lg, 12px)}.contact-detail-similar-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.contact-detail-similar-card{padding:16px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-lg, 12px);background:var(--color-surface, #fff);display:grid;gap:12px;transition:border-color .2s ease,box-shadow .2s ease}.contact-detail-similar-card:hover{border-color:var(--color-brand, #8b5cf6);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}.contact-detail-similar-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.contact-detail-similar-card-titles{display:grid;gap:2px;min-width:0}.contact-detail-similar-card-name{margin:0;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-detail-similar-card-bucket{margin:0;font-size:.875rem;color:var(--color-text-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-detail-similar-card-score{flex-shrink:0;font-size:.875rem;font-weight:700;color:var(--color-brand, #8b5cf6)}.contact-detail-similar-bar{height:6px;background:var(--color-surface-muted, #f3f4f6);border-radius:999px;overflow:hidden}.contact-detail-similar-bar-fill{height:100%;background:var(--color-brand, #8b5cf6);transition:width .3s ease}.contact-detail-similar-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.contact-detail-similar-chip{padding:2px 8px;border-radius:999px;font-size:.75rem;line-height:1.4;white-space:nowrap}.contact-detail-similar-chip-lifestyle{background:#8b5cf61a;color:var(--color-brand, #8b5cf6)}.contact-detail-similar-chip-numeric{background:#3b82f61a;color:#2563eb}.contact-detail-similar-card-actions{display:flex;gap:8px}.contact-detail-similar-action{flex:1;padding:6px 10px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);font:inherit;font-size:.875rem;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.contact-detail-similar-action:hover:not(:disabled){border-color:var(--color-brand, #8b5cf6)}.contact-detail-similar-action:disabled{cursor:not-allowed;opacity:.5}.contact-detail-similar-action-secondary{color:var(--color-text-muted, #6b7280)}.contact-detail-page-report-fly-button{background:none;border:0;padding:0;margin:0;color:var(--color-accent, #8b5cf6);font:inherit;font-weight:inherit;cursor:pointer;text-align:left}.contact-detail-page-report-fly-button:hover{text-decoration:underline}.contact-detail-page-report-fly-button:focus-visible{outline:2px solid var(--color-accent, #8b5cf6);outline-offset:2px;border-radius:2px}.contact-detail-activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.contact-detail-activity-item{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:var(--color-surface, #ffffff)}.contact-detail-activity-item-broker{border-left:3px solid var(--color-text-faint, #94a3b8)}.contact-detail-activity-item-customer{border-left:3px solid var(--color-accent, #8b5cf6)}.contact-detail-activity-item-dim{opacity:.7}.contact-detail-activity-item-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;color:var(--color-text-secondary, #475569);background:var(--color-surface-muted, #f1f5f9)}.contact-detail-activity-item-customer .contact-detail-activity-item-icon{color:var(--color-accent, #8b5cf6);background:var(--color-accent-bg-soft, #f5f3ff)}.contact-detail-activity-item-body{display:flex;flex-direction:column;gap:4px;min-width:0}.contact-detail-activity-item-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contact-detail-activity-item-kind{font-size:.875rem;font-weight:600;color:var(--color-text-primary, #0f172a)}.contact-detail-activity-item-stream-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.contact-detail-activity-item-stream-chip-broker{background:var(--color-surface-muted, #f1f5f9);color:var(--color-text-secondary, #475569)}.contact-detail-activity-item-stream-chip-customer{background:var(--color-accent-bg-soft, #f5f3ff);color:var(--color-accent, #8b5cf6)}.contact-detail-activity-item-meta{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--color-text-muted, #6b7280)}.contact-detail-activity-item-fly{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;color:var(--color-accent, #8b5cf6);font:inherit;font-size:.75rem;cursor:pointer}.contact-detail-activity-item-fly:hover{text-decoration:underline}.contact-detail-activity-item-when{color:var(--color-text-faint, #94a3b8)}.reports-tab-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:768px){.reports-tab-cards{grid-template-columns:1fr 1fr}}.reports-tab-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 10px);background:var(--color-surface, #ffffff)}.reports-tab-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.reports-tab-card-title-block{min-width:0;flex:1 1 auto}.reports-tab-card-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary, #0f172a);line-height:1.25}.reports-tab-card-subtitle{margin:2px 0 0;font-size:.8125rem;color:var(--color-text-muted, #6b7280)}.reports-tab-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0}@media(min-width:480px){.reports-tab-card-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}.reports-tab-card-metrics>div{display:flex;flex-direction:column;gap:2px;min-width:0}.reports-tab-card-metrics dt{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;color:var(--color-text-faint, #94a3b8);text-transform:uppercase;letter-spacing:.04em;margin:0}.reports-tab-card-metrics dd{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary, #0f172a);display:flex;flex-direction:column;gap:2px}.reports-tab-card-metrics dd small{font-size:.6875rem;font-weight:400;color:var(--color-text-faint, #94a3b8)}.reports-tab-card-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px dashed var(--color-surface-border, #e5e7eb)}.reports-tab-card-action{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--color-surface-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:var(--color-surface, #ffffff);color:var(--color-text-secondary, #475569);text-decoration:none;font:inherit;font-size:.8125rem;cursor:pointer}.reports-tab-card-action:hover:not(:disabled){color:var(--color-text-primary, #0f172a);border-color:var(--color-surface-border-strong, #cbd5e1)}.reports-tab-card-action:disabled{opacity:.55;cursor:not-allowed}.reports-tab-card-action-primary{background:var(--color-accent, #8b5cf6);color:#fff;border-color:var(--color-accent, #8b5cf6)}.reports-tab-card-action-primary:hover{color:#fff;background:var(--color-accent-strong, #7c3aed);border-color:var(--color-accent-strong, #7c3aed)}.reports-tab-card-action .is-spinning{animation:reports-card-spin .8s linear infinite}@keyframes reports-card-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-page{padding:24px clamp(16px,3vw,32px) 32px;max-width:880px;margin:0 auto}.settings-page-header{margin-bottom:20px}.settings-page-header h1{margin:0 0 4px;font-size:1.75rem;font-weight:700;color:var(--color-text)}.settings-page-subtitle{margin:0;color:var(--color-text-muted);font-size:.95rem}.settings-page-sections{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.settings-page-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px}.settings-page-section-header{display:flex;align-items:center;gap:10px;color:var(--color-accent-strong)}.settings-page-section-header h2{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.settings-page-section-body{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.settings-page-section-placeholder{align-self:flex-start;background:#8b5cf614;color:var(--color-accent-strong);padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:500;margin-top:4px}.settings-page-language-picker{align-self:flex-start;margin-top:4px}.settings-page-language-picker select{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;padding:6px 10px;font-size:.9rem;min-width:160px;cursor:pointer}.settings-page-language-picker select:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:1px}.settings-page-language-picker select:disabled{cursor:not-allowed;opacity:.6}.settings-page-section-saving{align-self:flex-start;color:var(--color-text-muted);font-size:.8rem;margin-top:4px}.settings-page-section-error,.settings-page-load-error{align-self:flex-start;color:var(--color-danger, #dc2626);font-size:.85rem;margin-top:4px}.settings-page-load-error{margin:0 0 12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:767px){.settings-page{padding:16px 12px 24px}.settings-page-section{padding:16px}}.presentation-viewer{position:fixed;inset:0;background:linear-gradient(135deg,#0f172a,#1e1b4b 55%,#312e81);color:var(--color-bg-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;overflow:hidden;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}.presentation-viewer-header{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px}.presentation-viewer-counter{background:#ffffff1f;color:var(--color-bg-muted);padding:6px 12px;border-radius:9999px;font-size:.85rem;font-weight:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.presentation-viewer-thread-label{background:#8b5cf640;color:var(--color-accent-text-soft);padding:6px 14px;border-radius:9999px;font-size:.85rem;font-weight:600;letter-spacing:.01em}.presentation-viewer-state{color:#ffffffbf;font-size:1rem;font-weight:500;max-width:32ch;text-align:center;padding:24px}.presentation-viewer-property{width:min(900px,100%);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;grid-template-rows:minmax(320px,50vh) auto;touch-action:pan-y pinch-zoom}.presentation-viewer-property-image{background-color:#8b5cf640;background-image:linear-gradient(135deg,#8b5cf666,#7c3aed99);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;color:#fff6;font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.presentation-viewer-property-image-tappable{border:none;width:100%;height:100%;cursor:zoom-in;padding:0}.presentation-viewer-property-meta{padding:24px 28px 28px;display:flex;flex-direction:column;gap:6px}.presentation-viewer-property-meta h1{margin:0;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700}.presentation-viewer-property-area{margin:0;color:#fff9;font-size:.95rem}.presentation-viewer-property-price{margin:8px 0 0;font-size:clamp(1.05rem,2vw,1.5rem);font-weight:600;color:var(--color-accent-text-softer)}.presentation-viewer-property-rooms{margin:0;color:#ffffffb3;font-size:.9rem}.presentation-viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:var(--color-bg-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .15s ease,transform .15s ease}.presentation-viewer-arrow:hover{background:#ffffff26;transform:translateY(-50%) scale(1.05)}.presentation-viewer-arrow:focus-visible{outline:2px solid var(--color-accent-text-softer);outline-offset:2px}.presentation-viewer-arrow-prev{left:clamp(8px,3vw,32px)}.presentation-viewer-arrow-next{right:clamp(8px,3vw,32px)}@media(max-width:767px){.presentation-viewer{padding:16px}.presentation-viewer-property{grid-template-rows:minmax(220px,35vh) auto}.presentation-viewer-arrow{width:48px;height:48px}}body{margin:0;padding:0}.App{width:100%;height:100vh}.app-map-background{position:fixed;inset:0;z-index:0}.app-map-background .map-wrap{height:100%}.map-wrap--chromeless{pointer-events:none}
