.geo-backdrop{--geo:var(--evt-green, #00aa28);--geo-dark:var(--evt-green-dark, #00871e);--geo-ink:var(--evt-ink, #002828);--geo-muted:var(--evt-muted, #475569);--geo-ring:rgba(0,170,40,.18);--geo-ring-2:rgba(0,170,40,.30);--geo-halo:rgba(0,170,40,.22);position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,24,22,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}.geo-backdrop.open{opacity:1;visibility:visible;transition:opacity .2s ease}.geo-modal{width:min(380px,calc(100vw - 32px));background:#fff;border-radius:18px;padding:30px 26px 24px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.3);transform:scale(.92);opacity:0;outline:0;transition:transform .2s cubic-bezier(.2,.8,.25,1),opacity .2s ease}.geo-backdrop.open .geo-modal{transform:scale(1);opacity:1}.geo-scene{position:relative;width:200px;height:200px;margin:6px auto 4px}.geo-center{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--geo);z-index:4;box-shadow:0 0 0 5px var(--geo-halo)}.geo-center::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--geo);opacity:.5;animation:geo-core 3.25s ease-in-out infinite}@keyframes geo-core{0%,100%{transform:scale(.85);opacity:.5}50%{transform:scale(1.15);opacity:.15}}.geo-center.lock{animation:geo-lock .55s cubic-bezier(.2,.9,.3,1)}@keyframes geo-lock{0%{box-shadow:0 0 0 5px var(--geo-halo)}45%{box-shadow:0 0 0 16px rgba(0,170,40,.08)}100%{box-shadow:0 0 0 5px var(--geo-halo)}}.geo-grid{position:absolute;inset:0;border-radius:50%;z-index:1}.geo-grid i{position:absolute;left:50%;top:50%;border:1px solid var(--geo-ring);border-radius:50%;transform:translate(-50%,-50%);transition:border-color .5s ease}.geo-grid i:first-child{width:70px;height:70px}.geo-grid i:nth-child(2){width:130px;height:130px}.geo-grid i:nth-child(3){width:190px;height:190px}.geo-scene.stores .geo-grid i{border-color:var(--geo-ring-2)}.geo-pulse{position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-12px 0 0 -12px;z-index:2;transition:opacity .6s ease}.geo-pulse.fade{opacity:0}.geo-pulse span{position:absolute;inset:0;border-radius:50%;border:2px solid var(--geo);opacity:0;animation:geo-sonar 4.25s cubic-bezier(.25,.5,.3,1) infinite}.geo-pulse span:nth-child(2){animation-delay:-1.42s}.geo-pulse span:nth-child(3){animation-delay:-2.83s}@keyframes geo-sonar{0%{transform:scale(.4);opacity:0}8%{opacity:.85}100%{transform:scale(8.2);opacity:0}}.geo-sweep{position:absolute;inset:0;border-radius:50%;z-index:3;overflow:hidden;opacity:.9;-webkit-mask:radial-gradient(circle,#000 99%,transparent 100%);mask:radial-gradient(circle,#000 99%,transparent 100%);transition:opacity .6s ease}.geo-sweep::before{content:"";position:absolute;left:50%;top:50%;width:200%;height:200%;transform-origin:0 0;transform:rotate(0);background:conic-gradient(from 0deg,transparent 0deg,rgba(0,170,40,.38) 35deg,transparent 70deg);animation:geo-sweep 5.25s linear infinite}@keyframes geo-sweep{to{transform:rotate(360deg)}}.geo-pins{position:absolute;inset:0;z-index:5;pointer-events:none}.geo-pin{position:absolute;width:26px;height:34px;margin:-34px 0 0 -13px;opacity:0;transform:translateY(-46px) scale(.3)}.geo-pin svg{display:block;width:100%;height:100%;filter:drop-shadow(0 4px 5px rgba(0,40,30,.28))}.geo-pin.drop{animation:geo-drop .62s cubic-bezier(.18,1.25,.4,1) forwards}@keyframes geo-drop{0%{opacity:0;transform:translateY(-46px) scale(.3)}55%{opacity:1;transform:translateY(4px) scale(1.05)}72%{transform:translateY(-3px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}.geo-pin.settle{animation:geo-bob 2.4s ease-in-out infinite}@keyframes geo-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.geo-check{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;z-index:6;border-radius:50%;background:var(--geo);display:flex;align-items:center;justify-content:center;transform:scale(0);opacity:0;box-shadow:0 8px 22px rgba(0,170,40,.45)}.geo-check.show{animation:geo-pop .45s cubic-bezier(.2,1.3,.4,1) forwards}@keyframes geo-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.12);opacity:1}100%{transform:scale(1);opacity:1}}.geo-check svg{width:30px;height:30px;stroke:#fff;stroke-width:3.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.geo-check path{stroke-dasharray:30;stroke-dashoffset:30}.geo-check.show path{animation:geo-draw .35s ease .18s forwards}@keyframes geo-draw{to{stroke-dashoffset:0}}.geo-error-ico{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;z-index:6;border-radius:50%;display:none;align-items:center;justify-content:center;background:rgba(226,59,59,.1)}.geo-error-ico svg{width:30px;height:30px;stroke:#d23232;stroke-width:2.6;fill:none;stroke-linecap:round}.geo-caption{min-height:24px;margin:14px 0 2px;font-size:1.12rem;font-weight:700;color:var(--geo-ink)}.geo-sub{margin:0 0 4px;font-size:.92rem;color:var(--geo-muted);min-height:20px}.geo-cancel{margin-top:16px;background:0 0;border:none;color:var(--geo-muted);font:inherit;font-size:.86rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.geo-cancel:hover{color:var(--geo-ink)}.geo-cancel:focus-visible{outline:2px solid var(--geo);outline-offset:3px;border-radius:4px}.geo-hide{display:none!important}@media (prefers-reduced-motion:reduce){.geo-modal{transition:opacity .2s ease;transform:none}.geo-backdrop.open .geo-modal{transform:none}.geo-center.lock,.geo-center::after,.geo-pulse span,.geo-sweep::before{animation:none}.geo-pulse,.geo-sweep{display:none}.geo-pin{transition:opacity .35s ease;transform:none;opacity:0}.geo-pin.drop{animation:none;opacity:1;transform:none}.geo-pin.settle{animation:none}.geo-check.show{animation:none;transform:scale(1);opacity:1}.geo-check.show path{animation:none;stroke-dashoffset:0}}