/* Tailwind CSS v3.4.17 production build (MIT) */
        *,:after,:before{--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:rgba(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:rgba(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: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{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,pre,samp{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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{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}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.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}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-3{right:.75rem}.right-4{right:1rem}.top-1\/2{top:50%}.top-5{top:1.25rem}.z-0{z-index:0}.z-\[1000\]{z-index:1000}.z-\[1100\]{z-index:1100}.z-\[1200\]{z-index:1200}.col-span-2{grid-column:span 2/span 2}.my-auto{margin-top:auto;margin-bottom:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-7{margin-bottom:1.75rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-px{height:1px}.min-h-\[4\.7rem\]{min-height:4.7rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(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*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/80{border-color:hsla(0,0%,100%,.8)}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-emerald-50{--tw-gradient-from:#ecfdf5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,253,245,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-white{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fff var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-cyan-100{--tw-gradient-to:#cffafe var(--tw-gradient-to-position)}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-7{padding:1.75rem}.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-1{padding-top:.25rem;padding-bottom:.25rem}.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-6{padding-bottom:1.5rem}.pl-11{padding-left:2.75rem}.pr-12{padding-right:3rem}.pt-4{padding-top:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.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-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-xl{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 rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-emerald-100{--tw-shadow-color:#d1fae5;--tw-shadow:var(--tw-shadow-colored)}.shadow-emerald-200{--tw-shadow-color:#a7f3d0;--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-200{--tw-shadow-color:#e2e8f0;--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-300\/60{--tw-shadow-color:rgba(203,213,225,.6);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur:blur(8px)}.blur,.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-filter{-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,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.focus\:border-emerald-500:focus{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--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)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--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)}.focus\:ring-emerald-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity,1))}.focus\:ring-emerald-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:640px){.sm\:p-9{padding:2.25rem}}@media (min-width:768px){.md\:bottom-auto{bottom:auto}.md\:left-4{left:1rem}.md\:top-4{top:1rem}.md\:hidden{display:none}.md\:max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.md\:min-h-0{min-height:0}.md\:w-\[390px\]{width:390px}.md\:rounded-3xl{border-radius:1.5rem}}
        html, body { height: 100%; margin: 0; }
        body { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
        .app-height { height: 100vh; height: 100dvh; }
        .glass { background: rgba(255,255,255,.96); backdrop-filter: blur(16px); }

        /* Leaflet core CSS dibenamkan supaya susun atur peta tidak bergantung pada CSS CDN. */
        .leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,
        .leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box {
            position:absolute; left:0; top:0;
        }
        .leaflet-container { overflow:hidden; }
        .leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow {
            -webkit-user-select:none; user-select:none; -webkit-user-drag:none;
        }
        .leaflet-tile { filter:inherit; visibility:hidden; }
        .leaflet-tile-loaded { visibility:inherit; }
        .leaflet-container .leaflet-overlay-pane svg,
        .leaflet-container .leaflet-marker-pane img,
        .leaflet-container .leaflet-shadow-pane img,
        .leaflet-container .leaflet-tile-pane img,
        .leaflet-container img.leaflet-image-layer,
        .leaflet-container .leaflet-tile { max-width:none!important; max-height:none!important; width:auto; padding:0; }
        .leaflet-container.leaflet-touch-zoom { touch-action:pan-x pan-y; }
        .leaflet-container.leaflet-touch-drag { touch-action:none; touch-action:pinch-zoom; }
        .leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { touch-action:none; }
        .leaflet-container { -webkit-tap-highlight-color:transparent; }
        .leaflet-container a { -webkit-tap-highlight-color:rgba(51,181,229,.4); }
        .leaflet-tile-container { pointer-events:none; }
        .leaflet-zoom-box { width:0; height:0; box-sizing:border-box; z-index:800; }
        .leaflet-overlay-pane svg { -moz-user-select:none; }
        .leaflet-pane { z-index:400; }
        .leaflet-tile-pane { z-index:200; }
        .leaflet-overlay-pane { z-index:400; }
        .leaflet-shadow-pane { z-index:500; }
        .leaflet-marker-pane { z-index:600; }
        .leaflet-tooltip-pane { z-index:650; }
        .leaflet-popup-pane { z-index:700; }
        .leaflet-map-pane canvas { z-index:100; }
        .leaflet-map-pane svg { z-index:200; }
        .leaflet-vml-shape { width:1px; height:1px; }
        .lvml { behavior:url(#default#VML); display:inline-block; position:absolute; }
        .leaflet-control { position:relative; z-index:800; pointer-events:auto; }
        .leaflet-top,.leaflet-bottom { position:absolute; z-index:1000; pointer-events:none; }
        .leaflet-top { top:0; }
        .leaflet-right { right:0; }
        .leaflet-bottom { bottom:0; }
        .leaflet-left { left:0; }
        .leaflet-control { float:left; clear:both; }
        .leaflet-right .leaflet-control { float:right; }
        .leaflet-top .leaflet-control { margin-top:10px; }
        .leaflet-bottom .leaflet-control { margin-bottom:10px; }
        .leaflet-left .leaflet-control { margin-left:10px; }
        .leaflet-right .leaflet-control { margin-right:10px; }
        .leaflet-fade-anim .leaflet-popup { opacity:0; transition:opacity .2s linear; }
        .leaflet-fade-anim .leaflet-map-pane .leaflet-popup { opacity:1; }
        .leaflet-zoom-animated { transform-origin:0 0; }
        .leaflet-zoom-anim .leaflet-zoom-animated { transition:transform .25s cubic-bezier(0,0,.25,1); }
        .leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile { transition:none; }
        .leaflet-zoom-anim .leaflet-zoom-hide { visibility:hidden; }
        .leaflet-interactive { cursor:pointer; }
        .leaflet-interactive:focus { outline:none; }
        .leaflet-grab { cursor:grab; }
        .leaflet-crosshair,.leaflet-crosshair .leaflet-interactive { cursor:crosshair; }
        .leaflet-popup-pane,.leaflet-control { cursor:auto; }
        .leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive { cursor:grabbing; }
        .leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container { pointer-events:none; }
        .leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path { pointer-events:auto; }
        .leaflet-bar { box-shadow:0 1px 5px rgba(0,0,0,.35); border-radius:4px; }
        .leaflet-bar a { background:#fff; border-bottom:1px solid #ccc; width:30px; height:30px; line-height:30px; display:block; text-align:center; text-decoration:none; color:#111; }
        .leaflet-bar a:hover,.leaflet-bar a:focus { background:#f4f4f4; }
        .leaflet-bar a:first-child { border-top-left-radius:4px; border-top-right-radius:4px; }
        .leaflet-bar a:last-child { border-bottom-left-radius:4px; border-bottom-right-radius:4px; border-bottom:none; }
        .leaflet-bar a.leaflet-disabled { cursor:default; background:#f4f4f4; color:#bbb; }
        .leaflet-touch .leaflet-bar a { width:30px; height:30px; line-height:30px; }
        .leaflet-control-zoom-in,.leaflet-control-zoom-out { font:bold 18px 'Lucida Console',Monaco,monospace; text-indent:1px; }
        .leaflet-control-attribution,.leaflet-control-scale-line { padding:0 5px; color:#333; line-height:1.4; }
        .leaflet-control-attribution { background:rgba(255,255,255,.8); margin:0; }
        .leaflet-control-attribution a { text-decoration:none; color:#0078a8; }
        .leaflet-control-attribution a:hover { text-decoration:underline; }
        .leaflet-popup { position:absolute; text-align:center; margin-bottom:20px; }
        .leaflet-popup-content-wrapper { padding:1px; text-align:left; border-radius:12px; }
        .leaflet-popup-content { margin:13px 24px 13px 20px; line-height:1.3; font-size:13px; min-height:1px; }
        .leaflet-popup-content-wrapper,.leaflet-popup-tip { background:white; color:#333; box-shadow:0 3px 14px rgba(0,0,0,.4); }
        .leaflet-popup-tip-container { width:40px; height:20px; position:absolute; left:50%; margin-top:-1px; margin-left:-20px; overflow:hidden; pointer-events:none; }
        .leaflet-popup-tip { width:17px; height:17px; padding:1px; margin:-10px auto 0; transform:rotate(45deg); }
        .leaflet-popup-close-button { position:absolute; top:0; right:0; border:none; text-align:center; width:24px; height:24px; font:16px/24px Tahoma,Verdana,sans-serif; color:#757575; text-decoration:none; background:transparent; }
        .leaflet-tooltip { position:absolute; padding:6px; background:#fff; border:1px solid #fff; border-radius:3px; color:#222; white-space:nowrap; user-select:none; pointer-events:none; box-shadow:0 1px 3px rgba(0,0,0,.4); }
        .leaflet-tooltip.leaflet-interactive { cursor:pointer; pointer-events:auto; }
        /* Pin HTML/CSS tempatan: tiada request marker-icon/shadow ke CDN pihak ketiga. */
        .boundary-pin-icon { background:transparent; border:0; }
        .boundary-pin-icon > span {
            position:relative; display:block; width:26px; height:26px; border:3px solid #fff; border-radius:50% 50% 50% 0;
            background:#2563eb; box-shadow:0 4px 12px rgba(15,23,42,.38); transform:rotate(-45deg);
        }
        .boundary-pin-icon > span::after {
            content:""; position:absolute; width:8px; height:8px; margin:6px; border-radius:999px; background:#fff;
        }
        /* Indikator GPS live diasingkan daripada pin semakan manual. */
        .live-location-icon { background:transparent; border:0; overflow:visible!important; pointer-events:none!important; }
        .live-location-wrap { position:absolute; left:0; top:0; width:1px; height:1px; }
        .live-location-dot {
            position:absolute; left:0; top:0; width:20px; height:20px; transform:translate(-50%,-50%);
            border:3px solid #fff; border-radius:999px; background:#0284c7;
            box-shadow:0 2px 12px rgba(2,132,199,.55); z-index:2;
        }
        .live-location-dot::before {
            content:""; position:absolute; inset:-3px; border-radius:inherit; background:rgba(14,165,233,.38);
            animation:live-location-pulse 1.8s ease-out infinite; z-index:-1;
        }
        .live-dun-badge {
            position:absolute; left:16px; top:0; transform:translateY(-50%); width:max-content; max-width:220px;
            padding:.42rem .65rem; border:1px solid rgba(255,255,255,.85); border-radius:.65rem;
            background:rgba(15,23,42,.82); color:#fff; box-shadow:0 8px 22px rgba(15,23,42,.2);
            backdrop-filter:blur(8px); font-size:.72rem; line-height:1rem; font-weight:700; white-space:normal;
        }
        @keyframes live-location-pulse { 0%{transform:scale(.7);opacity:.9} 75%,100%{transform:scale(3.1);opacity:0} }
        @media (prefers-reduced-motion:reduce) { .live-location-dot::before { animation:none; } }
        #locationPermissionModal,#passkeyOfferModal { position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center; padding:1.25rem; background:rgba(15,23,42,.58); backdrop-filter:blur(5px); }
        #locationPermissionModal[hidden],#passkeyOfferModal[hidden] { display:none; }
        .leaflet-container { font-family: inherit; }
        .leaflet-control-attribution { font-size: 10px; }
        /* Saiz SVG eksplisit: tidak bergantung pada utility Tailwind yang mungkin dibuang semasa build. */
        .ui-icon { display:inline-block; width:1.25rem; height:1.25rem; flex:0 0 auto; vertical-align:middle; }
        .ui-icon.h-4 { width:1rem; height:1rem; }
        .ui-icon.h-5 { width:1.25rem; height:1.25rem; }
        .ui-icon.h-7 { width:1.75rem; height:1.75rem; }
        /* Tab dan kad berkongsi satu permukaan/bayang; kedudukan ditentukan oleh aliran dokumen. */
        #panelDock {
            --panel-surface:#fff;
            position:fixed; z-index:1000; left:0; bottom:0; width:100%;
            display:flex; flex-direction:column; align-items:flex-start;
            filter:drop-shadow(0 8px 24px rgba(15,23,42,.2));
            pointer-events:none;
        }
        #controlPanel {
            position:relative; display:flex; flex-direction:column; width:100%; min-height:0;
            max-height:min(72dvh,650px,calc(100dvh - 4.5rem));
            overflow:hidden; border:0; border-radius:0 1.5rem 0 0;
            background:var(--panel-surface); pointer-events:auto;
            padding-bottom:env(safe-area-inset-bottom,0px);
        }
        #panelHeader > div { min-width:0; }
        #panelHeader h1,#panelHeader p { overflow-wrap:anywhere; }
        #panelHeader > div > span,#logoutForm { flex-shrink:0; }
        #panelContent { min-height:0; overscroll-behavior:contain; }
        #panelSummary { padding:1rem 1.25rem; min-height:0; overflow:auto; overscroll-behavior:contain; }
        #panelContent[hidden],#panelSummary[hidden] { display:none; }
        #panelToggle {
            position:relative; z-index:1; display:flex; flex:0 0 auto; align-items:center; justify-content:center; gap:.5rem;
            min-height:44px; max-width:calc(100% - 1.5rem); padding:.625rem 1.25rem;
            border:0; border-radius:1.1rem 1.1rem 0 0;
            background:var(--panel-surface); color:#475569; pointer-events:auto;
            font-size:.8rem; line-height:1.25rem; font-weight:700;
            transition:color .18s ease;
        }
        /* Bahu cekung menyambung sisi tab ke tepi atas kad tanpa garisan/gap. */
        #panelToggle::after {
            content:""; position:absolute; left:100%; bottom:0; width:1.1rem; height:1.1rem; pointer-events:none;
            background:radial-gradient(circle at 100% 0,transparent 1.08rem,var(--panel-surface) 1.1rem);
        }
        #panelToggle:hover { color:#047857; }
        #panelToggle:focus-visible { outline:3px solid rgba(16,185,129,.35); outline-offset:3px; }
        #panelToggleIcon { display:grid; place-items:center; width:24px; height:24px; border-radius:8px; background:#ecfdf5; color:#047857; }
        #panelToggleIcon svg { transition:transform .25s ease; }
        body.panel-open #panelToggleIcon svg { transform:rotate(90deg); }
        body:not(.panel-open) #panelToggleIcon svg { transform:rotate(-90deg); }
        #result { max-height:44dvh; overflow:auto; }
        #panelSummary #result { margin:0; max-height:38dvh; }
        @media (min-width: 768px) {
            #panelDock { top:1rem; bottom:auto; left:1rem; width:390px; }
            #controlPanel { max-height:calc(100dvh - 5rem); border-radius:0 1.5rem 1.5rem 1.5rem; padding-bottom:0; }
            body.panel-open #panelToggleIcon svg { transform:rotate(-90deg); }
            body:not(.panel-open) #panelToggleIcon svg { transform:rotate(90deg); }
        }
        /* Gelapkan jubin sahaja: polygon, pin, tooltip dan kawalan kekal berwarna asal. */
        #map[data-basemap="dark"] { background:#18212b; }
        #map[data-basemap="dark"] .leaflet-tile-pane { filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.9); }
        .basemap-control { position:fixed; top:10px; right:54px; z-index:1100; margin:0; font-family:inherit; }
        #basemapToggle {
            display:flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; padding:.625rem .875rem;
            border:1px solid rgba(226,232,240,.95); border-radius:.875rem; background:rgba(255,255,255,.97);
            color:#334155; font-size:.8rem; font-weight:700; white-space:nowrap; box-shadow:0 3px 14px rgba(15,23,42,.16);
        }
        #basemapToggle > .ui-icon { width:20px; height:20px; flex-shrink:0; color:#047857; }
        #basemapToggle[aria-expanded="true"] { background:#ecfdf5; border-color:#a7f3d0; }
        #basemapChoices {
            position:absolute; top:calc(100% + .5rem); right:0; width:min(248px,calc(100vw - 74px)); padding:.5rem;
            border:1px solid #e2e8f0; border-radius:1rem; background:#fff; box-shadow:0 12px 32px rgba(15,23,42,.2);
        }
        #basemapChoices[hidden] { display:none; }
        #basemapChoices legend { float:left; width:100%; padding:.375rem .5rem; color:#64748b; font-size:.7rem; font-weight:700; }
        #basemapChoices label { display:flex; align-items:center; gap:.625rem; min-height:48px; padding:.5rem; border-radius:.625rem; cursor:pointer; color:#334155; font-size:.8rem; }
        #basemapChoices label:hover { background:#f8fafc; }
        #basemapChoices label:has(input:checked) { background:#ecfdf5; color:#047857; }
        #basemapChoices input { width:16px; height:16px; flex-shrink:0; accent-color:#059669; }
        #basemapChoices strong,#basemapChoices small { display:block; }
        #basemapChoices small { color:#64748b; font-size:.65rem; font-weight:400; }
        #basemapToggle:focus-visible,#basemapChoices input:focus-visible { outline:3px solid #34d399; outline-offset:3px; }
        /* Kredit kekal di ruang peta, tidak tertutup oleh panel bawah pada telefon. */
        .leaflet-top .leaflet-control-attribution { max-width:min(240px,calc(100vw - 24px)); padding:2px 4px; border-radius:.25rem; font-size:8px; line-height:1.25; color:#334155; background:rgba(255,255,255,.9); }
        .result-top-row { display:flex; align-items:center; gap:.5rem; margin-bottom:.5rem; padding-bottom:.375rem; border-bottom:1px solid #e2e8f0; }
        .result-top-row #liveLocationSummary { flex:1; min-width:0; margin:0; padding:0; border:0; overflow-wrap:anywhere; }
        .clear-search { display:flex; flex-shrink:0; align-items:center; justify-content:center; gap:.25rem; min-height:44px; padding:.25rem .5rem; border:1px solid #cbd5e1; border-radius:.625rem; background:rgba(255,255,255,.9); color:#475569; font-size:11px; font-weight:600; }
        .clear-search { width:44px; height:44px; padding:0; }
        .clear-search[hidden] { display:none; }
        .clear-search .ui-icon { width:18px; height:18px; flex-shrink:0; }
        .clear-search:hover { color:#b91c1c; border-color:#fca5a5; background:#fff1f2; }
        .clear-search:focus-visible { outline:3px solid #34d399; outline-offset:2px; }
        @media (max-width:767px) {
            body:not(.panel-open) #panelHeader { display:none; }
            body:not(.panel-open) #controlPanel { max-height:min(26dvh,200px); }
            body:not(.panel-open) #panelSummary { padding:.5rem .75rem; }
            body:not(.panel-open) #panelSummary #result { padding:.5rem .625rem; max-height:none; overflow:visible; border-radius:.875rem; }
            body:not(.panel-open) #result .result-coordinates { display:none; }
            body:not(.panel-open) #result h2 { font-size:12px; line-height:1.35; }
            body:not(.panel-open) #result ul { margin-top:.375rem; }
            body:not(.panel-open) #result li { padding:.375rem .5rem; font-size:11px; line-height:1.35; }
            body:not(.panel-open) #result li + li { margin-top:.25rem; }
        }
        @media (prefers-reduced-motion:reduce) { #panelToggle,#panelToggleIcon svg { transition:none; } }
        /* Night Mode sebenar untuk UI; tiada penapis invert pada panel/penanda. */
        #themeToggle { position:fixed; top:10px; right:16px; z-index:1100; display:flex; align-items:center; justify-content:center; gap:.5rem; min-width:44px; min-height:44px; padding:.625rem .75rem; border:1px solid #e2e8f0; border-radius:.875rem; background:#fff; color:#475569; font-size:12px; font-weight:700; box-shadow:0 3px 14px rgba(15,23,42,.16); }
        #themeToggle .ui-icon { width:20px; height:20px; }
        #themeToggle:focus-visible { outline:3px solid #34d399; outline-offset:3px; }
        .basemap-control { display:flex; align-items:center; gap:8px; }
        .basemap-control #themeToggle { position:static; flex-shrink:0; }
        @media (max-width:767px) { #themeToggle .theme-label { display:none; } }
        html[data-theme="night"] { color-scheme:dark; background:#182330; }
        html[data-theme="night"] body { background:#182330; color:#e2eaf2; }
        html[data-theme="night"] #panelDock { --panel-surface:#202e3e; }
        html[data-theme="night"] :is(.bg-white,[class~="bg-white/80"]) { background-color:#263547; }
        html[data-theme="night"] :is(.bg-slate-50,.bg-slate-100) { background-color:#202e3e; }
        html[data-theme="night"] .bg-slate-200 { background-color:#425469; }
        html[data-theme="night"] .bg-gradient-to-br { background-image:none; background-color:#182330; }
        html[data-theme="night"] :is(.bg-emerald-50,.bg-blue-50) { background-color:#203d3e; }
        html[data-theme="night"] .bg-amber-50 { background-color:#433929; }
        html[data-theme="night"] .bg-red-50 { background-color:#442f3a; }
        html[data-theme="night"] .bg-emerald-600 { background-color:#27796b; }
        html[data-theme="night"] .bg-slate-900 { background-color:#354a63; }
        html[data-theme="night"] :is(.text-slate-900,.text-slate-800,.text-slate-700) { color:#e2eaf2; }
        html[data-theme="night"] :is(.text-slate-600,.text-slate-500,.text-slate-400) { color:#b3c3d5; }
        html[data-theme="night"] :is(.text-emerald-900,.text-emerald-800,.text-emerald-700,.text-emerald-600) { color:#8ae0c0; }
        html[data-theme="night"] :is(.text-blue-800,.text-blue-600) { color:#9bcafa; }
        html[data-theme="night"] .text-amber-800 { color:#f5d294; }
        html[data-theme="night"] :is(.text-red-600,.text-red-700) { color:#ffb4bd; }
        html[data-theme="night"] :is(.border-slate-100,.border-slate-200,.border-white,[class~="border-white/80"],.result-top-row) { border-color:#43556b; }
        html[data-theme="night"] :is(.border-emerald-200,.border-blue-200) { border-color:#42756a; }
        html[data-theme="night"] .border-amber-200 { border-color:#856c44; }
        html[data-theme="night"] .border-red-200 { border-color:#895562; }
        html[data-theme="night"] :is(input,select,textarea) { background-color:#263547; border-color:#4a6078; color:#edf3f9; }
        html[data-theme="night"] input::placeholder { color:#9db0c5; opacity:1; }
        html[data-theme="night"] input:autofill { -webkit-text-fill-color:#edf3f9; box-shadow:0 0 0 1000px #263547 inset; }
        html[data-theme="night"] :is(input,select,textarea):focus { outline-color:#7ce0c0; border-color:#7ce0c0; --tw-ring-color:rgba(124,224,192,.25); }
        html[data-theme="night"] :is(#panelToggle,#basemapToggle,#basemapChoices,#themeToggle,.clear-search) { background:#202e3e; border-color:#4a6078; color:#e2eaf2; }
        html[data-theme="night"] :is(#panelToggleIcon,#themeToggle[aria-checked="true"],#basemapToggle[aria-expanded="true"]) { background:#294940; color:#a1ebcc; }
        html[data-theme="night"] #basemapToggle > .ui-icon { color:#8ae0c0; }
        html[data-theme="night"] #basemapChoices :is(legend,small) { color:#b3c3d5; }
        html[data-theme="night"] #basemapChoices label { color:#e2eaf2; }
        html[data-theme="night"] #basemapChoices label:has(input:checked) { background:#294940; color:#a1ebcc; }
        html[data-theme="night"] :is(#basemapChoices label:hover,.clear-search:hover,#themeToggle:hover) { background:#35475c; color:#fff; }
        html[data-theme="night"] :is(.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-tooltip) { background:#293a4d; color:#edf3f9; border-color:#657b92; }
        html[data-theme="night"] .leaflet-popup-close-button { color:#c9d7e6; }
        html[data-theme="night"] .leaflet-bar a { background:#263547; color:#e2eaf2; border-color:#4a6078; }
        html[data-theme="night"] .leaflet-bar a:hover { background:#35475c; }
        html[data-theme="night"] .leaflet-bar a.leaflet-disabled { color:#8fa2b8; }
        html[data-theme="night"] .leaflet-control-attribution { background:rgba(32,46,62,.94); color:#c2d1e1; }
        html[data-theme="night"] .leaflet-control-attribution a { color:#a6d4f5; }
        html[data-theme="night"] .live-dun-badge { background:rgba(38,53,71,.94); border-color:#7d91a7; }
        html[data-theme="night"] :is(#panelContent,#panelSummary,#result) { scrollbar-color:#657b92 #202e3e; }
        html[data-theme="night"] :is(.shadow-emerald-100,.shadow-emerald-200,.shadow-slate-200) { --tw-shadow-color:rgba(10,20,32,.3); }
        html[data-theme="night"] :is(.shadow-2xl,.shadow-xl) { box-shadow:0 20px 48px rgba(8,17,28,.4); }
        html[data-theme="night"] :is(.shadow-lg,.shadow-md) { box-shadow:0 6px 18px rgba(8,17,28,.25); }
        /* Kawalan peta konsisten: tiada peralihan lebar apabila label/tema berubah. */
        #themeToggle { width:44px; min-width:44px; max-width:44px; height:44px; padding:0; flex:0 0 44px; }
        #basemapToggle { width:156px; min-width:156px; max-width:156px; height:44px; padding:.625rem; flex:0 0 156px; }
        [data-theme-icon] { display:flex; align-items:center; justify-content:center; }
        [data-theme-icon="night"],html[data-theme="night"] [data-theme-icon="day"] { display:none; }
        html[data-theme="night"] [data-theme-icon="night"] { display:flex; }
        #basemapChoices label { border:1px solid transparent; transition:background-color .15s ease,border-color .15s ease; }
        #basemapChoices label:hover,#basemapChoices label:focus-within { border-color:#a7cfbd; }
        /* Panel berhierarki: hasil di atas, alat semakan dan pengurusan di tab berasingan. */
        #panelHeader { padding:1rem 1.1rem; gap:.65rem; }
        #panelHeader h1 { font-size:1rem; letter-spacing:-.025em; }
        #panelHeader #dataStatus { display:inline-flex; align-items:center; gap:5px; margin-top:4px; font-size:10px; }
        #panelHeader #dataStatus::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; }
        #panelContent { padding:1rem 1.1rem 1.25rem; }
        #result { border-radius:1rem; }
        #result h2 { font-size:.875rem; line-height:1.5; }
        #result li { font-size:.8rem; }
        .panel-tabs { position:sticky; top:0; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; margin:1rem 0; background:#edf2f6; border:1px solid #e2e8f0; border-radius:.875rem; }
        .panel-tabs button { display:flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; border-radius:.625rem; font-size:12px; font-weight:700; color:#64748b; }
        .panel-tabs .ui-icon { width:17px; height:17px; }
        .panel-tabs button[aria-selected="true"] { background:#fff; color:#047857; box-shadow:0 2px 6px rgba(15,23,42,.08); }
        .panel-tabs button:focus-visible { outline:2px solid #10b981; outline-offset:1px; }
        #searchTools[hidden],#accountTools[hidden] { display:none; }
        #searchTools > button { min-height:48px; }
        #searchTools input { min-height:44px; }
        .account-intro { padding:.25rem .25rem .75rem; }
        .account-intro strong { font-size:14px; color:#334155; }
        .account-intro p { margin-top:4px; font-size:12px; line-height:1.5; color:#64748b; }
        #accountTools > details { margin-top:.65rem; overflow:hidden; border-radius:.875rem; }
        #accountTools > details > summary { position:relative; display:flex; align-items:center; gap:.375rem; min-height:52px; padding:.85rem; padding-right:2.4rem; list-style:none; font-size:12px; }
        #accountTools > details > summary::-webkit-details-marker { display:none; }
        #accountTools > details > summary::after { content:""; position:absolute; right:1rem; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); transition:transform .18s ease; color:#64748b; }
        #accountTools > details[open] > summary::after { transform:rotate(45deg); }
        #accountTools > details[open] > summary { background:#f3f8f6; }
        #accountTools > details > summary:focus-visible { outline:2px solid #10b981; outline-offset:-3px; }
        #sbkeyResult:empty { display:none; }
        #sbkeyResult:not(:empty) { padding:.75rem; border:1px solid #b9d8cc; border-radius:.75rem; background:#f1faf5; color:#245747; }
        #sbkeyResult .sbkey-feedback { font-size:12px; line-height:1.5; }
        .sbkey-key-row { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:6px; margin-top:.75rem; }
        .sbkey-key-row input { width:100%; min-width:0; min-height:44px; padding:.5rem; font-size:11px; font-family:monospace; border:1px solid #cbd5e1; border-radius:.5rem; background:#fff; }
        .sbkey-copy { display:grid; place-items:center; border:1px solid #cbd5e1; border-radius:.5rem; background:#fff; color:#047857; }
        #generateSbkeyButton { min-height:44px; }
        #generateSbkeyButton:disabled { opacity:.65; cursor:wait; }
        html[data-theme="night"] .panel-tabs { background:#192938; border-color:#43556b; }
        html[data-theme="night"] .panel-tabs button { color:#aebfd0; }
        html[data-theme="night"] .panel-tabs button[aria-selected="true"] { background:#30463f; color:#a1ebcc; }
        html[data-theme="night"] .account-intro strong { color:#e2eaf2; }
        html[data-theme="night"] .account-intro p { color:#b3c3d5; }
        html[data-theme="night"] #accountTools > details[open] > summary { background:#293d48; }
        html[data-theme="night"] #accountTools > details > summary::after { color:#aebfd0; }
        html[data-theme="night"] #sbkeyResult:not(:empty) { background:#203d3e; color:#a1ebcc; border-color:#42756a; }
        html[data-theme="night"] .sbkey-copy { background:#263547; color:#a1ebcc; border-color:#4a6078; }
        .panel-copyright { display:block; width:100%; text-align:center; }
        .break-anywhere { overflow-wrap:anywhere; }
        @media (prefers-reduced-motion:reduce) { #basemapChoices label,#accountTools > details > summary::after { transition:none; } }
