*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}*{transition:background-color .3s ease,color .3s ease,transform .2s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#1e293b}::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#64748b}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 20px 40px #0006;background:linear-gradient(135deg,#fff,#f8fafc)}.leaflet-popup-tip{background:#fff}.leaflet-container{font-family:inherit}.glass{background:#0f172ad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.1)}.glass-light{background:#ffffff1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:.75rem;border:none;cursor:pointer;transition:all .2s ease;outline:none;text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{box-shadow:0 6px 20px #6366f166;transform:translateY(-2px)}.btn-secondary{background:#47556980;color:#e2e8f0;border:1px solid rgba(148,163,184,.3)}.btn-secondary:hover{background:#475569b3;border-color:#94a3b880}.btn-icon{padding:.625rem;border-radius:.75rem}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}.card{background:#0f172ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.1);border-radius:1rem;box-shadow:0 10px 30px #0000004d}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:0 15px 40px #0006;border-color:#94a3b833}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-in{animation:fadeIn .3s ease-in-out}.animate-slide-up{animation:slideUp .3s ease-out}.animate-slide-down{animation:slideDown .3s ease-out}.animate-slide-right{animation:slideInRight .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}@media(max-width:768px){.hide-mobile{display:none!important}.card{border-radius:.75rem}.btn{padding:.5rem 1rem;font-size:.8125rem}}@media(max-width:640px){body{font-size:14px}.card{border-radius:.5rem}}button:focus-visible,a:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:.5rem .75rem;background:#0f172af2;color:#fff;font-size:.75rem;border-radius:.5rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}.tooltip:hover:after{opacity:1}
