.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 rgba(0,0,0,.1)}@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:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.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(0deg)}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:hsla(0,0%,100%,.5);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:hsla(0,0%,100%,.5);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:rgba(0,0,0,.05)}.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:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);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}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-start}.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:rgba(0,0,0,.05)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);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 rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@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:rgba(0,0,0,.4);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}:root {
  --bg-0: #0d2742;
  --bg-1: #173a5b;
  --bg-2: #244b70;
  --panel: rgba(82, 121, 162, 0.54);
  --panel-strong: rgba(46, 86, 128, 0.66);
  --panel-light: rgba(255, 255, 255, 0.82);
  --input-bg: rgba(255, 255, 255, 0.94);
  --input-bg-soft: rgba(236, 246, 255, 0.9);
  --border: rgba(190, 225, 255, 0.44);
  --border-strong: rgba(220, 240, 255, 0.74);
  --text: #f4f8ff;
  --text-dark: #17324d;
  --muted: #afc3d8;
  --muted-dark: #5e7891;
  --primary: #4c8edb;
  --primary-deep: #245a91;
  --accent: #7dc8ff;
  /* Azul-claro legivel para LABELS/kickers em TEXTO sobre superficies azuis.
     O --accent puro (#7dc8ff) so tem contraste em fundo escuro; como label em
     painel/modal steel-blue ele falha WCAG AA (~2.7-3.4:1). Este tom passa AA
     em todos os fundos do app (painel escurecido ~7-9:1, modal de config ~4.9:1).
     Usar para color: de label; NAO trocar border/glow/scrollbar (esses seguem --accent). */
  --label-blue: #bcdcff;
  --success: #4ade80;
  --warning: #fbbf24;
  --danger: #f87171;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --shadow-soft: 0 18px 48px rgba(4, 19, 37, 0.28), 0 0 14px rgba(190, 225, 255, 0.12);
  --shadow-panel: 0 26px 78px rgba(4, 19, 37, 0.34), 0 0 0 1px rgba(220, 240, 255, 0.18), 0 0 22px rgba(190, 225, 255, 0.2);
  --shadow-glow: 0 0 0 1px rgba(220, 240, 255, 0.26), 0 0 16px rgba(151, 209, 255, 0.28);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.38), inset 0 -1px 0 rgba(8, 27, 48, 0.28);
  --blur-panel: blur(18px);
  --transition: 160ms cubic-bezier(0.2, 0.7, 0.3, 1);
  --search-panel-width: clamp(260px, 20vw, 320px);
  --mobile-header-height: 60px;
  --mobile-bottom-nav-height: 74px;
  font-family: Aptos, "Segoe UI Variable", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  color: var(--text);
  background: var(--bg-0);
  font-synthesis: none;
  text-rendering: geometricPrecision;
}

* {
  box-sizing: border-box;
}

html,
body,
#root {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

body {
  margin: 0;
  overflow: hidden;
}

button,
input,
textarea,
select {
  font: inherit;
}

/* Estilo elegante padrão para TODAS as entradas de texto (evita o aspecto quadrado,
   letra grande e outline preto do browser). Casos especiais (login, busca, toolbar,
   recenter) têm seletores mais específicos que sobrescrevem este. */
input:where([type="text"], [type="email"], [type="password"], [type="search"], [type="tel"], [type="number"], [type="date"], [type="url"], :not([type])),
textarea {
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid rgba(160, 200, 240, 0.46);
  border-radius: var(--radius-sm);
  outline: none;
  color: var(--text-dark);
  font-size: 13px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(237, 247, 255, 0.92)),
    var(--input-bg);
  box-shadow: inset 0 2px 5px rgba(23, 50, 77, 0.12), 0 1px 0 rgba(255, 255, 255, 0.2);
  transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

textarea {
  min-height: 82px;
  padding: 10px 11px;
  line-height: 1.42;
  resize: vertical;
}

input:where([type="text"], [type="email"], [type="password"], [type="search"], [type="tel"], [type="number"], [type="date"], [type="url"], :not([type])):focus,
textarea:focus {
  border-color: rgba(125, 200, 255, 0.86);
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    inset 0 2px 5px rgba(23, 50, 77, 0.1),
    0 0 0 3px rgba(125, 200, 255, 0.18),
    0 0 18px rgba(125, 200, 255, 0.22);
}

input::placeholder,
textarea::placeholder {
  color: rgba(23, 50, 77, 0.46);
}

button {
  -webkit-tap-highlight-color: transparent;
}

.app-shell {
  position: relative;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 12%, rgba(183, 222, 255, 0.28), transparent 28rem),
    radial-gradient(circle at 76% 22%, rgba(125, 200, 255, 0.2), transparent 24rem),
    radial-gradient(circle at 50% 112%, rgba(82, 155, 227, 0.34), transparent 30rem),
    linear-gradient(145deg, var(--bg-0), var(--bg-1) 52%, #0a2036);
}

.app-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(190, 225, 255, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(190, 225, 255, 0.07) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at 50% 48%, black, transparent 82%);
  z-index: 1;
}

.map-shell {
  position: absolute;
  inset: 0;
  filter: saturate(0.9) contrast(0.96) brightness(0.9);
  transition: opacity var(--transition), filter var(--transition);
}

.map-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 35% 30%, rgba(183, 222, 255, 0.16), transparent 28rem),
    linear-gradient(135deg, rgba(38, 83, 127, 0.74), rgba(10, 35, 62, 0.68));
  mix-blend-mode: soft-light;
  opacity: 0.45;
}

.map-stage,
.map-fallback {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.map-stage {
  /* Mesma imagem do login como fundo enquanto o mapa ainda não renderizou. */
  background:
    linear-gradient(160deg, rgba(16, 44, 73, 0.55), rgba(8, 20, 38, 0.62)),
    url("/login-topographic-bg.jpeg") center center / cover no-repeat,
    #102c49;
}

.daduz-pin-tooltip {
  z-index: 7;
}

.daduz-pin-tooltip .maplibregl-popup-tip {
  border-top-color: rgba(220, 240, 255, 0.9);
  filter: drop-shadow(0 6px 12px rgba(5, 18, 34, 0.24));
}

.daduz-pin-tooltip .maplibregl-popup-content {
  min-height: 26px;
  border: 1px solid rgba(220, 240, 255, 0.78);
  border-radius: 999px;
  padding: 5px 10px;
  color: #ffffff;
  background:
    linear-gradient(160deg, rgba(126, 166, 207, 0.78), rgba(46, 86, 128, 0.72)),
    rgba(34, 70, 108, 0.78);
  box-shadow:
    0 14px 30px rgba(5, 18, 34, 0.28),
    0 0 18px rgba(151, 209, 255, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.42);
  backdrop-filter: var(--blur-panel);
  -webkit-backdrop-filter: var(--blur-panel);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
}

.map-stage .maplibregl-canvas {
  filter: grayscale(0.58) saturate(0.88) contrast(0.96) brightness(0.92);
}

.map-fallback {
  overflow: hidden;
  background:
    radial-gradient(circle at 24% 68%, rgba(125, 200, 255, 0.2), transparent 16rem),
    radial-gradient(circle at 70% 42%, rgba(183, 222, 255, 0.26), transparent 18rem),
    radial-gradient(circle at 52% 62%, rgba(76, 142, 219, 0.2), transparent 14rem),
    linear-gradient(145deg, #173a5b, #214b73 48%, #0f2b49);
}

.map-fallback::before {
  content: "";
  position: absolute;
  inset: -22%;
  background-image:
    repeating-radial-gradient(ellipse at 42% 44%, transparent 0 28px, rgba(220, 240, 255, 0.13) 29px 30px, transparent 31px 62px),
    linear-gradient(18deg, transparent 0 47%, rgba(220, 240, 255, 0.2) 48% 49%, transparent 50% 100%),
    linear-gradient(112deg, transparent 0 44%, rgba(190, 225, 255, 0.16) 45% 46%, transparent 47% 100%),
    linear-gradient(73deg, transparent 0 50%, rgba(190, 225, 255, 0.12) 51% 52%, transparent 53% 100%);
  background-size: 620px 430px, 340px 220px, 280px 260px, 420px 300px;
  opacity: 0.68;
  transform: rotate(-4deg);
}

.map-fallback::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 44% 46%, transparent 0 18rem, rgba(11, 38, 64, 0.12) 30rem, rgba(6, 19, 34, 0.3)),
    linear-gradient(rgba(190, 225, 255, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(190, 225, 255, 0.09) 1px, transparent 1px);
  background-size: auto, 88px 88px, 88px 88px;
}

.map-road {
  position: absolute;
  height: 4px;
  border-radius: 999px;
  background: rgba(220, 240, 255, 0.56);
  box-shadow: 0 0 22px rgba(183, 222, 255, 0.22);
}

.road-a {
  left: -5%;
  top: 42%;
  width: 70%;
  transform: rotate(13deg);
}

.road-b {
  right: -6%;
  top: 56%;
  width: 72%;
  transform: rotate(-18deg);
}

.road-c {
  left: 26%;
  bottom: 18%;
  width: 54%;
  transform: rotate(32deg);
}

.map-area {
  position: absolute;
  z-index: 1;
  padding: 4px 8px;
  border: 1px solid rgba(220, 240, 255, 0.36);
  border-radius: 999px;
  color: rgba(244, 248, 255, 0.78);
  background: rgba(62, 104, 145, 0.34);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26), 0 8px 22px rgba(6, 19, 34, 0.16);
  font-size: 11px;
  backdrop-filter: blur(8px);
}

.area-a {
  left: 22%;
  top: 32%;
}

.area-b {
  right: 24%;
  top: 38%;
}

.area-c {
  left: 46%;
  bottom: 24%;
}

.heat {
  position: absolute;
  width: 18rem;
  height: 18rem;
  border-radius: 50%;
  filter: blur(30px);
  opacity: 0.62;
}

.heat-green {
  left: 18%;
  top: 48%;
  background: rgba(74, 222, 128, 0.27);
}

.heat-orange {
  right: 24%;
  top: 28%;
  background: rgba(251, 191, 36, 0.22);
}

.heat-red {
  right: 37%;
  bottom: 18%;
  background: rgba(248, 113, 113, 0.2);
}

.map-error-pill {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 14px;
  transform: translateX(-50%);
  padding: 5px 10px;
  border: 1px solid rgba(220, 240, 255, 0.36);
  border-radius: 999px;
  color: rgba(244, 248, 255, 0.86);
  background: rgba(23, 50, 77, 0.56);
  box-shadow: var(--shadow-soft);
  font-size: 11px;
  font-weight: 800;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.map-shell.is-dimmed {
  opacity: 0.86;
  filter: saturate(0.82) contrast(0.92) brightness(0.78);
}

.map-shell.is-dimmed .map-recenter-control {
  display: none;
}

.brand-plate,
.user-plate,
.settings-dot-button,
.glass-card,
.tool-dock,
.modal-wrap {
  border: 1px solid var(--border);
  background:
    linear-gradient(145deg, rgba(116, 156, 198, 0.42), rgba(35, 77, 120, 0.34)),
    rgba(58, 100, 145, 0.38);
  box-shadow:
    var(--shadow-soft),
    0 0 0 1px rgba(220, 240, 255, 0.1),
    var(--shadow-inset);
  color: var(--text);
  backdrop-filter: var(--blur-panel);
  -webkit-backdrop-filter: var(--blur-panel);
}

.top-left-cluster {
  position: absolute;
  z-index: 14;
  top: 14px;
  left: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.brand-plate {
  position: absolute;
  z-index: 4;
  top: 14px;
  left: 14px;
  display: flex;
  align-items: center;
  gap: 7px;
  height: 34px;
  padding: 0 13px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
}

.top-left-cluster .brand-plate {
  position: relative;
  top: auto;
  left: auto;
}

.brand-plate::after {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.22), transparent 38%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.user-plate {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 34px;
  min-width: 0;
  padding: 0 10px 0 5px;
  border-radius: 999px;
  color: rgba(244, 248, 255, 0.94);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  transition:
    transform var(--transition),
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.user-plate-wrap {
  position: relative;
}

.user-plate:hover,
.user-plate.active {
  transform: translateY(-1px);
  border-color: rgba(220, 240, 255, 0.7);
  box-shadow: var(--shadow-glow), var(--shadow-soft);
}

.user-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(220, 240, 255, 0.52);
  border-radius: 50%;
  color: #ffffff;
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.42), transparent 38%),
    linear-gradient(145deg, rgba(125, 200, 255, 0.48), rgba(36, 90, 145, 0.52));
  box-shadow:
    0 0 14px rgba(151, 209, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.36);
  font-size: 9px;
  line-height: 1;
}

.user-name {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-menu {
  position: absolute;
  z-index: 12;
  top: calc(100% + 8px);
  left: 0;
  width: 210px;
  display: grid;
  gap: 5px;
  padding: 8px;
  border: 1px solid rgba(220, 240, 255, 0.44);
  border-radius: var(--radius-md);
  color: var(--text);
  background:
    linear-gradient(145deg, rgba(116, 156, 198, 0.52), rgba(35, 77, 120, 0.46)),
    rgba(35, 76, 118, 0.72);
  box-shadow:
    0 20px 48px rgba(5, 18, 34, 0.34),
    0 0 18px rgba(125, 200, 255, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.26);
  backdrop-filter: var(--blur-panel);
  -webkit-backdrop-filter: var(--blur-panel);
}

.user-menu::before {
  content: "";
  position: absolute;
  left: 20px;
  top: -5px;
  width: 10px;
  height: 10px;
  border-left: 1px solid rgba(220, 240, 255, 0.36);
  border-top: 1px solid rgba(220, 240, 255, 0.36);
  background: rgba(85, 126, 167, 0.78);
  transform: rotate(45deg);
}

.user-menu-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 6px 6px 8px;
  border-bottom: 1px solid rgba(220, 240, 255, 0.16);
}

.user-menu-head span:last-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.user-menu-head b,
.user-menu-head small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-menu-head b {
  color: #ffffff;
  font-size: 12px;
}

.user-menu-head small {
  color: rgba(202, 229, 255, 0.72);
  font-size: 10px;
}

.user-menu > button {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  border: 1px solid rgba(220, 240, 255, 0.16);
  border-radius: var(--radius-sm);
  padding: 0 8px;
  color: rgba(244, 248, 255, 0.9);
  background: rgba(220, 240, 255, 0.08);
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
  transition: border-color var(--transition), background var(--transition), transform var(--transition);
}

.user-menu > button:hover {
  border-color: rgba(220, 240, 255, 0.46);
  background: rgba(220, 240, 255, 0.16);
}

.user-menu > button:active {
  transform: translateY(1px);
}

.settings-dot-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: rgba(244, 248, 255, 0.92);
  cursor: pointer;
  transition:
    transform var(--transition),
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.settings-dot-button:hover {
  transform: translateY(-1px);
  border-color: rgba(220, 240, 255, 0.72);
  box-shadow: var(--shadow-glow), var(--shadow-soft);
}

.top-action-toolbar {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px;
  border: 1px solid rgba(220, 240, 255, 0.28);
  border-radius: 999px;
  background:
    linear-gradient(145deg, rgba(116, 156, 198, 0.32), rgba(35, 77, 120, 0.24)),
    rgba(58, 100, 145, 0.28);
  box-shadow:
    0 12px 28px rgba(6, 19, 34, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.26);
  backdrop-filter: var(--blur-panel);
  -webkit-backdrop-filter: var(--blur-panel);
}

.top-action-toolbar .settings-dot-button {
  width: 28px;
  height: 28px;
}

.mobile-header,
.mobile-bottom-nav {
  display: none;
}

.settings-dot-button.active {
  border-color: rgba(220, 240, 255, 0.76);
  background:
    linear-gradient(180deg, rgba(220, 240, 255, 0.3), rgba(125, 200, 255, 0.12)),
    rgba(76, 142, 219, 0.5);
  box-shadow: var(--shadow-glow), inset 0 1px 0 rgba(255, 255, 255, 0.32);
}

.brand-plate svg,
.card-title svg,
.modal-panel header svg,
.tool-button svg {
  flex: 0 0 auto;
  stroke-width: 1.8;
}

.people-card {
  position: absolute;
  z-index: 4;
  right: 14px;
  top: 14px;
  width: 132px;
  border-radius: var(--radius-md);
  padding: 10px;
  cursor: pointer;
  transition:
    width var(--transition),
    padding var(--transition),
    border-color var(--transition),
    box-shadow var(--transition),
    transform var(--transition);
}

.people-card.is-compact {
  z-index: 17;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  width: 192px;
  padding: 9px 18px;
}

.people-card.is-compact .card-title {
  flex: none;
}

.people-card.is-compact strong {
  margin: 0;
  font-size: 22px;
}

.people-card strong {
  transition: font-size var(--transition), margin var(--transition);
}

.people-card:hover,
.people-card:focus-visible,
.people-card.is-expanded {
  border-color: rgba(220, 240, 255, 0.76);
  box-shadow: var(--shadow-panel), 0 0 18px rgba(151, 209, 255, 0.18);
}

.people-card:focus-visible {
  outline: none;
}

.people-card.is-expanded {
  width: 184px;
}

.card-title {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(244, 248, 255, 0.92);
  font-size: 12px;
  font-weight: 700;
}

.card-title small {
  margin-left: auto;
  padding: 2px 7px;
  border: 1px solid rgba(220, 240, 255, 0.38);
  border-radius: 999px;
  color: rgba(244, 248, 255, 0.86);
  background: rgba(183, 222, 255, 0.12);
  font-size: 10px;
  font-weight: 700;
}

.people-card strong {
  display: block;
  margin: 8px 0;
  color: #ffffff;
  font-size: 25px;
  line-height: 1;
  text-shadow: 0 0 20px rgba(190, 225, 255, 0.28);
}

.status-row {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.status-filter {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 20px;
  padding: 2px 6px;
  border: 1px solid rgba(220, 240, 255, 0.28);
  border-radius: 999px;
  background: rgba(220, 240, 255, 0.13);
  color: rgba(244, 248, 255, 0.92);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition:
    border-color var(--transition),
    background var(--transition),
    box-shadow var(--transition),
    transform var(--transition);
}

.status-filter:hover,
.status-filter.active {
  border-color: rgba(220, 240, 255, 0.7);
  background: rgba(220, 240, 255, 0.22);
  box-shadow: 0 0 14px color-mix(in srgb, var(--dot) 24%, transparent);
}

.status-filter:active {
  transform: translateY(1px);
}

.status-filter::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--dot);
  box-shadow: 0 0 12px color-mix(in srgb, var(--dot) 74%, transparent);
}

.tool-dock {
  position: absolute;
  z-index: 16;
  left: 14px;
  bottom: 14px;
  display: flex;
  gap: 4px;
  padding: 5px;
  border-radius: var(--radius-md);
}

.tool-button,
.primary-small,
.admin-user-list button {
  border: 1px solid rgba(220, 240, 255, 0.34);
  color: var(--text);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(190, 225, 255, 0.05)),
    rgba(55, 101, 148, 0.34);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    inset 0 -1px 0 rgba(8, 27, 48, 0.18),
    0 10px 22px rgba(6, 19, 34, 0.14);
  cursor: pointer;
  transition:
    transform var(--transition),
    border-color var(--transition),
    background var(--transition),
    box-shadow var(--transition),
    color var(--transition);
}

.tool-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 29px;
  border-radius: 9px;
  padding: 0 8px;
  font-size: 11px;
  font-weight: 700;
}

.tool-button:hover,
.primary-small:hover,
.admin-user-list button:hover {
  border-color: rgba(220, 240, 255, 0.72);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(183, 222, 255, 0.09)),
    rgba(72, 124, 174, 0.44);
  box-shadow:
    0 0 0 1px rgba(220, 240, 255, 0.14),
    0 0 16px rgba(183, 222, 255, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.36);
}

.tool-button:active,
.primary-small:active,
.admin-user-list button:active {
  transform: translateY(1px) scale(0.98);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.22);
}

.tool-button.active {
  border-color: rgba(220, 240, 255, 0.82);
  color: #ffffff;
  background:
    linear-gradient(180deg, rgba(220, 240, 255, 0.26), rgba(125, 200, 255, 0.12)),
    rgba(76, 142, 219, 0.58);
  box-shadow:
    var(--shadow-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    inset 0 -1px 0 rgba(5, 15, 28, 0.28);
}

.modal-wrap {
  position: absolute;
  z-index: 5;
  inset: 50% auto auto 50%;
  width: min(70vw, 820px);
  max-height: min(72vh, 660px);
  transform: translate(-50%, -50%);
  border-radius: var(--radius-lg);
  padding: 16px;
  overflow: auto;
  border-color: rgba(220, 240, 255, 0.62);
  background:
    linear-gradient(150deg, rgba(126, 166, 207, 0.48), rgba(46, 86, 128, 0.42)),
    rgba(58, 100, 145, 0.42);
  box-shadow:
    var(--shadow-panel),
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    inset 0 -1px 0 rgba(8, 27, 48, 0.22);
  scrollbar-width: thin;
  scrollbar-color: rgba(125, 200, 255, 0.44) rgba(7, 24, 39, 0.2);
}

.modal-wrap::before {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border-radius: calc(var(--radius-lg) - 1px);
  background:
    linear-gradient(90deg, transparent 4%, rgba(255, 255, 255, 0.62), transparent 44%) top / 100% 1px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.42), transparent 44%) left / 1px 100% no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.42), transparent 44%) right / 1px 100% no-repeat,
    linear-gradient(0deg, rgba(190, 225, 255, 0.26), transparent 42%) bottom / 100% 1px no-repeat;
}

.close-small {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(220, 240, 255, 0.34);
  border-radius: 8px;
  color: rgba(244, 248, 255, 0.78);
  background: rgba(220, 240, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
  cursor: pointer;
  line-height: 1;
  transition: border-color var(--transition), color var(--transition), background var(--transition), transform var(--transition);
}

.close-small:hover {
  border-color: rgba(220, 240, 255, 0.68);
  color: #ffffff;
  background: rgba(183, 222, 255, 0.18);
}

.close-small:active {
  transform: scale(0.96);
}

.modal-panel {
  position: relative;
  z-index: 1;
}

.modal-panel header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 13px;
  padding-right: 34px;
  color: #ffffff;
}

.modal-panel header svg {
  color: var(--accent);
  filter: drop-shadow(0 0 12px rgba(183, 222, 255, 0.38));
}

.modal-panel h2 {
  margin: 0;
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
}

.modal-panel textarea,
.modal-panel input,
.modal-panel select {
  width: 100%;
  min-height: 34px;
  border: 1px solid rgba(160, 200, 240, 0.46);
  border-radius: var(--radius-sm);
  outline: none;
  color: var(--text-dark);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(237, 247, 255, 0.92)),
    var(--input-bg);
  box-shadow: inset 0 2px 5px rgba(23, 50, 77, 0.12), 0 1px 0 rgba(255, 255, 255, 0.2);
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.modal-panel textarea::placeholder,
.modal-panel input::placeholder {
  color: rgba(23, 50, 77, 0.46);
}

.modal-panel textarea:focus,
.modal-panel input:focus,
.modal-panel select:focus {
  border-color: rgba(125, 200, 255, 0.86);
  background: rgba(255, 255, 255, 0.97);
  box-shadow:
    inset 0 2px 5px rgba(23, 50, 77, 0.1),
    0 0 0 3px rgba(125, 200, 255, 0.18),
    0 0 24px rgba(125, 200, 255, 0.24);
}

.modal-panel textarea,
.modal-panel input {
  padding: 0 10px;
}

.modal-panel textarea {
  min-height: 82px;
  padding: 10px;
  resize: vertical;
}

.modal-panel select {
  padding: 0 9px;
}

.search-shell {
  position: absolute;
  z-index: 5;
  inset: 0;
  pointer-events: none;
}

.search-shell.is-collapsed .search-results-panel {
  left: 66px;
}

.search-chat-panel,
.search-results-panel {
  position: absolute;
  pointer-events: auto;
  backdrop-filter: var(--blur-panel);
  -webkit-backdrop-filter: var(--blur-panel);
}

.search-chat-panel {
  top: 62px;
  bottom: auto;
  max-height: calc(100vh - 124px);
  left: 14px;
  width: var(--search-panel-width);
  min-width: 0;
  overflow: auto;
  padding: 14px;
  border: 1px solid rgba(220, 240, 255, 0.58);
  border-radius: var(--radius-lg);
  color: var(--text);
  background:
    linear-gradient(150deg, rgba(126, 166, 207, 0.44), rgba(46, 86, 128, 0.38)),
    rgba(58, 100, 145, 0.42);
  box-shadow:
    var(--shadow-panel),
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    inset 0 -1px 0 rgba(8, 27, 48, 0.2);
  scrollbar-width: thin;
  scrollbar-color: rgba(125, 200, 255, 0.44) rgba(7, 24, 39, 0.2);
}

.search-chat-panel::before,
.search-results-panel::before {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border-radius: calc(var(--radius-lg) - 1px);
}

.search-chat-panel::before {
  background:
    linear-gradient(90deg, transparent 4%, rgba(255, 255, 255, 0.58), transparent 48%) top / 100% 1px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.36), transparent 46%) left / 1px 100% no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.36), transparent 46%) right / 1px 100% no-repeat;
}

.search-close {
  top: 10px;
  right: 10px;
}

.search-collapse-button,
.search-restore-button,
.search-clear-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(220, 240, 255, 0.34);
  border-radius: 999px;
  color: rgba(244, 248, 255, 0.9);
  background: rgba(220, 240, 255, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
  cursor: pointer;
  transition:
    transform var(--transition),
    border-color var(--transition),
    background var(--transition),
    box-shadow var(--transition);
}

.search-collapse-button:hover,
.search-restore-button:hover,
.search-clear-button:hover {
  border-color: rgba(220, 240, 255, 0.68);
  background: rgba(183, 222, 255, 0.22);
}

.search-collapse-button:active,
.search-restore-button:active,
.search-clear-button:active {
  transform: translateY(1px);
}

.search-collapse-button {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 40px;
  width: 26px;
  height: 26px;
}

.search-restore-button {
  position: absolute;
  pointer-events: auto;
  top: 62px;
  left: 14px;
  width: 40px;
  height: 40px;
  color: #ffffff;
  background:
    linear-gradient(150deg, rgba(126, 166, 207, 0.54), rgba(46, 86, 128, 0.46)),
    rgba(58, 100, 145, 0.46);
  box-shadow:
    var(--shadow-soft),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  backdrop-filter: var(--blur-panel);
  -webkit-backdrop-filter: var(--blur-panel);
}

.search-panel-content header {
  padding-right: 30px;
}

.search-chat-label {
  display: block;
  margin-bottom: 6px;
  color: rgba(228, 242, 255, 0.82);
  font-size: 11px;
  font-weight: 800;
}

.search-textarea-wrap {
  position: relative;
}

.search-panel-content textarea {
  min-height: 154px;
  max-height: 254px;
  line-height: 1.42;
  padding-right: 12px;
  padding-bottom: 10px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(23, 50, 77, 0.58) rgba(255, 255, 255, 0.16);
}

.search-panel-content textarea.has-clear {
  padding-right: 58px;
  padding-bottom: 34px;
}

.search-panel-content textarea::-webkit-scrollbar {
  width: 5px;
}

.search-panel-content textarea::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
}

.search-panel-content textarea::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(23, 50, 77, 0.62);
}

.search-clear-button {
  position: absolute;
  right: 8px;
  bottom: 8px;
  gap: 4px;
  min-height: 24px;
  padding: 0 8px;
  border-color: rgba(76, 142, 219, 0.18);
  color: var(--primary-deep);
  background: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 8px 16px rgba(23, 50, 77, 0.08);
}

.search-panel-content textarea.has-sheet { padding-bottom: 40px; }

/* Chip da planilha anexada (busca por planilha) — canto inferior esquerdo da caixa, legível
   sobre o fundo claro do textarea. */
.search-sheet-chip { position: absolute; left: 8px; bottom: 8px; display: inline-flex; align-items: center; gap: 6px; max-width: calc(100% - 16px); padding: 4px 6px 4px 9px; border-radius: 999px; background: rgba(236, 246, 255, 0.97); border: 1px solid rgba(76, 142, 219, 0.34); color: var(--primary-deep); font-size: 11px; font-weight: 800; box-shadow: 0 6px 14px rgba(23, 50, 77, 0.12); }
.search-sheet-chip > svg { color: var(--primary); flex: 0 0 auto; }
.search-sheet-chip .search-sheet-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 168px; }
.search-sheet-chip button { display: grid; place-items: center; width: 18px; height: 18px; flex: 0 0 auto; border-radius: 999px; border: 0; background: rgba(36, 75, 112, 0.14); color: var(--primary-deep); cursor: pointer; transition: background 160ms ease, color 160ms ease; }
.search-sheet-chip button:hover { background: var(--danger); color: #fff; }

/* Botão "+" de anexar planilha: MESMA estética do Interpretar (.primary-small), porém ~20%
   menor e alinhado à DIREITA da linha de ações. */
.search-action-row .search-attach-btn { margin-left: auto; flex: 0 0 auto; height: 24px; min-height: 24px; min-width: 24px; padding: 0 8px; border: 0; cursor: pointer; }

.search-action-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 9px;
}

.search-action-row small {
  min-width: 0;
  color: rgba(202, 229, 255, 0.76);
  font-size: 10px;
  line-height: 1.25;
}

.search-mini-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 12px;
  padding: 9px;
  border: 1px solid rgba(220, 240, 255, 0.24);
  border-radius: var(--radius-sm);
  background: rgba(220, 240, 255, 0.11);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.search-mini-status b {
  color: #ffffff;
  font-size: 14px;
}

.search-mini-status small {
  color: rgba(202, 229, 255, 0.72);
  font-size: 10px;
  text-align: right;
}

.search-results-panel {
  top: 62px;
  bottom: 62px;
  left: calc(22px + var(--search-panel-width));
  width: clamp(248px, 24vw, 360px);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto 1fr auto;
  overflow: hidden;
  border: 1px solid rgba(190, 225, 255, 0.62);
  border-radius: var(--radius-lg);
  color: var(--text-dark);
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.9), rgba(226, 242, 255, 0.82)),
    rgba(244, 248, 255, 0.86);
  box-shadow:
    0 20px 52px rgba(5, 18, 34, 0.24),
    0 0 22px rgba(183, 222, 255, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.search-results-panel::before {
  background:
    linear-gradient(90deg, transparent 5%, rgba(255, 255, 255, 0.92), transparent 50%) top / 100% 1px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), transparent 52%) left / 1px 100% no-repeat;
}

.search-results-panel header {
  position: relative;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 12px 8px;
  color: var(--text-dark);
  font-size: 12px;
  font-weight: 900;
}

.search-results-actions {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.search-results-actions > b {
  min-width: 28px;
  padding: 3px 8px;
  border: 1px solid rgba(76, 142, 219, 0.22);
  border-radius: 999px;
  background: rgba(76, 142, 219, 0.1);
  color: var(--primary-deep);
  text-align: center;
}

.result-bi-button,
.selection-add-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
  height: 24px;
  min-width: 31px;
  border: 1px solid rgba(76, 142, 219, 0.24);
  border-radius: 999px;
  color: var(--primary-deep);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(226, 242, 255, 0.64)),
    rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82), 0 8px 18px rgba(23, 50, 77, 0.08);
  cursor: pointer;
  transition:
    transform var(--transition),
    border-color var(--transition),
    box-shadow var(--transition);
}

.result-bi-button {
  min-width: 27px;
}

.result-bi-button.active,
.result-bi-button:hover:not(:disabled),
.selection-add-button:hover:not(:disabled) {
  border-color: rgba(76, 142, 219, 0.52);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 0 18px rgba(76, 142, 219, 0.16);
}

.result-bi-button:active:not(:disabled),
.selection-add-button:active:not(:disabled) {
  transform: translateY(1px);
}

.result-bi-button:disabled,
.selection-add-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.selection-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  right: 0;
  width: 248px;
  display: grid;
  gap: 5px;
  padding: 7px;
  border: 1px solid rgba(190, 225, 255, 0.72);
  border-radius: var(--radius-md);
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.99), rgba(232, 245, 255, 0.96)),
    rgba(248, 252, 255, 0.98);
  box-shadow:
    0 24px 54px rgba(5, 18, 34, 0.3),
    0 0 0 1px rgba(255, 255, 255, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.selection-menu button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  width: 100%;
  border: 1px solid rgba(76, 142, 219, 0.12);
  border-radius: var(--radius-sm);
  padding: 7px 8px;
  color: var(--primary-deep);
  background: rgba(255, 255, 255, 0.54);
  cursor: pointer;
  text-align: left;
  transition:
    border-color var(--transition),
    background var(--transition),
    transform var(--transition);
}

.selection-menu button:hover {
  transform: translateY(-1px);
  border-color: rgba(76, 142, 219, 0.34);
  background: rgba(255, 255, 255, 0.82);
}

.selection-menu-divider {
  display: block;
  height: 1px;
  margin: 2px 4px;
  background: linear-gradient(90deg, transparent, rgba(76, 142, 219, 0.2), transparent);
}

.selection-menu button span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.selection-menu button b {
  overflow: hidden;
  color: var(--text-dark);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.selection-menu button small,
.selection-action-message {
  color: var(--muted-dark);
  font-size: 10px;
}

.selection-action-message {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0 10px 8px;
  padding: 7px 8px;
  border: 1px solid rgba(76, 142, 219, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(76, 142, 219, 0.08);
  color: var(--primary-deep);
  font-weight: 800;
}

.result-bi-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 0 10px 9px;
}

.result-bi-tile {
  display: grid;
  gap: 6px;
  min-height: 116px;
  border: 1px solid rgba(76, 142, 219, 0.14);
  border-radius: var(--radius-sm);
  padding: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(236, 246, 255, 0.54)),
    rgba(255, 255, 255, 0.58);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 8px 18px rgba(23, 50, 77, 0.08);
}

.result-bi-tile > span {
  color: var(--primary-deep);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.result-bi-tile small {
  color: var(--muted-dark);
  font-size: 9px;
  line-height: 1.25;
}

/* Resultados BI: toolbar + seletor de gráficos + ampliar + modal */
.result-bi {
  display: grid;
  gap: 8px;
}

.result-bi-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 10px;
}

.result-bi-toolbar > span {
  color: var(--primary-deep);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.chart-picker {
  position: relative;
}

.chart-picker-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(76, 142, 219, 0.3);
  border-radius: 10px;
  background: #ffffff;
  color: var(--text-dark);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.chart-picker-trigger > svg {
  color: var(--primary-deep);
}

.chart-picker-trigger b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--primary-deep);
  color: #ffffff;
  font-size: 11px;
}

.chart-picker-trigger.open,
.chart-picker-trigger:focus-visible {
  outline: none;
  border-color: rgba(76, 142, 219, 0.7);
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.18);
}

.chart-picker-caret {
  transition: transform 0.15s ease;
}

.chart-picker-trigger.open .chart-picker-caret {
  transform: rotate(180deg);
}

.chart-picker-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 5px);
  right: 0;
  min-width: 224px;
  margin: 0;
  padding: 5px;
  list-style: none;
  border: 1px solid rgba(76, 142, 219, 0.24);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 20px 44px rgba(23, 50, 77, 0.22);
}

.chart-picker-menu li {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 9px;
  border-radius: 8px;
  color: var(--text-dark);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s ease;
}

.chart-picker-menu li:hover {
  background: rgba(76, 142, 219, 0.1);
}

.chart-picker-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: none;
  border: 1px solid rgba(76, 142, 219, 0.4);
  border-radius: 6px;
  color: #ffffff;
  background: transparent;
}

.chart-picker-menu li.is-on .chart-picker-check {
  background: var(--primary-deep);
  border-color: var(--primary-deep);
}

.result-bi-tile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.result-bi-tile-head span {
  color: var(--primary-deep);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.result-bi-zoom {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex: none;
  border: 1px solid rgba(76, 142, 219, 0.24);
  border-radius: 6px;
  color: var(--primary-deep);
  background: rgba(76, 142, 219, 0.08);
  cursor: pointer;
  opacity: 0.65;
  transition: opacity 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.result-bi-tile:hover .result-bi-zoom {
  opacity: 1;
}

.result-bi-zoom:hover {
  background: rgba(76, 142, 219, 0.18);
  border-color: rgba(76, 142, 219, 0.5);
}

.result-bi-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 18px;
  text-align: center;
  color: var(--muted-dark);
  font-size: 12px;
  font-weight: 600;
}

.chart-modal-backdrop {
  position: fixed;
  z-index: 60;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(6, 19, 34, 0.5);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: dpPopIn 0.16s ease-out;
}

.chart-modal {
  width: min(640px, 96vw);
  padding: 16px;
  border: 1px solid rgba(190, 225, 255, 0.6);
  border-radius: 20px;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(228, 242, 255, 0.94));
  box-shadow: 0 30px 70px rgba(5, 18, 34, 0.4);
}

.chart-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.chart-modal-head h3 {
  margin: 0;
  color: var(--text-dark);
  font-size: 15px;
  font-weight: 900;
}

.chart-modal-actions {
  display: flex;
  gap: 6px;
}

.chart-modal-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(76, 142, 219, 0.3);
  border-radius: 10px;
  color: var(--primary-deep);
  background: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.chart-modal-actions button:hover {
  background: rgba(76, 142, 219, 0.14);
  border-color: rgba(76, 142, 219, 0.55);
}

.chart-modal-canvas-wrap {
  display: flex;
  justify-content: center;
  border: 1px solid rgba(76, 142, 219, 0.14);
  border-radius: 14px;
  overflow: hidden;
}

.chart-modal-canvas-wrap canvas {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Tela de detalhe do usuário: gestão de acesso a ações/eventos + histórico. */
.admin-user-row {
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.admin-user-row:hover {
  border-color: rgba(76, 142, 219, 0.42);
  background: rgba(76, 142, 219, 0.08);
}

.user-access-modal {
  width: min(760px, 96vw);
}

.user-access-head h3 {
  margin: 0;
  color: var(--text-dark);
  font-size: 16px;
  font-weight: 900;
}

.user-access-head small {
  color: var(--muted-dark);
  font-size: 11px;
  font-weight: 700;
}

.user-access-msg {
  margin: 0 0 10px;
  color: var(--muted-dark);
  font-size: 11px;
  font-weight: 700;
}

.user-access-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.user-access-col h4 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 8px;
  color: var(--primary-deep);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.user-access-col h4 > svg {
  color: var(--primary-deep);
}

.user-access-grant {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  margin-bottom: 10px;
}

.user-access-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
  max-height: 264px;
  overflow: auto;
}

.user-access-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(76, 142, 219, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.62);
}

.user-access-list li.is-revoked {
  opacity: 0.6;
  background: rgba(94, 120, 145, 0.08);
}

.user-access-list li span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.user-access-list li b {
  color: var(--text-dark);
  font-size: 12px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-access-list li small {
  color: var(--muted-dark);
  font-size: 10px;
}

.user-access-empty {
  justify-content: center !important;
  color: var(--muted-dark);
  font-size: 11px;
  font-weight: 600;
}

.access-block-btn {
  flex: none;
  border: 1px solid rgba(214, 69, 69, 0.4);
  border-radius: 999px;
  padding: 3px 12px;
  color: #ffffff;
  background: #d64545;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s ease;
}

.access-block-btn:hover {
  background: #c23b3b;
}

.access-block-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.access-tag.history {
  flex: none;
  padding: 2px 8px;
  border-radius: 999px;
  color: var(--muted-dark);
  background: rgba(94, 120, 145, 0.16);
  font-size: 9px;
  font-weight: 800;
  font-style: normal;
  text-transform: uppercase;
}

/* Vincular usuários a uma ação/evento direto do painel (admin/coordenador). */
.access-link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  flex: none;
}

/* Chips dos usuários vinculados (na sidebar escura → texto claro), removíveis pelo X. */
.access-link-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
}

.access-link-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  padding: 4px 5px 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(125, 200, 255, 0.34);
  background: rgba(72, 150, 230, 0.18);
}

.access-link-chip b {
  overflow: hidden;
  color: #eaf4ff;
  font-size: 11.5px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.access-link-chip small {
  flex: none;
  color: rgba(202, 229, 255, 0.7);
  font-size: 10px;
}

.access-link-chip button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: none;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #eaf4ff;
  cursor: pointer;
  transition: background var(--transition);
}

.access-link-chip button:hover {
  background: rgba(248, 113, 113, 0.55);
}

/* Sem blur no fundo deste modal (mantem so o escurecimento leve). */
.access-modal-backdrop {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Modal de seleção: grande, com a lista em grid (tipo tabela) para muitos usuários.
   Renderizado via portal no body — fora do escopo CSS do form (senão `.operation-create-box
   label` empilhava checkbox+nome e pintava o texto de azul-claro/uppercase ilegivel). */
.access-link-modal {
  width: min(720px, 94vw);
}

.access-modal-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(228px, 1fr));
  gap: 6px;
  max-height: min(58vh, 460px);
  margin: 0;
  padding: 4px 2px;
  overflow-y: auto;
  list-style: none;
}

.access-modal-list li {
  border: 1px solid rgba(76, 142, 219, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.5);
  transition: border-color 0.12s ease, background 0.12s ease;
}

.access-modal-list li:hover {
  border-color: rgba(76, 142, 219, 0.4);
  background: rgba(76, 142, 219, 0.08);
}

.access-modal-list li.is-on {
  border-color: var(--primary);
  background: rgba(76, 142, 219, 0.16);
}

.access-modal-list label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
  text-transform: none;
}

.access-modal-list input {
  width: 17px;
  height: 17px;
  flex: none;
  accent-color: var(--primary);
  cursor: pointer;
}

.access-modal-list span {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.access-modal-list b {
  overflow: hidden;
  color: var(--text-dark);
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.access-modal-list small {
  color: var(--muted-dark);
  font-size: 11px;
}

.access-modal-empty {
  grid-column: 1 / -1;
  padding: 16px;
  text-align: center;
  color: var(--muted-dark);
  font-size: 12px;
}

.access-link-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(220, 240, 255, 0.38);
  border-radius: 10px;
  color: #eaf4ff;
  background: rgba(220, 240, 255, 0.12);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.access-link-trigger:hover,
.access-link-trigger.open {
  border-color: rgba(125, 200, 255, 0.6);
  background: rgba(72, 150, 230, 0.26);
}

.access-link-trigger > svg {
  color: #9fd2ff;
}

.access-link-trigger b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #7dc8ff;
  color: #06202f;
  font-size: 11px;
}

.access-link-caret {
  transition: transform 0.15s ease;
}

.access-link-trigger.open .access-link-caret {
  transform: rotate(180deg);
}

.access-link-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 6px);
  right: 0;
  width: min(286px, 80vw);
  max-height: 320px;
  overflow: auto;
  padding: 6px;
  border: 1px solid rgba(76, 142, 219, 0.24);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 22px 50px rgba(23, 50, 77, 0.28);
}

.access-link-menu label {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 9px;
  border-radius: 9px;
  cursor: pointer;
  transition: background 0.12s ease;
}

.access-link-menu label:hover {
  background: rgba(76, 142, 219, 0.1);
}

.access-link-menu label.is-on {
  background: rgba(76, 142, 219, 0.12);
}

.access-link-menu label input {
  width: 16px;
  height: 16px;
  accent-color: var(--primary-deep);
  cursor: pointer;
}

.access-link-menu label span {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.access-link-menu label b {
  color: var(--text-dark);
  font-size: 12px;
  font-weight: 800;
}

.access-link-menu label small {
  color: var(--muted-dark);
  font-size: 10px;
}

.access-link-empty {
  margin: 0;
  padding: 12px;
  text-align: center;
  color: var(--muted-dark);
  font-size: 11px;
}

/* Scrollbar global discreta e elegante (default; regras específicas têm prioridade). */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(76, 142, 219, 0.4) transparent;
}

*::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background-color: rgba(76, 142, 219, 0.38);
  background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
  background-color: rgba(76, 142, 219, 0.62);
  background-clip: padding-box;
}

*::-webkit-scrollbar-corner {
  background: transparent;
}

.chart-donut,
.chart-pie {
  justify-self: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: conic-gradient(var(--chart));
  box-shadow: inset 0 0 0 1px rgba(76, 142, 219, 0.14), 0 8px 18px rgba(23, 50, 77, 0.1);
}

.chart-donut {
  position: relative;
}

.chart-donut::after {
  content: "";
  position: absolute;
  inset: 13px;
  border-radius: 50%;
  background: rgba(248, 252, 255, 0.94);
}

.chart-bars {
  display: grid;
  gap: 5px;
}

.chart-bars label {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 5px;
  color: var(--muted-dark);
  font-size: 9px;
}

.chart-bars b {
  overflow: hidden;
  color: var(--text-dark);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chart-bars em {
  position: relative;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(76, 142, 219, 0.12);
}

.chart-bars em::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--bar);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--primary), var(--accent));
}

.chart-line {
  display: flex;
  align-items: end;
  gap: 6px;
  height: 46px;
  padding: 5px 7px;
  border: 1px solid rgba(76, 142, 219, 0.1);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.45);
}

.chart-line i {
  flex: 1;
  height: var(--height);
  min-height: 5px;
  border-radius: 999px 999px 3px 3px;
  background: linear-gradient(180deg, var(--accent), var(--primary-deep));
  box-shadow: 0 -5px 14px rgba(125, 200, 255, 0.18);
}

.radius-filter {
  display: grid;
  gap: 7px;
  margin: 2px 10px 8px;
  padding: 10px 11px;
  border: 1px solid rgba(36, 90, 145, 0.3);
  border-radius: 14px;
  background: rgba(150, 196, 240, 0.28);
}

.radius-filter-head {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--text-dark);
  font-size: 11px;
  font-weight: 700;
}

.radius-filter-head > svg {
  flex: none;
  color: var(--primary-deep);
}

.radius-filter-head span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.radius-filter-head b {
  color: var(--primary-deep);
  font-weight: 900;
}

.radius-clear {
  margin-left: auto;
  flex: none;
  border: 1px solid rgba(36, 90, 145, 0.32);
  border-radius: 999px;
  padding: 3px 10px;
  color: #ffffff;
  background: var(--primary-deep);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.radius-clear:hover {
  background: #1d4d7d;
}

.radius-filter-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.radius-filter-controls input[type="range"] {
  flex: 1;
  min-width: 0;
  -webkit-appearance: none;
  appearance: none;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary-deep), rgba(36, 90, 145, 0.35));
  cursor: pointer;
}

.radius-filter-controls input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background: linear-gradient(180deg, #9bd6ff, #4f9be8);
  box-shadow: 0 2px 8px rgba(5, 30, 55, 0.5);
  cursor: pointer;
}

.radius-filter-controls input[type="range"]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background: #4f9be8;
  cursor: pointer;
}

.radius-filter-controls strong {
  min-width: 58px;
  text-align: right;
  color: var(--primary-deep);
  font-size: 12px;
  font-weight: 900;
}

.radius-filter > small {
  color: var(--muted-dark);
  font-size: 10px;
  font-weight: 800;
}

.search-results-list {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 7px;
  overflow: auto;
  padding: 0 10px 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(76, 142, 219, 0.42) rgba(23, 50, 77, 0.08);
}

.search-results-list p {
  margin: 0;
  padding: 11px;
  border: 1px dashed rgba(76, 142, 219, 0.26);
  border-radius: var(--radius-sm);
  color: var(--muted-dark);
  background: rgba(255, 255, 255, 0.44);
  font-size: 12px;
}

.search-result-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(76, 142, 219, 0.16);
  border-radius: var(--radius-sm);
  padding: 8px 8px 8px 22px;
  color: var(--text-dark);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(236, 246, 255, 0.58)),
    rgba(255, 255, 255, 0.56);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 8px 18px rgba(23, 50, 77, 0.08);
  cursor: pointer;
  text-align: left;
  transition:
    transform var(--transition),
    border-color var(--transition),
    background var(--transition),
    box-shadow var(--transition);
}

.search-result-item::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dot);
  box-shadow: 0 0 12px color-mix(in srgb, var(--dot) 70%, transparent);
  transform: translateY(-50%);
}

.search-result-item:hover {
  transform: translateY(-1px);
  border-color: rgba(76, 142, 219, 0.38);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 12px 22px rgba(23, 50, 77, 0.12);
}

.search-result-item.selected {
  border-color: rgba(76, 142, 219, 0.56);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(221, 239, 255, 0.76)),
    rgba(230, 244, 255, 0.86);
  box-shadow:
    0 0 0 1px rgba(125, 200, 255, 0.16),
    0 0 20px rgba(76, 142, 219, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.search-result-item span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.search-result-item b,
.search-result-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-result-item b {
  color: var(--text-dark);
  font-size: 12px;
  font-weight: 900;
}

.search-result-item small {
  color: var(--muted-dark);
  font-size: 10px;
}

.search-result-item em {
  align-self: start;
  padding: 3px 7px;
  border-radius: 999px;
  color: var(--primary-deep);
  background: rgba(76, 142, 219, 0.1);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

.search-results-foot {
  position: relative;
  z-index: 1;
  display: block;
  padding: 0 12px 10px;
  color: var(--muted-dark);
  font-size: 10px;
}

.person-popover {
  position: absolute;
  z-index: 6;
  top: 148px;
  right: 14px;
  width: 286px;
  padding: 12px;
  border: 1px solid rgba(220, 240, 255, 0.54);
  border-radius: var(--radius-lg);
  color: var(--text);
  background:
    linear-gradient(150deg, rgba(126, 166, 207, 0.46), rgba(46, 86, 128, 0.4)),
    rgba(42, 83, 125, 0.48);
  box-shadow:
    var(--shadow-panel),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  backdrop-filter: var(--blur-panel);
  -webkit-backdrop-filter: var(--blur-panel);
}

.person-popover.is-expanded {
  top: 124px;
  bottom: 62px;
  width: min(430px, calc(100vw - 28px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

.person-summary-block {
  position: relative;
  z-index: 1;
}

.person-popover.is-expanded .person-summary-block {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(220, 240, 255, 0.18);
}

.person-popover-close,
.person-drawer-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(220, 240, 255, 0.32);
  color: rgba(244, 248, 255, 0.86);
  background: rgba(220, 240, 255, 0.13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition), transform var(--transition);
}

.person-popover-close {
  position: absolute;
  z-index: 6;
  top: 9px;
  right: 9px;
  width: 24px;
  height: 24px;
  border-radius: 8px;
}

.person-popover-close:hover,
.person-drawer-actions button:hover {
  border-color: rgba(220, 240, 255, 0.68);
  background: rgba(183, 222, 255, 0.2);
}

.person-popover header {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: center;
  padding-right: 30px;
}

.person-popover header > span,
.person-drawer-dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--dot);
  box-shadow: 0 0 16px color-mix(in srgb, var(--dot) 72%, transparent);
}

.person-popover h3,
.person-drawer h2 {
  margin: 0;
  color: #ffffff;
  font-weight: 900;
  line-height: 1.15;
}

.person-popover h3 {
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.person-popover small,
.person-popover p {
  color: rgba(213, 235, 255, 0.76);
  font-size: 11px;
}

.person-popover-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin: 12px 0 9px;
}

.person-popover-grid span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 7px;
  border: 1px solid rgba(220, 240, 255, 0.24);
  border-radius: var(--radius-sm);
  background: rgba(220, 240, 255, 0.12);
}

.person-popover-grid b {
  overflow: hidden;
  color: #ffffff;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.person-popover-grid small {
  font-size: 9px;
  text-transform: uppercase;
}

.person-popover p {
  margin: 0 0 10px;
}

.person-popover.is-expanded .person-summary-block p {
  margin-bottom: 0;
}

.person-expand-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 30px;
  border: 1px solid rgba(220, 240, 255, 0.42);
  border-radius: var(--radius-sm);
  color: #ffffff;
  background:
    linear-gradient(180deg, rgba(220, 240, 255, 0.22), rgba(125, 200, 255, 0.1)),
    rgba(76, 142, 219, 0.5);
  box-shadow: var(--shadow-glow), inset 0 1px 0 rgba(255, 255, 255, 0.24);
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
}

.person-popover-loading {
  display: grid;
  gap: 5px;
  padding-right: 30px;
}

.person-popover-loading span {
  width: 28px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), transparent);
  box-shadow: 0 0 14px rgba(125, 200, 255, 0.4);
}

.person-popover-loading b {
  color: #ffffff;
  font-size: 13px;
}

.person-drawer {
  position: absolute;
  z-index: 8;
  top: 62px;
  bottom: 62px;
  left: 14px;
  width: min(460px, calc(100vw - 28px));
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border: 1px solid rgba(190, 225, 255, 0.66);
  border-radius: var(--radius-lg);
  color: var(--text-dark);
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.92), rgba(228, 243, 255, 0.84)),
    rgba(244, 248, 255, 0.9);
  box-shadow:
    0 24px 70px rgba(5, 18, 34, 0.32),
    0 0 28px rgba(183, 222, 255, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
  backdrop-filter: var(--blur-panel);
  -webkit-backdrop-filter: var(--blur-panel);
}

.person-popover.is-expanded .person-drawer {
  position: relative;
  z-index: 1;
  top: auto;
  bottom: auto;
  left: auto;
  width: 100%;
  min-height: 0;
  height: 100%;
  margin-top: 10px;
  border-radius: var(--radius-md);
  box-shadow:
    0 12px 28px rgba(5, 18, 34, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.person-popover.is-expanded .person-drawer-head {
  padding: 10px;
}

.person-popover.is-expanded .person-drawer-body {
  min-height: 0;
  padding: 9px 10px 11px;
}

.person-drawer-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 13px;
  border-bottom: 1px solid rgba(76, 142, 219, 0.16);
}

.person-drawer h2 {
  overflow: hidden;
  color: var(--text-dark);
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.person-drawer-head small {
  color: var(--muted-dark);
  font-size: 11px;
}

.person-drawer-actions {
  display: flex;
  gap: 5px;
}

.person-drawer-actions button {
  width: 28px;
  height: 28px;
  border-color: rgba(76, 142, 219, 0.22);
  border-radius: 9px;
  color: var(--primary-deep);
  background: rgba(255, 255, 255, 0.68);
}

.person-drawer-actions button:disabled {
  opacity: 0.55;
}

.person-drawer-body {
  display: grid;
  align-content: start;
  gap: 10px;
  overflow: auto;
  padding: 10px 12px 14px;
  scrollbar-width: thin;
  scrollbar-color: rgba(76, 142, 219, 0.42) rgba(23, 50, 77, 0.08);
}

.person-drawer section {
  display: grid;
  gap: 6px;
  padding: 10px;
  border: 1px solid rgba(76, 142, 219, 0.14);
  border-radius: var(--radius-md);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(236, 246, 255, 0.44)),
    rgba(255, 255, 255, 0.48);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74), 0 8px 18px rgba(23, 50, 77, 0.06);
}

.person-drawer h3 {
  margin: 0 0 2px;
  color: var(--primary-deep);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.person-field-row,
.person-contact-row {
  display: grid;
  grid-template-columns: 122px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-height: 24px;
  font-size: 11px;
}

.person-field-row span,
.person-contact-row small,
.person-custom-edit small {
  color: var(--muted-dark);
}

.person-field-row b,
.person-contact-row b {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text-dark);
  font-weight: 800;
}

.person-contact-row {
  grid-template-columns: 1fr;
  gap: 2px;
  padding: 7px 8px;
  border: 1px solid rgba(76, 142, 219, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.48);
}

.person-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.person-edit-grid label,
.person-custom-edit {
  display: grid;
  gap: 4px;
  color: var(--muted-dark);
  font-size: 11px;
  font-weight: 800;
}

.person-edit-grid input,
.person-edit-grid select,
.person-custom-edit input {
  width: 100%;
  min-height: 30px;
  border: 1px solid rgba(76, 142, 219, 0.24);
  border-radius: var(--radius-sm);
  outline: none;
  padding: 0 8px;
  color: var(--text-dark);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: inset 0 2px 5px rgba(23, 50, 77, 0.08);
}

.person-check-row {
  display: flex !important;
  align-items: center;
  gap: 7px;
  min-height: 30px;
}

.person-check-row input {
  width: 14px;
  min-height: 14px;
  accent-color: var(--primary);
}

.person-edit-wide {
  grid-column: 1 / -1;
}

.person-custom-edit {
  padding: 7px 8px;
  border: 1px solid rgba(76, 142, 219, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.5);
}

.person-edit-message {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid rgba(76, 142, 219, 0.18);
  border-radius: var(--radius-sm);
  color: var(--primary-deep);
  background: rgba(76, 142, 219, 0.1);
  font-size: 11px;
  font-weight: 800;
}

.login-shell {
  background:
    radial-gradient(circle at 18% 0%, rgba(88, 174, 255, 0.42), transparent 32rem),
    linear-gradient(90deg, rgba(8, 20, 38, 0.2), rgba(8, 20, 38, 0.68) 58%, rgba(8, 20, 38, 0.9)),
    url("/login-topographic-bg.jpeg") center center / cover no-repeat,
    #081426;
}

.login-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 0%, rgba(152, 197, 255, 0.28), transparent 28rem),
    radial-gradient(circle at 54% 46%, rgba(46, 122, 246, 0.08), transparent 32rem),
    linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 10, 24, 0.24));
  mask-image: none;
}

.login-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px);
  background-size: 80px 80px;
  opacity: 0.35;
}

.login-gate {
  position: absolute;
  z-index: 5;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(340px, 1fr) minmax(400px, 508px);
  align-items: center;
  gap: clamp(42px, 7vw, 112px);
  width: 100%;
  min-height: 100%;
  padding: clamp(42px, 7vw, 118px) clamp(44px, 8vw, 132px) 88px;
  color: #f7faff;
}

.login-hero-panel {
  display: grid;
  gap: 28px;
  max-width: 680px;
}

.login-brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: #ffffff;
}

.login-brand-lockup svg,
.login-card-icon svg {
  color: #2e7af6;
  filter: drop-shadow(0 0 18px rgba(88, 174, 255, 0.44));
  stroke-width: 2.2;
}

.login-brand-lockup strong {
  font-size: clamp(40px, 3.4vw, 52px);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
  text-shadow: 0 8px 34px rgba(0, 0, 0, 0.32);
}

.login-hero-copy {
  display: grid;
  gap: 18px;
}

.login-hero-copy h1 {
  margin: 0;
  max-width: 670px;
  color: #ffffff;
  font-size: clamp(32px, 3.1vw, 40px);
  font-weight: 800;
  letter-spacing: -0.012em;
  line-height: 1.2;
  text-shadow: 0 10px 34px rgba(0, 0, 0, 0.34);
}

.login-hero-copy h1 span {
  color: #58aeff;
  text-shadow: 0 0 28px rgba(46, 122, 246, 0.42);
}

.login-hero-copy p {
  margin: 0;
  max-width: 570px;
  color: rgba(247, 250, 255, 0.82);
  font-size: 15px;
  line-height: 1.6;
}

.login-feature-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(92px, 1fr));
  max-width: 620px;
}

.login-feature-row span {
  display: grid;
  justify-items: center;
  gap: 8px;
  min-height: 88px;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(247, 250, 255, 0.92);
  font-size: 15px;
  line-height: 1.35;
  text-align: center;
}

.login-feature-row span:last-child {
  border-right: 0;
}

.login-feature-row svg {
  color: #58aeff;
  filter: drop-shadow(0 0 14px rgba(88, 174, 255, 0.35));
  stroke-width: 1.7;
}

.login-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  width: fit-content;
  min-height: 56px;
  padding: 12px 22px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  color: rgba(247, 250, 255, 0.86);
  background: rgba(255, 255, 255, 0.07);
  box-shadow:
    0 18px 54px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-size: 14px;
  line-height: 1.35;
}

.login-trust-pill svg {
  color: #9fb4d6;
  stroke-width: 1.8;
}

.login-card {
  position: relative;
  display: grid;
  gap: 18px;
  width: min(457px, 100%);
  min-height: 549px;
  justify-self: end;
  padding: 36px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 24px;
  color: #ffffff;
  background:
    radial-gradient(circle at 18% 0%, rgba(88, 174, 255, 0.16), transparent 20rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.025)),
    rgba(1, 12, 30, 0.52);
  box-shadow:
    0 24px 64px rgba(0, 0, 0, 0.44),
    0 0 0 1px rgba(255, 255, 255, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

.login-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(90deg, transparent 8%, rgba(154, 207, 255, 0.52), transparent 58%) top / 100% 1px no-repeat,
    linear-gradient(180deg, rgba(154, 207, 255, 0.36), transparent 38%) left / 1px 100% no-repeat,
    linear-gradient(180deg, rgba(154, 207, 255, 0.42), transparent 44%) right / 1px 100% no-repeat,
    linear-gradient(0deg, rgba(154, 207, 255, 0.22), transparent 42%) bottom / 100% 1px no-repeat;
}

.login-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  justify-self: center;
  border: 1px solid rgba(88, 174, 255, 0.44);
  border-radius: 50%;
  background: rgba(13, 31, 58, 0.62);
  box-shadow:
    0 0 32px rgba(88, 174, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.login-card-title {
  display: grid;
  gap: 8px;
  text-align: center;
}

.login-card-title h2 {
  margin: 0;
  color: #ffffff;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.login-card-title p {
  margin: 0;
  color: rgba(247, 250, 255, 0.76);
  font-size: 15px;
  line-height: 1.4;
}

.login-field {
  display: grid;
  gap: 9px;
  color: #f7faff;
  font-size: 13px;
  font-weight: 700;
}

.login-input-shell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 43px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  padding: 0 16px;
  color: #0d1f3a;
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.74),
    inset 0 1px 2px rgba(0, 0, 0, 0.08);
  transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

.login-input-shell:focus-within {
  border-color: #58aeff;
  box-shadow:
    0 0 0 3px rgba(88, 174, 255, 0.18),
    0 0 28px rgba(88, 174, 255, 0.24),
    inset 0 1px 2px rgba(0, 0, 0, 0.08);
}

.login-input-shell input {
  width: 100%;
  min-height: 41px;
  border: 0;
  outline: 0;
  padding: 0;
  color: #0d1f3a;
  background: transparent;
  box-shadow: none;
  font-size: 15px;
}

.login-input-shell input::placeholder {
  color: rgba(13, 31, 58, 0.42);
}

.login-password-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 7px;
  color: #0d1f3a;
  background: transparent;
  cursor: pointer;
}

.login-password-toggle:hover {
  background: rgba(46, 122, 246, 0.08);
}

.login-options-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: rgba(247, 250, 255, 0.78);
  font-size: 13px;
}

.login-options-row label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.login-options-row input {
  width: 18px;
  height: 18px;
  min-height: auto;
  margin: 0;
  border: 1px solid rgba(159, 180, 214, 0.74);
  border-radius: 4px;
  accent-color: #2e7af6;
}

.login-options-row button,
.login-footer button {
  border: 0;
  padding: 0;
  color: #58aeff;
  background: transparent;
  cursor: pointer;
  font-size: inherit;
}

.login-options-row button:hover,
.login-footer button:hover {
  color: #9ad0ff;
}

.login-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 43px;
  border: 1px solid rgba(88, 174, 255, 0.55);
  border-radius: 8px;
  color: #ffffff;
  background:
    linear-gradient(135deg, #58aeff, #2e7af6);
  box-shadow:
    0 8px 24px rgba(88, 174, 255, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
  cursor: pointer;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.01em;
  transition: transform var(--transition), box-shadow var(--transition), filter var(--transition);
}

.login-submit:hover:not(:disabled) {
  filter: brightness(1.04);
  box-shadow:
    0 12px 32px rgba(88, 174, 255, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.login-submit:active:not(:disabled) {
  transform: translateY(1px);
}

.login-gate-message {
  min-height: 18px;
  color: rgba(247, 250, 255, 0.66);
  font-size: 12px;
  text-align: center;
}

.login-footer {
  position: absolute;
  left: 50%;
  bottom: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  width: min(680px, calc(100vw - 40px));
  transform: translateX(-50%);
  color: rgba(247, 250, 255, 0.62);
  font-size: 13px;
}

.login-footer i {
  width: 1px;
  height: 15px;
  background: rgba(255, 255, 255, 0.18);
}

@media (max-width: 1080px) {
  .login-gate {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 30px;
    overflow: auto;
    padding: 36px 28px 92px;
  }

  .login-hero-panel {
    max-width: 760px;
    justify-self: center;
    text-align: center;
  }

  .login-brand-lockup,
  .login-trust-pill {
    justify-self: center;
  }

  .login-feature-row {
    justify-self: center;
    width: min(620px, 100%);
  }

  .login-card {
    justify-self: center;
    min-height: auto;
  }
}

button:disabled,
input:disabled {
  cursor: not-allowed;
  opacity: 0.7;
}

.chip-line,
.campaign-grid {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 10px 0;
}

.chip-line span,
.campaign-grid span,
.field-list span,
.field-list em,
.admin-user-list i,
.admin-user-list em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 21px;
  padding: 3px 8px;
  border: 1px solid rgba(220, 240, 255, 0.32);
  border-radius: 999px;
  background: rgba(220, 240, 255, 0.12);
  color: rgba(228, 242, 255, 0.9);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.result-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}

.result-list article,
.event-pass,
.field-list article,
.admin-user-list article {
  border: 1px solid rgba(220, 240, 255, 0.24);
  border-radius: var(--radius-sm);
  background: rgba(220, 240, 255, 0.13);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 12px 28px rgba(6, 19, 34, 0.12);
}

.result-list article {
  display: grid;
  gap: 3px;
  padding: 9px;
}

.result-list b,
.event-pass b,
.field-list b,
.admin-user-list b {
  color: #ffffff;
  font-weight: 800;
}

.result-list small,
.event-pass small,
.modal-panel p,
.field-list small,
.admin-user-list small {
  color: rgba(202, 229, 255, 0.72);
  font-size: 11px;
}

.modal-panel p {
  margin: 10px 0 0;
}

.primary-small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 30px;
  width: auto;
  border-radius: var(--radius-sm);
  padding: 0 11px;
  background:
    linear-gradient(180deg, rgba(220, 240, 255, 0.22), rgba(125, 200, 255, 0.1)),
    linear-gradient(135deg, #5d9ee9, var(--primary-deep));
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
}

.event-pass {
  display: grid;
  gap: 4px;
  padding: 12px;
}

.event-pass span {
  color: rgba(202, 229, 255, 0.78);
  font-size: 12px;
  font-weight: 700;
}

.checkin-inline {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin-top: 10px;
}

.mini-table {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px;
  margin-top: 10px;
  color: rgba(228, 242, 255, 0.86);
  font-size: 12px;
}

.bar-list {
  display: grid;
  gap: 9px;
}

.bar-list label {
  display: grid;
  grid-template-columns: 96px 1fr 36px;
  align-items: center;
  gap: 8px;
  color: rgba(228, 242, 255, 0.86);
  font-size: 12px;
}

meter {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: rgba(220, 240, 255, 0.14);
}

meter::-webkit-meter-bar {
  border: 0;
  border-radius: 999px;
  background: rgba(220, 240, 255, 0.14);
}

meter::-webkit-meter-optimum-value {
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary-deep), var(--accent));
  box-shadow: 0 0 14px rgba(125, 200, 255, 0.24);
}

.operation-modal-wrap {
  width: min(1180px, calc(100vw - 36px));
  max-height: min(820px, calc(100vh - 56px));
  padding: 12px;
}

.operation-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(240px, 282px) minmax(0, 1fr);
  gap: 12px;
  height: min(760px, calc(100vh - 104px));
  min-height: 500px;
}

.operation-sidebar,
.operation-detail,
.bi-card,
.event-public-box,
.qr-preview {
  border: 1px solid rgba(220, 240, 255, 0.24);
  border-radius: var(--radius-md);
  /* Overlay navy (antes era rgba(220,240,255,0.09) claro). O fundo claro lavava
     os labels azuis (PAINEL DO EVENTO / INSCRICAO / PRESENCA). Escurecido moderado
     -> labels --label-blue passam AA com folga; todo texto claro tambem ganha contraste. */
  background: rgba(9, 23, 40, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 14px 32px rgba(6, 19, 34, 0.1);
}

.operation-sidebar {
  position: relative;
  min-height: 0;
  overflow: hidden;
}

.operation-sidebar-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  min-height: 0;
  padding: 10px;
  transition: opacity 0.22s ease;
}

/* Só a lista cresce; header, criação e a searchbar ficam na altura do conteúdo. */
.operation-sidebar-body > .operation-list {
  flex: 1;
}

.operation-sidebar-body > *:not(.operation-list) {
  flex: none;
}

/* Modo edicao/criacao: o formulario (create-box) pode ser mais alto que a sidebar.
   Sem isso o conteudo empilhava e o fim do form ficava cortado (sidebar e overflow:hidden,
   body sem scroll). Habilita scroll vertical so quando o form esta aberto. */
.operation-sidebar-body:has(.operation-create-box) {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(125, 200, 255, 0.42) rgba(7, 24, 39, 0.16);
}

.operation-sidebar.is-collapsed .operation-sidebar-body {
  opacity: 0;
  pointer-events: none;
}

.operation-sidebar-body > header,
.operation-detail-header,
.bi-header,
.bi-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.operation-sidebar-body > header {
  justify-content: flex-start;
}

.operation-sidebar-body > header > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(220, 240, 255, 0.34);
  border-radius: 10px;
  color: var(--accent);
  background: rgba(220, 240, 255, 0.12);
  box-shadow: 0 0 14px rgba(125, 200, 255, 0.16);
}

/* Sidebar de Ações recolhível + título vertical animado */
.operation-panel.campaign-workspace,
.operation-panel.event-workspace {
  transition: grid-template-columns 0.34s cubic-bezier(0.2, 0.7, 0.3, 1);
}

.operation-panel.campaign-workspace:has(.operation-sidebar.is-collapsed),
.operation-panel.event-workspace:has(.operation-sidebar.is-collapsed) {
  grid-template-columns: 62px minmax(0, 1fr);
}

/* Toggle de recolher (<) + cluster [Editar][+] padronizados: mesmo 28px / radius 10
   / mesmo visual, formando a linha [Editar][+][<] no topo-direito da sidebar.
   Antes o toggle era 36px (destoava do Editar de 22px do cluster da direita). */
.operation-sidebar-toggle,
.operation-side-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: none;
  border: 1px solid rgba(220, 240, 255, 0.42);
  border-radius: 10px;
  color: #eaf4ff;
  background:
    linear-gradient(145deg, rgba(116, 156, 198, 0.46), rgba(35, 77, 120, 0.4)),
    rgba(58, 100, 145, 0.44);
  box-shadow: 0 8px 20px rgba(5, 18, 34, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition), transform var(--transition), left var(--transition), right var(--transition);
}

.operation-sidebar-toggle {
  position: absolute;
  z-index: 5;
  top: 10px;
}

/* Cluster [Editar][+] imediatamente a esquerda do toggle (toggle 28 + 6 + 8 = 42). */
.operation-sidebar-actions {
  position: absolute;
  z-index: 5;
  top: 10px;
  right: 42px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.operation-sidebar.is-collapsed .operation-sidebar-actions {
  display: none;
}

.operation-sidebar-toggle:hover,
.operation-side-btn:hover:not(:disabled) {
  border-color: rgba(125, 200, 255, 0.7);
}

.operation-side-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.operation-sidebar:not(.is-collapsed) .operation-sidebar-toggle {
  right: 8px;
}

.operation-sidebar.is-collapsed .operation-sidebar-toggle {
  left: 50%;
  transform: translateX(-50%);
}

.operation-sidebar-rail-title {
  position: absolute;
  z-index: 4;
  top: 56px;
  left: 0;
  right: 0;
  bottom: 12px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.operation-sidebar.is-collapsed .operation-sidebar-rail-title {
  opacity: 1;
}

.operation-sidebar-rail-title span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max-content;
  max-width: 58vh;
  padding: 9px 14px;
  border: 1px solid rgba(125, 200, 255, 0.34);
  border-radius: 14px;
  color: #ffffff;
  background: linear-gradient(150deg, rgba(72, 130, 196, 0.36), rgba(28, 60, 96, 0.44));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 10px 24px rgba(6, 19, 34, 0.22);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.3, 1);
}

.operation-sidebar.is-collapsed .operation-sidebar-rail-title span {
  transform: translate(-50%, -50%) rotate(-90deg);
}

/* Cluster de 3 botões (XLSX/maximizar/fechar) nos painéis de operação:
   mais juntos, 10px abaixo e à esquerda, 10% menores, ícones centralizados. */
.operation-modal-wrap .close-small {
  top: 24px;
  right: 24px;
  width: 22px;
  height: 22px;
}

.operation-modal-wrap .modal-maximize {
  top: 24px;
  right: 50px;
  width: 22px;
  height: 22px;
}

.operation-xlsx-button {
  position: absolute;
  z-index: 4;
  top: 12px;
  right: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(220, 240, 255, 0.34);
  border-radius: 8px;
  color: rgba(244, 248, 255, 0.82);
  background: rgba(220, 240, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
  cursor: pointer;
  transition: border-color var(--transition), color var(--transition), background var(--transition);
}

.operation-xlsx-button:hover:not(:disabled) {
  border-color: rgba(125, 200, 255, 0.7);
  color: #ffffff;
  background: rgba(72, 150, 230, 0.3);
}

.operation-xlsx-button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.operation-panel-actions {
  position: absolute;
  z-index: 4;
  top: 12px;
  right: 64px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.operation-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(220, 240, 255, 0.34);
  border-radius: 8px;
  color: rgba(244, 248, 255, 0.82);
  background: rgba(220, 240, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
  cursor: pointer;
  transition: border-color var(--transition), color var(--transition), background var(--transition);
}

.operation-action-btn:hover:not(:disabled) {
  border-color: rgba(125, 200, 255, 0.7);
  color: #ffffff;
  background: rgba(72, 150, 230, 0.3);
}

.operation-action-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.event-edit-modal,
.event-bi-modal {
  width: min(440px, 92vw);
}

.event-edit-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 4px 2px 2px;
}

.event-edit-form label {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.event-edit-form label > span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(30, 55, 85, 0.72);
}

.event-edit-form input,
.event-edit-form textarea {
  width: 100%;
  padding: 9px 11px;
  border-radius: 10px;
  border: 1px solid rgba(120, 160, 200, 0.42);
  background: rgba(255, 255, 255, 0.7);
  color: var(--text-dark);
  font: inherit;
}

.event-edit-form input:focus,
.event-edit-form textarea:focus {
  outline: none;
  border-color: rgba(72, 150, 230, 0.8);
}

.event-edit-form textarea {
  min-height: 72px;
  resize: vertical;
}

.event-edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
}

.event-edit-actions > button:not(.primary-small) {
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid rgba(120, 160, 200, 0.42);
  background: transparent;
  color: var(--text-dark);
  cursor: pointer;
}

.event-bi-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 4px 2px 2px;
}

.event-bi-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px;
  border-radius: 12px;
  background: rgba(120, 170, 230, 0.12);
  border: 1px solid rgba(120, 170, 230, 0.28);
}

.event-bi-card strong {
  font-size: 26px;
  font-weight: 800;
  color: var(--text-dark);
}

.event-bi-card span {
  font-size: 12px;
  color: rgba(30, 55, 85, 0.72);
}

.operation-create-open {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 11px 12px;
  border-radius: 12px;
  border: 1px dashed rgba(220, 240, 255, 0.42);
  background: rgba(220, 240, 255, 0.08);
  color: rgba(244, 248, 255, 0.92);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition);
}

.operation-create-open:hover {
  border-color: rgba(125, 200, 255, 0.7);
  background: rgba(72, 150, 230, 0.22);
}

.operation-create-head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  margin-bottom: 2px;
}

.operation-create-head strong {
  font-size: 15px;
  font-weight: 800;
  color: #ffffff;
}

.operation-create-close {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  border: 1px solid rgba(220, 240, 255, 0.3);
  background: rgba(220, 240, 255, 0.1);
  color: rgba(244, 248, 255, 0.82);
  cursor: pointer;
  transition: border-color var(--transition), color var(--transition), background var(--transition);
}

.operation-create-close:hover {
  border-color: rgba(255, 150, 150, 0.7);
  color: #ffffff;
  background: rgba(230, 90, 90, 0.32);
}

/* .event-edit-access agora e um card .ocb-field; aqui so o espacamento interno. */
.event-edit-access {
  gap: 8px;
}

/* Busca de convidados integrada: input amplo + botao Buscar lado a lado (mockup). */
.invite-search-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.invite-search-row textarea {
  flex: 1;
  min-width: 0;
  min-height: 38px;
  max-height: 80px;
}

/* Botao Buscar azul, compacto e prominente (igual ao alvo). */
.invite-search-row > button {
  flex: none;
  align-self: stretch;
  gap: 6px;
  padding: 0 13px;
  border: 1px solid rgba(125, 200, 255, 0.5);
  border-radius: 10px;
  color: #ffffff;
  background:
    linear-gradient(180deg, rgba(110, 170, 240, 0.55), rgba(40, 96, 162, 0.66)),
    var(--primary);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26);
  font-size: 12px;
  font-weight: 800;
}

/* Faixa de status "Convidados selecao X": full-width compacta e discreta. */
.invite-count-chip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  padding: 9px 12px;
  border-radius: 10px;
  border: 1px solid rgba(125, 200, 255, 0.4);
  background: rgba(72, 150, 230, 0.16);
  color: rgba(244, 248, 255, 0.95);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition);
}

.invite-count-chip:hover {
  border-color: rgba(125, 200, 255, 0.9);
  background: rgba(72, 150, 230, 0.32);
}

.invite-list-modal {
  width: min(460px, 92vw);
}

.invite-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 60vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.invite-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  border-radius: 9px;
  background: rgba(120, 170, 230, 0.08);
}

.invite-list li b {
  color: var(--text-dark);
  font-size: 13px;
}

.invite-list li span {
  color: rgba(30, 55, 85, 0.6);
  font-size: 12px;
}

.invite-list-empty {
  justify-content: center !important;
  color: rgba(30, 55, 85, 0.6);
}

.operation-list-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  margin-bottom: 2px;
  border-radius: 10px;
  border: 1px solid rgba(220, 240, 255, 0.2);
  background: rgba(12, 28, 48, 0.4);
}

.operation-list-search > svg {
  flex: none;
  color: rgba(125, 200, 255, 0.8);
}

.operation-list-search input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  color: #f3f8ff;
  font: inherit;
  /* -20% do tamanho herdado (vale p/ o texto digitado e o placeholder). */
  font-size: 0.8em;
  outline: none;
}

.operation-list-search input::placeholder {
  color: rgba(220, 240, 255, 0.45);
}

.user-edit-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  margin-bottom: 12px;
  border-radius: 12px;
  border: 1px solid rgba(120, 170, 230, 0.28);
  background: rgba(120, 170, 230, 0.08);
}

.user-edit-section h4 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 13px;
  color: var(--text-dark);
}

.user-edit-section label {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.user-edit-section label > span {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: rgba(30, 55, 85, 0.7);
}

.user-edit-section input {
  width: 100%;
  padding: 8px 11px;
  border-radius: 9px;
  border: 1px solid rgba(120, 160, 200, 0.42);
  background: rgba(255, 255, 255, 0.75);
  color: var(--text-dark);
  font: inherit;
}

.user-edit-section input:focus {
  outline: none;
  border-color: rgba(72, 150, 230, 0.8);
}

.user-edit-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.user-edit-pwd {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px dashed rgba(120, 160, 200, 0.4);
}

.user-edit-pwd label {
  flex: 1;
}

.field-table-wrap {
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid rgba(220, 240, 255, 0.18);
}

.field-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}

.field-table th {
  text-align: left;
  padding: 9px 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: rgba(220, 240, 255, 0.6);
  background: rgba(12, 28, 48, 0.5);
  border-bottom: 1px solid rgba(220, 240, 255, 0.16);
  white-space: nowrap;
}

.field-table td {
  padding: 8px 12px;
  color: rgba(244, 248, 255, 0.9);
  border-bottom: 1px solid rgba(220, 240, 255, 0.08);
}

.field-table tbody tr:hover {
  background: rgba(120, 170, 230, 0.1);
}

.field-table code {
  font-family: ui-monospace, "SF Mono", monospace;
  font-size: 11.5px;
  color: var(--label-blue);
}

.field-table b {
  color: #ffffff;
}

.score-rule-group {
  margin-bottom: 10px;
}

.score-rule-group h4 {
  margin: 0 0 5px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--label-blue);
}

/* Linhas compactas (antes ocupavam altura demais). */
.score-rule-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 10px;
  margin-bottom: 3px;
  border-radius: 8px;
  background: rgba(220, 240, 255, 0.06);
  border: 1px solid rgba(220, 240, 255, 0.12);
}

.score-rule-row span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(244, 248, 255, 0.9);
  font-size: 12px;
}

.score-rule-row input {
  width: 70px;
  min-height: 27px;
  padding: 3px 8px;
  border-radius: 7px;
  border: 1px solid rgba(220, 240, 255, 0.25);
  background: rgba(12, 28, 48, 0.5);
  color: #f3f8ff;
  font: inherit;
  font-size: 12px;
  text-align: right;
}

/* Peso inteligente: cor por sinal (positivo soma, negativo penaliza). */
.score-rule-row input.weight-pos { border-color: rgba(52, 210, 123, 0.55); color: #6ee7a8; }
.score-rule-row input.weight-neg { border-color: rgba(239, 110, 110, 0.55); color: #ff9b9b; }

.score-rule-row input:disabled {
  opacity: 0.6;
}

.score-rule-hint {
  font-size: 12px;
  opacity: 0.7;
}

/* Botão "i": ancorado à esquerda do botão de maximizar do modal (que fica em right:46). */
.score-info-btn {
  position: absolute;
  top: 0;
  right: 60px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid rgba(125, 200, 255, 0.4);
  background: rgba(72, 150, 230, 0.16);
  color: rgba(220, 240, 255, 0.92);
  cursor: pointer;
  transition: background var(--transition);
}

.score-info-btn:hover { background: rgba(72, 150, 230, 0.3); }

.score-info {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(125, 200, 255, 0.18);
  /* Mesmo azul escuro do fundo da searchbar do painel de Ações. */
  background: rgba(12, 28, 48, 0.4);
  color: rgba(226, 240, 255, 0.9);
  font-size: 12px;
  line-height: 1.5;
}

.score-info h5 {
  margin: 10px 0 3px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--label-blue);
}

.score-info h5:first-child { margin-top: 0; }
.score-info p { margin: 0; }
.score-info ul { margin: 2px 0 0; padding-left: 16px; display: grid; gap: 2px; }
.score-info b { color: #ffffff; }

/* Parâmetros do piso de facilitador: não são pesos por interação. */
.score-cat-note { margin: -2px 0 5px; font-size: 11px; opacity: 0.75; }

.score-floor-tag {
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 1px 5px;
  border-radius: 999px;
  background: rgba(125, 200, 255, 0.22);
  color: rgba(226, 240, 255, 0.95);
  font-style: normal;
}

/* Fase 5 — sugestão bidirecional cor↔score no form de edição. Dica discreta, não-bloqueante. */
.color-score-hint {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(76, 142, 219, 0.22);
  background: rgba(76, 142, 219, 0.08);
  color: var(--text-dark);
  font-size: 11.5px;
  font-weight: 600;
}

.color-score-hint > svg { flex: none; margin-top: 2px; color: var(--label-blue); }
.color-score-hint-body { display: grid; gap: 4px; }
.color-score-hint-body p { margin: 0; }
.color-score-hint-note { opacity: 0.6; font-weight: 700; font-size: 10.5px; }

.suggestion-action {
  border: none;
  background: rgba(76, 142, 219, 0.18);
  color: var(--label-blue);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  padding: 1px 8px;
  border-radius: 999px;
}

.suggestion-action:hover { background: rgba(76, 142, 219, 0.32); }

/* Termo de Acesso (LGPD) — gate pós-login (tela cheia) + editor nas Configurações. */
.terms-gate { width: 100%; min-height: 100vh; display: grid; place-items: center; padding: 20px; }
.terms-gate-card {
  width: min(760px, 100%);
  max-height: min(88vh, 920px);
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid rgba(76, 142, 219, 0.2);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(12, 28, 48, 0.25);
  overflow: hidden;
}
.terms-gate-head { display: flex; gap: 12px; align-items: flex-start; padding: 20px 22px; border-bottom: 1px solid rgba(76, 142, 219, 0.14); }
.terms-gate-head > svg { color: var(--primary-deep); flex: none; margin-top: 2px; }
.terms-gate-head h2 { margin: 0; font-size: 17px; font-weight: 800; color: var(--text-dark); }
.terms-gate-head p { margin: 3px 0 0; font-size: 12.5px; color: var(--text-dark); opacity: 0.72; }
.terms-gate-body { flex: 1; overflow-y: auto; padding: 18px 22px; background: rgba(244, 248, 253, 0.6); }
/* Render leve do termo: títulos (#/##/###) viram headings, sem markdown cru na tela. */
.terms-gate-text { color: var(--text-dark); font-size: 12.8px; line-height: 1.55; word-break: break-word; }
.terms-gate-text h3 { margin: 0 0 8px; font-size: 16px; font-weight: 800; color: var(--text-dark); }
.terms-gate-text h4 { margin: 15px 0 4px; font-size: 13.5px; font-weight: 800; color: var(--primary-deep); }
.terms-gate-text h5 { margin: 10px 0 3px; font-size: 12.5px; font-weight: 800; color: var(--text-dark); }
.terms-gate-text p { margin: 0 0 5px; }
.terms-gate-gap { height: 7px; }
.terms-gate-actions { padding: 14px 22px; border-top: 1px solid rgba(76, 142, 219, 0.14); display: grid; gap: 8px; background: #ffffff; }
.terms-gate-hint { font-size: 11px; color: var(--text-dark); opacity: 0.7; }
.terms-gate-message { font-size: 11.5px; color: #dc2626; font-weight: 700; }
.terms-gate-buttons { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.terms-decline, .terms-accept { border-radius: 999px; padding: 9px 16px; font-weight: 800; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; }
.terms-decline { background: transparent; border: 1px solid rgba(94, 120, 145, 0.5); color: var(--text-dark); }
.terms-decline:hover { background: rgba(94, 120, 145, 0.12); }
.terms-accept { background: var(--primary-deep); border: none; color: #ffffff; }
.terms-accept:disabled { background: #e3ebf4; color: #6b829b; cursor: not-allowed; }
.terms-accept:not(:disabled):hover { background: #1d4d7e; }

.access-terms-fields { display: grid; gap: 10px; }
.access-terms-fields label { display: grid; gap: 4px; font-size: 11px; font-weight: 800; color: var(--muted-dark); }
.access-terms-fields input,
.access-terms-textarea { border: 1px solid rgba(76, 142, 219, 0.24); border-radius: var(--radius-sm); padding: 8px; font: inherit; color: var(--text-dark); width: 100%; }
.access-terms-textarea { resize: vertical; min-height: 280px; line-height: 1.5; }

.terms-intro {
  font-size: 12.5px;
  opacity: 0.75;
  margin: 0 0 12px;
}

.terms-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 16px;
  align-items: start;
}

@media (max-width: 760px) {
  .terms-grid {
    grid-template-columns: 1fr;
  }
}

.terms-fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.terms-fields label {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.terms-fields label > span {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: rgba(220, 240, 255, 0.6);
}

.terms-fields input,
.terms-fields textarea {
  width: 100%;
  padding: 8px 11px;
  border-radius: 9px;
  border: 1px solid rgba(220, 240, 255, 0.25);
  background: rgba(12, 28, 48, 0.45);
  color: #f3f8ff;
  font: inherit;
}

.terms-fields textarea {
  min-height: 60px;
  resize: vertical;
}

.terms-preview {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.terms-preview-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--label-blue);
}

.terms-preview pre {
  margin: 0;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid rgba(220, 240, 255, 0.16);
  background: rgba(8, 20, 36, 0.5);
  color: rgba(232, 242, 255, 0.92);
  font-family: inherit;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 60vh;
  overflow-y: auto;
}

.public-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  background: linear-gradient(160deg, #eaf3ff, #cfe0f5);
}

.public-card {
  width: 100%;
  max-width: 460px;
  background: #ffffff;
  border-radius: 20px;
  padding: 28px 24px;
  box-shadow: 0 36px 90px rgba(10, 30, 60, 0.34), 0 12px 30px rgba(10, 30, 60, 0.18);
  display: flex;
  flex-direction: column;
  gap: 12px;
  /* Base escura: o card é claro, mas o texto herdava o claro do tema → ilegível. */
  color: var(--text-dark);
}

/* Marca da plataforma como rodapé/assinatura do card público (ícone Layers + Daduz). */
.public-brand {
  display: inline-flex;
  align-self: center;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #8499ad;
}

.public-brand > svg {
  color: #9bb8da;
}

.public-kicker {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #4c8edb;
}

.public-card h1 {
  margin: 0;
  font-size: 22px;
  color: var(--text-dark);
}

.public-meta {
  margin: 0;
  color: #5a7795;
  font-size: 13px;
  font-weight: 600;
}

.public-desc {
  margin: 0 0 6px;
  color: #4a6688;
  font-size: 13px;
  line-height: 1.5;
}

.public-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.public-field > span {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #5a7795;
}

.public-field input {
  width: 100%;
  padding: 11px 13px;
  border-radius: 11px;
  border: 1px solid rgba(120, 160, 200, 0.45);
  background: #f7fbff;
  color: var(--text-dark);
  font: inherit;
}

.public-field input:focus {
  outline: none;
  border-color: #4c8edb;
  background: #ffffff;
}

.public-terms {
  border: 1px solid rgba(120, 160, 200, 0.3);
  border-radius: 11px;
  padding: 10px 13px;
  background: #f4f9ff;
}

.public-terms summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  color: #2c4a6b;
}

.public-terms pre {
  margin: 10px 0 0;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.55;
  color: #3a5878;
  max-height: 280px;
  overflow-y: auto;
}

.public-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 13px;
  color: #2c4a6b;
  line-height: 1.4;
}

.public-consent input {
  margin-top: 2px;
  width: 17px;
  height: 17px;
  flex: none;
  accent-color: #4c8edb;
}

.public-submit {
  margin-top: 4px;
  padding: 13px 16px;
  border-radius: 12px;
  border: none;
  background: linear-gradient(135deg, #4c8edb, #2f6fc0);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: filter var(--transition), opacity var(--transition);
}

.public-submit:hover:not(:disabled) {
  filter: brightness(1.07);
}

.public-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.public-error {
  margin: 0;
  color: #c0392b;
  font-size: 13px;
  font-weight: 600;
}

.public-note {
  margin: 0;
  font-size: 11.5px;
  color: #7a90a8;
  text-align: center;
}

.public-done {
  align-items: center;
  text-align: center;
  gap: 14px;
  padding: 36px 24px 32px;
}

/* Ícone de sucesso como medalhão circular verde. */
.public-done > svg {
  color: #ffffff;
  background: linear-gradient(160deg, #34d27b, #16a34a);
  border-radius: 50%;
  padding: 16px;
  box-sizing: content-box;
  box-shadow: 0 12px 28px rgba(22, 163, 74, 0.34);
}

.public-done h1 {
  font-size: 24px;
}

.public-done p {
  margin: 0;
  max-width: 340px;
  color: #4a6688;
  font-size: 14.5px;
  line-height: 1.55;
}

.public-done p b {
  color: var(--text-dark);
  font-weight: 800;
}

.public-config {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 6px 0;
  padding: 10px;
  border-radius: 10px;
  background: rgba(220, 240, 255, 0.06);
  border: 1px solid rgba(220, 240, 255, 0.14);
}

.public-config-toggle,
.public-fields-pick label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  color: rgba(244, 248, 255, 0.9);
  cursor: pointer;
}

.public-config-toggle input,
.public-fields-pick input {
  accent-color: #4c8edb;
  width: 15px;
  height: 15px;
}

.public-config-label {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: rgba(220, 240, 255, 0.5);
}

.public-fields-pick {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 10px;
}

.operation-sidebar h2,
.operation-detail h2,
.bi-header h2 {
  margin: 0;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.15;
}

.operation-sidebar small,
.operation-detail small,
.bi-header small,
.event-public-box small,
.qr-preview small {
  color: rgba(202, 229, 255, 0.74);
  font-size: 11px;
  line-height: 1.35;
}

/* Form de criar/editar (evento e acao): container transparente; cada campo e um
   card. O botao Salvar vai pro rodape (full-width), reforcando que salva tudo. */
/* Form de criar/editar (in-place na sidebar): estilo da imagem-alvo, porem COMPACTO
   e encaixado na coluna estreita (~282px) — cards sutis e finos, inputs limpos, sem
   volume/caixa grande. Densidade calibrada (Tome): input 38px, gaps ~9px, label 10px. */
.operation-create-box {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 2px 1px 4px;
}

.event-public-box {
  display: grid;
  gap: 5px;
}

/* Card de campo: sutil, fino, compacto (altura reduzida — spec). */
.ocb-field {
  display: grid;
  gap: 3px;
  padding: 5px 10px;
  border: 1px solid rgba(125, 200, 255, 0.14);
  border-radius: 11px;
  background: rgba(13, 33, 58, 0.45);
}

/* Card escuro UNICO agrupando os campos editaveis (Titulo/Data/Local/Descricao):
   um so fundo, uma so borda; os .ocb-field internos viram linhas sem moldura,
   separadas por hairline — elimina os vaos entre cards e encurta a altura. */
.ocb-card {
  display: grid;
  gap: 0;
  border: 1px solid rgba(125, 200, 255, 0.14);
  border-radius: 12px;
  background: rgba(13, 33, 58, 0.45);
  overflow: hidden;
}

.ocb-card .ocb-field {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 6px 11px;
}

.ocb-card .ocb-field + .ocb-field {
  border-top: 1px solid rgba(125, 200, 255, 0.09);
}

/* Label do campo (azul legivel). `> span` (filho direto) evita vazar para o
   <span> do valor de CustomSelect/CustomDatePicker (que ficam aninhados no card). */
.ocb-field > span {
  color: var(--label-blue);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Inputs/triggers limpos e compactos (encaixam na coluna estreita). */
.operation-create-box .ocb-field input,
.operation-create-box .ocb-field .custom-select-trigger,
.operation-create-box .ocb-field .date-picker-trigger {
  min-height: 36px;
  border-radius: 10px;
  font-size: 13px;
}

.operation-create-box textarea {
  min-height: 36px;
  max-height: 84px;
  resize: vertical;
}

/* Input com icone a esquerda (ex.: Local). */
.ocb-input-icon {
  position: relative;
  display: flex;
  align-items: center;
}

.ocb-input-icon > svg {
  position: absolute;
  left: 10px;
  color: var(--primary);
  pointer-events: none;
}

.ocb-input-icon input {
  width: 100%;
  padding-left: 32px;
}

/* Faixa informativa de 1 linha, bem discreta. */
.ocb-note {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid rgba(125, 200, 255, 0.07);
  border-radius: 8px;
  background: rgba(125, 200, 255, 0.035);
  color: rgba(202, 229, 255, 0.68);
  font-size: 10.5px;
  line-height: 1.25;
}

.ocb-note > svg {
  flex: none;
  color: var(--label-blue);
}

/* Salvar: full-width, compacto, fixo no rodape do form (salva tudo). */
.ocb-save {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 40px;
  margin-top: 2px;
  border: 1px solid rgba(125, 200, 255, 0.5);
  border-radius: 11px;
  color: #ffffff;
  background:
    linear-gradient(180deg, rgba(110, 170, 240, 0.5), rgba(40, 96, 162, 0.62)),
    var(--primary);
  box-shadow: 0 8px 20px rgba(5, 18, 34, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: filter var(--transition);
}

.ocb-save:hover:not(:disabled) {
  filter: brightness(1.08);
}

.ocb-save:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* === Refinamentos (spec detalhada): inputs quase-brancos, data dividida com icones,
   icone no select, busca integrada como um unico componente. === */

/* Inputs/triggers quase-brancos (nunca branco puro chapado). */
.operation-create-box .ocb-field input,
.operation-create-box .ocb-desc,
.operation-create-box .ocb-field .custom-select-trigger,
.operation-create-box .ocb-field .date-picker-trigger {
  background: linear-gradient(180deg, #f1f6fb, #e6eff8);
  border-color: rgba(120, 160, 200, 0.42);
  color: #15233a;
}

/* Descricao: textarea moderada (maior que os inputs, sem exagero de altura). */
.operation-create-box .ocb-desc {
  min-height: 52px;
  max-height: 92px;
  resize: vertical;
}

/* Data e horario: campo unico dividido em data | hora, com icones discretos. */
.date-picker-trigger.dp-datetime {
  justify-content: flex-start;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.date-picker-trigger.dp-datetime .dp-seg {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 0 12px;
  font-weight: 700;
  color: #15233a;
}

.date-picker-trigger.dp-datetime .dp-seg-time {
  flex: 0 0 38%;
}

.date-picker-trigger.dp-datetime .dp-seg > svg {
  flex: none;
  color: var(--primary);
}

.date-picker-trigger.dp-datetime .dp-divider {
  width: 1px;
  align-self: stretch;
  margin: 7px 0;
  background: rgba(120, 160, 200, 0.45);
}

/* Icone a esquerda no select (ex.: Acao vinculada) + valor ocupando o espaco. */
.custom-select-icon {
  display: inline-flex;
  align-items: center;
  flex: none;
  color: var(--primary);
}

.custom-select-value {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Dropdown "Acao vinculada": clampar ao card pai e quebrar rotulos longos —
   antes a largura do menu vazava para fora do card quando uma acao com nome
   longo era selecionada. O menu nunca excede a largura do .custom-select. */
.operation-create-box .custom-select {
  min-width: 0;
}

.operation-create-box .custom-select-menu {
  left: 0;
  right: 0;
  width: auto;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.operation-create-box .custom-select-menu li {
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Busca de convidados: input amplo + Buscar como UM componente integrado.
   O botao flutua ancorado no canto inferior direito do proprio campo (spec). */
.operation-create-box .invite-search-row {
  position: relative;
  display: block;
  border: 1px solid rgba(120, 160, 200, 0.42);
  border-radius: 11px;
  background: linear-gradient(180deg, #f1f6fb, #e6eff8);
  overflow: hidden;
}

/* Campo amplo; o padding inferior reserva o rodape para o botao flutuante. */
.operation-create-box .invite-search-row textarea {
  display: block;
  width: 100%;
  min-height: 58px;
  max-height: 96px;
  padding: 9px 11px 38px;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #15233a;
}

/* Buscar: pill pequeno, elegante, ancorado no canto inferior direito. */
.operation-create-box .invite-search-row > button {
  position: absolute;
  right: 7px;
  bottom: 7px;
  align-self: auto;
  height: 28px;
  min-height: 0;
  padding: 0 13px;
  border: 1px solid rgba(150, 205, 255, 0.6);
  border-left: 1px solid rgba(150, 205, 255, 0.6);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 3px 9px rgba(5, 18, 34, 0.32);
}

.compact-select-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  align-items: end;
}

.chip-line.compact {
  margin: 2px 0 0;
}

.chip-line.compact span {
  min-height: 18px;
  padding: 2px 6px;
  font-size: 10px;
}

.operation-list {
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 0;
  overflow: auto;
  padding-right: 2px;
  scrollbar-width: thin;
  scrollbar-color: rgba(125, 200, 255, 0.42) rgba(7, 24, 39, 0.16);
}

.operation-list-item {
  display: grid;
  gap: 3px;
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(220, 240, 255, 0.18);
  border-radius: var(--radius-sm);
  padding: 8px;
  color: rgba(244, 248, 255, 0.9);
  background: rgba(220, 240, 255, 0.08);
  cursor: pointer;
  text-align: left;
  transition: border-color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);
}

.operation-list-item:hover,
.operation-list-item.active {
  border-color: rgba(220, 240, 255, 0.52);
  background: rgba(220, 240, 255, 0.17);
  box-shadow: 0 0 18px rgba(125, 200, 255, 0.13);
}

.operation-list-item:active {
  transform: translateY(1px);
}

.operation-list-item b,
.event-public-box strong {
  overflow: hidden;
  color: #ffffff;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.operation-list p,
.operation-message {
  margin: 0;
  color: rgba(202, 229, 255, 0.72);
  font-size: 11px;
}

.operation-detail {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 10px;
  min-width: 0;
  min-height: 0;
  padding: 12px;
  overflow: hidden;
}

.event-workspace .operation-detail {
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}

.section-kicker {
  display: block;
  margin-bottom: 3px;
  color: var(--label-blue);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.operation-header-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.operation-header-actions button,
.operation-toolbar span,
.yes-no-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  border: 1px solid rgba(220, 240, 255, 0.3);
  border-radius: 999px;
  padding: 0 9px;
  color: rgba(244, 248, 255, 0.9);
  background: rgba(220, 240, 255, 0.11);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
  font-size: 11px;
  font-weight: 900;
}

.operation-header-actions button {
  gap: 5px;
  cursor: pointer;
}

.operation-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
}

.operation-toolbar label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  min-height: 32px;
  border: 1px solid rgba(160, 200, 240, 0.34);
  border-radius: var(--radius-sm);
  padding: 0 9px;
  color: var(--primary-deep);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: inset 0 2px 5px rgba(23, 50, 77, 0.09);
}

.operation-toolbar input {
  min-height: 28px;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.operation-table-wrap {
  min-height: 0;
  overflow: auto;
  border: 1px solid rgba(220, 240, 255, 0.16);
  border-radius: var(--radius-md);
  background: rgba(7, 24, 39, 0.1);
  scrollbar-width: thin;
  scrollbar-color: rgba(125, 200, 255, 0.42) rgba(7, 24, 39, 0.16);
}

.operation-table {
  width: 100%;
  min-width: 940px;
  border-collapse: separate;
  border-spacing: 0;
  color: rgba(244, 248, 255, 0.88);
  font-size: 11px;
}

.operation-table th {
  position: sticky;
  z-index: 1;
  top: 0;
  padding: 7px;
  color: rgba(202, 229, 255, 0.76);
  background:
    linear-gradient(180deg, rgba(45, 86, 128, 0.96), rgba(27, 62, 98, 0.94)),
    rgba(27, 62, 98, 0.94);
  text-align: left;
  white-space: nowrap;
}

.operation-table td {
  max-width: 190px;
  padding: 7px;
  border-top: 1px solid rgba(220, 240, 255, 0.09);
  color: rgba(244, 248, 255, 0.82);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.operation-table tbody tr:hover td {
  background: rgba(220, 240, 255, 0.08);
}

.sort-header {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.sort-header small {
  padding: 1px 4px;
  border-radius: 999px;
  color: rgba(23, 50, 77, 0.82);
  background: rgba(255, 255, 255, 0.7);
  font-size: 8px;
}

.sort-header.active small {
  color: #ffffff;
  background: rgba(76, 142, 219, 0.78);
}

.table-person {
  position: relative;
  display: grid;
  gap: 2px;
  min-width: 170px;
  padding-left: 13px;
}

.table-person::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dot);
  box-shadow: 0 0 12px color-mix(in srgb, var(--dot) 72%, transparent);
}

.table-person b,
.table-person small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-person b {
  color: #ffffff;
  font-size: 11px;
}

.table-person small {
  color: rgba(202, 229, 255, 0.68);
  font-size: 10px;
}

.yes-no-toggle {
  min-height: 24px;
  min-width: 50px;
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);
}

.yes-no-toggle:hover:not(:disabled),
.yes-no-toggle.active {
  border-color: rgba(220, 240, 255, 0.68);
  color: #ffffff;
  background:
    linear-gradient(180deg, rgba(220, 240, 255, 0.26), rgba(125, 200, 255, 0.12)),
    rgba(76, 142, 219, 0.56);
  box-shadow: 0 0 14px rgba(125, 200, 255, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.table-token {
  color: rgba(202, 229, 255, 0.8);
  font-size: 10px;
}

.event-operational-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 10px;
}

.event-public-box,
.qr-preview {
  padding: 10px;
}

.event-public-box code {
  overflow: hidden;
  color: rgba(220, 240, 255, 0.92);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qr-preview {
  display: grid;
  justify-items: center;
  gap: 7px;
  color: rgba(244, 248, 255, 0.86);
}

.qr-preview img {
  width: 92px;
  height: 92px;
  border: 1px solid rgba(220, 240, 255, 0.34);
  border-radius: 10px;
  box-shadow: 0 0 18px rgba(125, 200, 255, 0.16);
}

.qr-preview small {
  width: 100%;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bi-workspace {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto auto minmax(0, 1fr);
}

.bi-header {
  padding-right: 80px;
}

.bi-header strong {
  color: #ffffff;
  font-size: 34px;
  line-height: 1;
  text-shadow: 0 0 22px rgba(190, 225, 255, 0.26);
}

.bi-query-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.bi-query-bar label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 8px 10px;
  border: 1px solid rgba(160, 200, 240, 0.4);
  border-radius: var(--radius-md);
  color: var(--primary-deep);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 2px 5px rgba(23, 50, 77, 0.1);
}

.bi-query-bar textarea {
  min-height: 54px;
  max-height: 110px;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  resize: vertical;
}

.bi-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
}

.bi-date-range {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.bi-date-range label {
  display: grid;
  gap: 3px;
}

.bi-date-range label span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: rgba(202, 229, 255, 0.62);
}

.bi-date-range input[type="date"] {
  appearance: none;
  width: 148px;
  padding: 7px 9px;
  border: 1px solid rgba(120, 180, 240, 0.28);
  border-radius: var(--radius-sm);
  background: rgba(8, 26, 44, 0.55);
  color: rgba(238, 246, 255, 0.92);
  font-size: 12px;
  font-family: inherit;
}

.bi-date-range input[type="date"]:focus-visible {
  outline: none;
  border-color: rgba(125, 200, 255, 0.7);
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.22);
}

.bi-date-range input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(0.8);
  cursor: pointer;
}

.bi-source-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.bi-source-controls > * {
  min-width: 0;
}

.bi-source-toggle {
  display: inline-flex;
  padding: 3px;
  gap: 2px;
  border: 1px solid rgba(120, 180, 240, 0.24);
  border-radius: 999px;
  background: rgba(8, 26, 44, 0.5);
}

.bi-source-toggle button {
  border: none;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(206, 228, 252, 0.72);
  background: transparent;
  cursor: pointer;
  transition: background 140ms ease, color 140ms ease;
}

.bi-source-toggle button.active {
  color: #06202f;
  background: linear-gradient(180deg, rgba(150, 214, 255, 0.98), rgba(96, 178, 247, 0.98));
  box-shadow: 0 4px 12px rgba(20, 80, 140, 0.35);
}

.bi-chart-toggles {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.bi-chart-chip {
  border: 1px solid rgba(120, 180, 240, 0.26);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 800;
  color: rgba(200, 224, 250, 0.66);
  background: rgba(8, 26, 44, 0.42);
  cursor: pointer;
  transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}

.bi-chart-chip.active {
  color: #ffffff;
  border-color: rgba(125, 200, 255, 0.55);
  background: rgba(72, 150, 230, 0.32);
}

.bi-chart-chip:not(.active) {
  opacity: 0.78;
  text-decoration: line-through;
  text-decoration-color: rgba(200, 224, 250, 0.4);
}

.bi-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  grid-auto-rows: minmax(150px, auto);
  gap: 10px;
  min-height: 0;
  overflow: auto;
  padding-right: 2px;
  scrollbar-width: thin;
  scrollbar-color: rgba(125, 200, 255, 0.42) rgba(7, 24, 39, 0.16);
}

.bi-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  overflow: hidden;
  padding: 11px;
}

.bi-card.primary-chart {
  grid-row: span 2;
}

.bi-card header span {
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
}

.bi-card header small {
  padding: 2px 6px;
  border-radius: 999px;
  color: rgba(202, 229, 255, 0.74);
  background: rgba(220, 240, 255, 0.1);
}

.chart-donut.large {
  width: min(140px, 72%);
  height: auto;
  aspect-ratio: 1;
  justify-self: center;
}

.bi-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.bi-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 22px;
  border: 1px solid rgba(220, 240, 255, 0.18);
  border-radius: 999px;
  padding: 2px 7px;
  color: rgba(228, 242, 255, 0.88);
  background: rgba(220, 240, 255, 0.08);
  font-size: 10px;
  font-weight: 800;
}

.bi-legend span::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--dot, var(--accent));
}

.compact-legend span::before {
  display: none;
}

.chart-bars.tall {
  gap: 8px;
}

.chart-line.tall {
  height: 118px;
}

.bi-mini-table {
  width: 100%;
  border-collapse: collapse;
  color: rgba(244, 248, 255, 0.86);
  font-size: 11px;
}

.bi-mini-table td {
  padding: 7px 0;
  border-bottom: 1px solid rgba(220, 240, 255, 0.1);
}

.bi-mini-table td:last-child {
  color: #ffffff;
  font-weight: 900;
  text-align: right;
}

.terms-editor textarea {
  min-height: 180px;
  padding: 10px;
  resize: vertical;
}

.field-builder {
  display: grid;
  grid-template-columns: 1fr 1fr 145px repeat(3, auto) auto;
  gap: 8px;
  align-items: end;
}

.field-builder label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 0 8px;
  border: 1px solid rgba(220, 240, 255, 0.26);
  border-radius: var(--radius-sm);
  background: rgba(220, 240, 255, 0.1);
  color: rgba(228, 242, 255, 0.86);
  font-size: 12px;
  white-space: nowrap;
}

.field-builder input[type="checkbox"] {
  width: 14px;
  min-height: 14px;
  accent-color: var(--primary);
  box-shadow: none;
}

.field-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.field-list article {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 7px;
  padding: 9px;
  font-size: 11px;
}

.field-list code {
  overflow: hidden;
  color: rgba(202, 229, 255, 0.72);
  text-overflow: ellipsis;
}

.user-builder {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: 8px;
  align-items: stretch;
}

.user-builder > input,
.user-builder > .custom-select,
.user-builder > button {
  width: 100%;
  min-height: 40px;
}

.user-builder .custom-select-trigger {
  min-height: 40px;
}

.admin-user-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.admin-user-list article {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 92px 58px auto auto;
  align-items: center;
  gap: 7px;
  padding: 8px;
  font-size: 11px;
}

.profile-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  gap: 9px;
  align-items: end;
}

.profile-summary {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  min-height: 42px;
  border: 1px solid rgba(220, 240, 255, 0.24);
  border-radius: 999px;
  padding: 4px 12px 4px 5px;
  background: rgba(220, 240, 255, 0.1);
}

.profile-summary div {
  display: grid;
  gap: 2px;
}

.profile-summary b {
  color: #ffffff;
  font-size: 12px;
}

.profile-summary small {
  color: rgba(202, 229, 255, 0.72);
  font-size: 10px;
  font-weight: 800;
}

.profile-editor label {
  display: grid;
  gap: 5px;
  color: rgba(228, 242, 255, 0.86);
  font-size: 11px;
  font-weight: 800;
}

.profile-editor button {
  align-self: end;
}

.profile-editor p {
  grid-column: 1 / -1;
}

.admin-user-list span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.admin-user-list b,
.admin-user-list small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-user-list button {
  height: 26px;
  border-radius: 8px;
  padding: 0 8px;
  color: rgba(244, 248, 255, 0.92);
  font-size: 11px;
  font-weight: 700;
}

.settings-modal-wrap {
  width: min(980px, calc(100vw - 40px));
  max-height: min(720px, calc(100vh - 64px));
  padding: 12px;
}

.settings-panel {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  gap: 12px;
  min-height: min(640px, calc(100vh - 116px));
}

.settings-sidebar {
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 10px;
  border: 1px solid rgba(220, 240, 255, 0.24);
  border-radius: var(--radius-md);
  background: rgba(220, 240, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.settings-sidebar strong {
  margin-bottom: 6px;
  color: #ffffff;
  font-size: 12px;
}

.settings-sidebar button {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 30px;
  border: 1px solid rgba(220, 240, 255, 0.18);
  border-radius: var(--radius-sm);
  padding: 0 9px;
  color: rgba(228, 242, 255, 0.86);
  background: rgba(220, 240, 255, 0.08);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  text-align: left;
}

.settings-sidebar button.active,
.settings-sidebar button:hover {
  border-color: rgba(220, 240, 255, 0.5);
  color: #ffffff;
  background: rgba(220, 240, 255, 0.18);
  box-shadow: 0 0 16px rgba(125, 200, 255, 0.14);
}

.settings-content {
  min-width: 0;
  overflow: hidden;
}

.settings-content .modal-panel,
.settings-content-panel {
  height: 100%;
  overflow: auto;
  padding: 4px 4px 8px;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  scrollbar-width: thin;
  scrollbar-color: rgba(23, 50, 77, 0.5) rgba(255, 255, 255, 0.12);
}

.settings-content .field-list,
.settings-content .admin-user-list {
  gap: 6px;
}

.settings-content .field-list article,
.settings-content .admin-user-list article {
  border-color: rgba(220, 240, 255, 0.18);
  border-radius: 8px;
  background: rgba(220, 240, 255, 0.08);
  box-shadow: none;
}

.settings-content-panel {
  display: grid;
  align-content: start;
  gap: 12px;
}

.settings-content-panel header {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffffff;
}

.settings-content-panel h2 {
  margin: 0;
  font-size: 15px;
}

.settings-import-box {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(220, 240, 255, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(220, 240, 255, 0.08);
}

.settings-import-box label {
  display: grid;
  gap: 6px;
  color: rgba(228, 242, 255, 0.86);
  font-size: 11px;
  font-weight: 800;
}

.settings-import-box input {
  min-height: 32px;
  border: 1px solid rgba(160, 200, 240, 0.42);
  border-radius: var(--radius-sm);
  padding: 6px 8px;
  color: var(--text-dark);
  background: rgba(255, 255, 255, 0.88);
}

.settings-import-box small {
  color: rgba(202, 229, 255, 0.76);
  font-size: 11px;
}

.settings-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 6px;
  color: rgba(244, 248, 255, 0.9);
  font-size: 11px;
}

.settings-table th,
.settings-table td {
  padding: 8px 10px;
  text-align: left;
}

.settings-table th {
  color: rgba(202, 229, 255, 0.76);
  font-size: 10px;
  text-transform: uppercase;
}

.settings-table td {
  border-top: 1px solid rgba(220, 240, 255, 0.14);
  border-bottom: 1px solid rgba(220, 240, 255, 0.14);
  background: rgba(220, 240, 255, 0.08);
}

.settings-table td:first-child {
  border-left: 1px solid rgba(220, 240, 255, 0.14);
  border-radius: 8px 0 0 8px;
  color: #ffffff;
  font-weight: 900;
}

.settings-table td:last-child {
  border-right: 1px solid rgba(220, 240, 255, 0.14);
  border-radius: 0 8px 8px 0;
  color: rgba(202, 229, 255, 0.82);
}

.maplibregl-ctrl-bottom-right {
  right: 14px;
  bottom: 14px;
  z-index: 4;
}

.maplibregl-ctrl-group {
  display: flex;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background:
    linear-gradient(145deg, rgba(116, 156, 198, 0.5), rgba(35, 77, 120, 0.46)),
    rgba(58, 100, 145, 0.52);
  box-shadow: var(--shadow-soft), var(--shadow-inset);
  backdrop-filter: var(--blur-panel);
  -webkit-backdrop-filter: var(--blur-panel);
}

.maplibregl-ctrl-group button {
  width: 30px;
  height: 30px;
  border: 0;
  background-color: transparent;
  filter: invert(1) opacity(0.86);
}

.maplibregl-ctrl-group button + button {
  border-top: 0;
  border-left: 1px solid rgba(220, 240, 255, 0.26);
}

.maplibregl-ctrl-attrib,
.maplibregl-ctrl-logo {
  opacity: 0.55;
}

.login-shell .maplibregl-ctrl-bottom-right {
  display: none;
}

.map-recenter-control {
  position: absolute;
  z-index: 5;
  right: 92px;
  bottom: 24px;
  pointer-events: auto;
}

.map-recenter-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: rgba(244, 248, 255, 0.9);
  background:
    linear-gradient(145deg, rgba(116, 156, 198, 0.5), rgba(35, 77, 120, 0.46)),
    rgba(58, 100, 145, 0.52);
  box-shadow: var(--shadow-soft), var(--shadow-inset);
  backdrop-filter: var(--blur-panel);
  -webkit-backdrop-filter: var(--blur-panel);
  cursor: pointer;
}

.map-recenter-button:hover:not(:disabled) {
  border-color: rgba(220, 240, 255, 0.72);
  box-shadow: var(--shadow-glow), var(--shadow-soft);
}

.map-recenter-button:disabled {
  opacity: 0.5;
}

.map-recenter-menu {
  position: absolute;
  right: 0;
  bottom: 38px;
  width: 250px;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(190, 225, 255, 0.68);
  border-radius: var(--radius-md);
  color: var(--text-dark);
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(228, 243, 255, 0.9)),
    rgba(244, 248, 255, 0.94);
  box-shadow:
    0 22px 54px rgba(5, 18, 34, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.map-recenter-menu strong {
  color: var(--text-dark);
  font-size: 11px;
  font-weight: 900;
}

.map-recenter-actions {
  display: flex;
  gap: 5px;
}

.map-recenter-actions button,
.map-recenter-menu form button {
  min-height: 25px;
  border: 1px solid rgba(76, 142, 219, 0.18);
  border-radius: 999px;
  padding: 0 8px;
  color: var(--primary-deep);
  background: rgba(255, 255, 255, 0.64);
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.map-recenter-actions button:disabled {
  opacity: 0.45;
}

.map-recenter-menu form {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  border: 1px solid rgba(76, 142, 219, 0.2);
  border-radius: 999px;
  padding: 0 5px 0 8px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--primary-deep);
}

.map-recenter-menu input {
  min-width: 0;
  border: 0;
  outline: none;
  color: var(--text-dark);
  background: transparent;
  font-size: 11px;
}

.map-recenter-menu small {
  color: var(--muted-dark);
  font-size: 10px;
  font-weight: 800;
}

@media (max-width: 768px) {
  .tool-dock {
    left: 8px;
    right: 8px;
    bottom: 8px;
    justify-content: space-between;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .tool-dock::-webkit-scrollbar {
    display: none;
  }

  .tool-button {
    flex: 1 0 38px;
    padding: 0 8px;
  }

  .tool-button span {
    display: none;
  }

  .modal-wrap {
    width: calc(100vw - 20px);
    max-height: 72vh;
    padding: 14px;
    border-radius: 18px;
  }

  .search-shell {
    inset: 56px 8px 56px;
    display: grid;
    grid-template-rows: minmax(190px, 0.9fr) minmax(0, 1fr);
    gap: 8px;
  }

  .search-shell.is-collapsed {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    gap: 8px;
  }

  .search-chat-panel,
  .search-results-panel {
    position: relative;
    inset: auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    border-radius: 18px;
  }

  .search-shell.is-collapsed .search-results-panel {
    left: auto;
    width: 100%;
  }

  .search-restore-button {
    position: relative;
    top: auto;
    left: auto;
    width: 42px;
    height: 42px;
  }

  .search-chat-panel {
    padding: 13px;
  }

  .search-panel-content textarea {
    min-height: 106px;
    max-height: 170px;
  }

  .search-action-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .search-results-panel {
    left: auto;
    top: auto;
    bottom: auto;
  }

  .person-popover {
    left: 8px;
    right: 8px;
    top: auto;
    bottom: 104px;
    width: auto;
  }

  .person-popover.is-expanded {
    top: 56px;
    bottom: 56px;
    width: auto;
  }

  .person-drawer {
    inset: 56px 8px 56px;
    width: auto;
    border-radius: 18px;
  }

  .person-popover.is-expanded .person-drawer {
    inset: auto;
    width: 100%;
    border-radius: var(--radius-md);
  }

  .person-edit-grid,
  .person-field-row {
    grid-template-columns: 1fr;
  }

  .people-card {
    width: 132px;
    right: 8px;
    top: 8px;
  }

  .people-card.is-expanded {
    width: 154px;
  }

  .top-left-cluster {
    left: 8px;
    top: 8px;
    gap: 6px;
  }

  .brand-plate {
    left: 8px;
    top: 8px;
  }

  .top-left-cluster .brand-plate {
    left: auto;
    top: auto;
  }

  .user-plate {
    max-width: 148px;
  }

  .user-name {
    max-width: 92px;
  }

  .maplibregl-ctrl-bottom-right {
    right: 8px;
    bottom: 56px;
  }

  .map-recenter-control {
    right: 80px;
    bottom: 56px;
  }

  .map-recenter-menu {
    right: -66px;
    width: min(282px, calc(100vw - 28px));
  }

  .settings-modal-wrap {
    width: calc(100vw - 20px);
    max-height: 78vh;
  }

  .operation-modal-wrap {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 70px);
    padding: 10px;
  }

  .operation-panel {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    height: calc(100vh - 112px);
    min-height: 0;
  }

  .operation-sidebar {
    grid-template-rows: auto auto auto;
    max-height: 310px;
  }

  .operation-list {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 2px;
  }

  .operation-list-item {
    flex: 0 0 210px;
  }

  .operation-toolbar,
  .event-operational-grid,
  .bi-query-bar,
  .bi-filter-row {
    grid-template-columns: 1fr;
  }

  .bi-grid {
    grid-template-columns: 1fr;
  }

  .bi-card.primary-chart {
    grid-row: auto;
  }

  .settings-panel {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .settings-sidebar {
    display: flex;
    overflow-x: auto;
    padding: 8px;
  }

  .settings-sidebar strong {
    display: none;
  }

  .settings-sidebar button {
    flex: 0 0 auto;
    width: auto;
  }

  .field-builder {
    grid-template-columns: 1fr;
  }

  .user-builder,
  .profile-editor,
  .admin-user-list article {
    grid-template-columns: 1fr;
  }

  .checkin-inline {
    grid-template-columns: 1fr;
  }

  .login-shell {
    background-position: 36% center;
  }

  .login-gate {
    position: absolute;
    inset: 0;
    grid-template-columns: 1fr;
    gap: 22px;
    overflow: auto;
    padding: 24px 16px 86px;
  }

  .login-hero-panel {
    gap: 18px;
    text-align: left;
  }

  .login-brand-lockup,
  .login-trust-pill {
    justify-self: start;
  }

  .login-brand-lockup {
    gap: 12px;
  }

  .login-brand-lockup strong {
    font-size: 36px;
  }

  .login-hero-copy h1 {
    font-size: 28px;
  }

  .login-hero-copy p {
    font-size: 14px;
    line-height: 1.5;
  }

  .login-feature-row {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 12px 0;
    width: 100%;
  }

  .login-feature-row span:nth-child(2n) {
    border-right: 0;
  }

  .login-card {
    width: 100%;
    padding: 26px 20px;
    border-radius: 20px;
  }

  .login-card-icon {
    width: 64px;
    height: 64px;
  }

  .login-card-title h2 {
    font-size: 24px;
  }

  .login-input-shell {
    min-height: 50px;
  }

  .login-input-shell input {
    min-height: 48px;
  }

  .login-options-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .login-submit {
    min-height: 52px;
  }

  .login-footer {
    bottom: 18px;
    gap: 12px;
    font-size: 11px;
    flex-wrap: wrap;
  }

  html,
  body,
  #root {
    width: 100%;
    max-width: 100%;
    min-height: 100dvh;
    overflow-x: hidden;
  }

  input,
  textarea,
  select {
    font-size: 16px;
  }

  .app-shell:not(.login-shell) {
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden;
  }

  .top-left-cluster,
  .tool-dock,
  .people-card {
    display: none;
  }

  .mobile-header {
    position: fixed;
    z-index: 22;
    top: 0;
    right: 0;
    left: 0;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 8px;
    min-height: calc(var(--mobile-header-height) + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));
    border-bottom: 1px solid rgba(190, 225, 255, 0.24);
    color: var(--text);
    background:
      linear-gradient(180deg, rgba(42, 78, 119, 0.7), rgba(16, 42, 69, 0.52)),
      rgba(8, 20, 38, 0.72);
    box-shadow:
      0 14px 34px rgba(3, 16, 32, 0.28),
      inset 0 -1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  .mobile-brand-mark,
  .mobile-user-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(220, 240, 255, 0.36);
    border-radius: 16px;
    color: #ffffff;
    background:
      linear-gradient(145deg, rgba(116, 156, 198, 0.42), rgba(35, 77, 120, 0.34)),
      rgba(58, 100, 145, 0.38);
    box-shadow:
      0 12px 28px rgba(5, 18, 34, 0.28),
      0 0 18px rgba(125, 200, 255, 0.14),
      inset 0 1px 0 rgba(255, 255, 255, 0.28);
  }

  .mobile-brand-mark svg {
    color: var(--accent);
    filter: drop-shadow(0 0 12px rgba(125, 200, 255, 0.42));
    stroke-width: 1.9;
  }

  .mobile-header-title {
    min-width: 0;
    overflow: hidden;
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-user-menu-wrap {
    position: relative;
    justify-self: end;
  }

  .mobile-user-button {
    gap: 3px;
    padding: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
  }

  .mobile-user-button.active,
  .mobile-user-button:hover {
    border-color: rgba(220, 240, 255, 0.72);
    box-shadow:
      var(--shadow-glow),
      0 12px 28px rgba(5, 18, 34, 0.28);
  }

  .mobile-user-button:active {
    transform: translateY(1px) scale(0.98);
  }

  .mobile-user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(220, 240, 255, 0.52);
    border-radius: 50%;
    color: #ffffff;
    background:
      radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.42), transparent 38%),
      linear-gradient(145deg, rgba(125, 200, 255, 0.48), rgba(36, 90, 145, 0.56));
    box-shadow:
      0 0 14px rgba(151, 209, 255, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.36);
    font-size: 10px;
    font-weight: 900;
  }

  .mobile-user-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(252px, calc(100vw - 24px));
    display: grid;
    gap: 6px;
    padding: 9px;
    border: 1px solid rgba(220, 240, 255, 0.48);
    border-radius: 18px;
    color: var(--text);
    background:
      linear-gradient(145deg, rgba(116, 156, 198, 0.56), rgba(35, 77, 120, 0.5)),
      rgba(23, 55, 88, 0.84);
    box-shadow:
      0 24px 58px rgba(3, 16, 32, 0.44),
      0 0 24px rgba(125, 200, 255, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.28);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    animation: mobileDropdownIn 140ms ease-out;
  }

  .mobile-user-dropdown::before {
    content: "";
    position: absolute;
    top: -5px;
    right: 18px;
    width: 10px;
    height: 10px;
    border-top: 1px solid rgba(220, 240, 255, 0.38);
    border-left: 1px solid rgba(220, 240, 255, 0.38);
    background: rgba(78, 121, 164, 0.9);
    transform: rotate(45deg);
  }

  .mobile-user-dropdown-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    padding: 7px 7px 10px;
    border-bottom: 1px solid rgba(220, 240, 255, 0.16);
  }

  .mobile-user-dropdown-head span:last-child {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  .mobile-user-dropdown-head b,
  .mobile-user-dropdown-head small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-user-dropdown-head b {
    color: #ffffff;
    font-size: 12px;
  }

  .mobile-user-dropdown-head small {
    color: rgba(202, 229, 255, 0.74);
    font-size: 10px;
  }

  .mobile-user-dropdown button,
  .mobile-user-dropdown-muted {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    border: 1px solid rgba(220, 240, 255, 0.16);
    border-radius: 13px;
    padding: 0 10px;
    color: rgba(244, 248, 255, 0.92);
    background: rgba(220, 240, 255, 0.08);
    font-size: 12px;
    font-weight: 850;
  }

  .mobile-user-dropdown button {
    cursor: pointer;
    transition: border-color var(--transition), background var(--transition), transform var(--transition);
  }

  .mobile-user-dropdown button:hover {
    border-color: rgba(220, 240, 255, 0.48);
    background: rgba(220, 240, 255, 0.16);
  }

  .mobile-user-dropdown button:active {
    transform: translateY(1px);
  }

  .mobile-user-dropdown-muted {
    opacity: 0.62;
  }

  .mobile-bottom-nav {
    position: fixed;
    z-index: 21;
    right: max(10px, env(safe-area-inset-right));
    bottom: max(8px, env(safe-area-inset-bottom));
    left: max(10px, env(safe-area-inset-left));
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    align-items: end;
    min-height: var(--mobile-bottom-nav-height);
    padding: 7px 8px 8px;
    border: 1px solid rgba(220, 240, 255, 0.38);
    border-radius: 24px;
    background:
      linear-gradient(180deg, rgba(75, 117, 159, 0.58), rgba(12, 35, 59, 0.68)),
      rgba(8, 20, 38, 0.76);
    box-shadow:
      0 20px 48px rgba(3, 16, 32, 0.36),
      0 0 24px rgba(125, 200, 255, 0.16),
      inset 0 1px 0 rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  .mobile-nav-item {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 3px;
    min-width: 0;
    min-height: 52px;
    border: 0;
    border-radius: 18px;
    padding: 4px 2px;
    color: rgba(218, 236, 255, 0.74);
    background: transparent;
    cursor: pointer;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0;
    transition: color var(--transition), transform var(--transition);
  }

  .mobile-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid transparent;
    border-radius: 12px;
    transition: border-color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);
  }

  .mobile-nav-icon svg {
    width: 18px;
    height: 18px;
    stroke-width: 1.85;
  }

  .mobile-nav-item.active {
    color: #ffffff;
  }

  .mobile-nav-item.active .mobile-nav-icon {
    border-color: rgba(220, 240, 255, 0.42);
    background: rgba(220, 240, 255, 0.12);
    box-shadow: 0 0 16px rgba(125, 200, 255, 0.18);
  }

  .mobile-nav-item.primary {
    transform: translateY(-8px);
  }

  .mobile-nav-item.primary .mobile-nav-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border-color: rgba(220, 240, 255, 0.62);
    color: #ffffff;
    background:
      radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.42), transparent 36%),
      linear-gradient(145deg, rgba(111, 181, 255, 0.66), rgba(36, 90, 145, 0.72));
    box-shadow:
      0 14px 28px rgba(5, 18, 34, 0.28),
      0 0 28px rgba(125, 200, 255, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.36);
  }

  .mobile-nav-item.primary .mobile-nav-icon svg {
    width: 21px;
    height: 21px;
  }

  .mobile-nav-item:active {
    transform: translateY(1px) scale(0.98);
  }

  .mobile-nav-item.primary:active {
    transform: translateY(-6px) scale(0.98);
  }

  .search-shell {
    inset:
      calc(var(--mobile-header-height) + env(safe-area-inset-top) + 10px)
      10px
      calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 34px)
      10px;
    display: grid;
    grid-template-rows: minmax(220px, auto) minmax(0, 1fr);
    gap: 10px;
    overflow: hidden;
  }

  .search-shell.is-collapsed {
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .search-chat-panel,
  .search-results-panel {
    max-height: 100%;
    min-height: 0;
    overflow: auto;
    border-radius: 20px;
  }

  .search-chat-panel {
    padding: 14px;
  }

  .search-panel-content textarea {
    min-height: 128px;
    max-height: 190px;
    scrollbar-width: thin;
    scrollbar-color: rgba(36, 90, 145, 0.72) rgba(221, 238, 255, 0.38);
  }

  .search-panel-content textarea::-webkit-scrollbar {
    width: 5px;
  }

  .search-panel-content textarea::-webkit-scrollbar-track {
    background: rgba(221, 238, 255, 0.34);
    border-radius: 999px;
  }

  .search-panel-content textarea::-webkit-scrollbar-thumb {
    background: rgba(36, 90, 145, 0.72);
    border-radius: 999px;
  }

  .search-close,
  .search-collapse-button,
  .search-restore-button,
  .close-small {
    min-width: 44px;
    min-height: 44px;
  }

  .modal-wrap,
  .operation-modal-wrap,
  .settings-modal-wrap {
    position: fixed;
    inset:
      calc(var(--mobile-header-height) + env(safe-area-inset-top) + 10px)
      10px
      calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 34px)
      10px;
    width: auto;
    max-height: none;
    transform: none;
    border-radius: 20px;
    padding: 12px;
    overflow: auto;
  }

  .operation-panel,
  .settings-panel {
    height: 100%;
    min-height: 0;
  }

  .operation-detail,
  .settings-content {
    min-height: 0;
    overflow: auto;
  }

  .person-popover {
    z-index: 18;
    right: 10px;
    bottom: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 18px);
    left: 10px;
    width: auto;
  }

  .person-popover.is-expanded {
    top: calc(var(--mobile-header-height) + env(safe-area-inset-top) + 10px);
    bottom: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 34px);
  }

  .person-drawer {
    inset:
      calc(var(--mobile-header-height) + env(safe-area-inset-top) + 10px)
      10px
      calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 34px)
      10px;
  }

  .maplibregl-ctrl-bottom-right {
    right: 10px;
    bottom: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 34px);
  }

  .map-recenter-control {
    right: 82px;
    bottom: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 34px);
  }

  .map-recenter-menu {
    right: -72px;
    width: min(296px, calc(100vw - 24px));
  }

  @keyframes mobileDropdownIn {
    from {
      opacity: 0;
      transform: translateY(-6px) scale(0.98);
    }

    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  /* === Login mobile: só o card com o logo, sem marketing === */
  .login-gate {
    grid-template-columns: minmax(0, 1fr);
    place-items: center;
    gap: 0;
    padding: max(28px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));
  }

  .login-hero-panel,
  .login-footer {
    display: none;
  }

  .login-card {
    width: 100%;
    max-width: 430px;
  }

  /* === Busca: alternância Mapa <-> Lista (nunca empilhar) === */
  .search-shell.has-results {
    overscroll-behavior: contain;
  }

  .search-shell.has-results.mobile-map {
    grid-template-rows: auto;
    pointer-events: none;
  }

  .search-shell.has-results.mobile-map .search-chat-panel {
    pointer-events: auto;
    max-height: 46dvh;
  }

  .search-shell.has-results.mobile-map .search-results-panel {
    display: none;
  }

  .search-shell.has-results.mobile-list {
    grid-template-rows: minmax(0, 1fr);
  }

  .search-shell.has-results.mobile-list .search-chat-panel {
    display: none;
  }

  .search-shell.has-results.mobile-list .search-results-panel {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  /* no mobile o FAB substitui o recolher/restaurar da busca */
  .search-collapse-button,
  .search-restore-button {
    display: none;
  }

  /* FAB central acima da nav (não no canto — evita o controle do MapLibre) */
  .mobile-view-fab {
    position: fixed;
    z-index: 20;
    left: 50%;
    bottom: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 24px);
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 44px;
    padding: 0 20px;
    border: 1px solid rgba(220, 240, 255, 0.5);
    border-radius: 999px;
    color: #06202f;
    background: linear-gradient(180deg, rgba(150, 214, 255, 0.98), rgba(96, 178, 247, 0.98));
    box-shadow: 0 16px 34px rgba(5, 30, 55, 0.42), 0 0 20px rgba(125, 200, 255, 0.3);
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
  }

  .mobile-view-fab:active {
    transform: translateX(-50%) translateY(1px) scale(0.98);
  }

  /* === Painéis (Ações/Eventos/BI/Config): grids internos em coluna única === */
  .operation-panel {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: min-content;
    height: auto;
    min-height: 0;
  }

  .bi-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .bi-card.primary-chart {
    grid-row: auto;
  }

  .bi-controls {
    flex-direction: column;
    align-items: stretch;
  }

  .modal-wrap,
  .operation-modal-wrap,
  .settings-modal-wrap,
  .person-drawer {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* === Ficha de pessoa: sidebar de blocos -> abas horizontais === */
  .person-drawer-body.is-editing {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: min-content;
  }

  .person-drawer-nav {
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    justify-content: start;
    overflow-x: auto;
    padding-right: 0;
    padding-bottom: 6px;
    border-right: 0;
    border-bottom: 1px solid rgba(76, 142, 219, 0.16);
    scrollbar-width: none;
  }

  .person-drawer-nav::-webkit-scrollbar {
    display: none;
  }

  .person-drawer-nav button {
    white-space: nowrap;
  }
}

/* CustomSelect — dropdown elegante (substitui o <select> nativo do sistema). */
.custom-select {
  position: relative;
  width: 100%;
}

.custom-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(76, 142, 219, 0.3);
  border-radius: 12px;
  background: #ffffff;
  color: #1f2c3d;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.custom-select-trigger:hover:not(:disabled) {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(76, 142, 219, 0.14);
}

.custom-select.open .custom-select-trigger {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(76, 142, 219, 0.16);
}

.custom-select-trigger:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.custom-select-trigger .is-placeholder {
  color: #8a98a8;
  font-weight: 500;
}

.custom-select-caret {
  flex-shrink: 0;
  color: #6b7c91;
  transition: transform 0.18s ease;
}

.custom-select.open .custom-select-caret {
  transform: rotate(180deg);
}

.custom-select-menu {
  position: absolute;
  z-index: 60;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  margin: 0;
  padding: 6px;
  list-style: none;
  max-height: 264px;
  overflow-y: auto;
  border: 1px solid rgba(76, 142, 219, 0.18);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(23, 50, 77, 0.2);
  animation: customSelectIn 0.14s ease;
}

@keyframes customSelectIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.custom-select-menu li {
  padding: 9px 12px;
  border-radius: 9px;
  color: #2a3a4d;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}

.custom-select-menu li:hover {
  background: rgba(76, 142, 219, 0.12);
  color: var(--primary-deep);
}

.custom-select-menu li.is-selected {
  background: rgba(76, 142, 219, 0.18);
  color: var(--primary-deep);
}

/* CustomDatePicker — calendário elegante (substitui o date/datetime nativo). */
.date-picker {
  position: relative;
  width: 100%;
}

.date-picker-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(76, 142, 219, 0.3);
  border-radius: 12px;
  background: #ffffff;
  color: #1f2c3d;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.date-picker-trigger > svg {
  flex: none;
  color: #4c8edb;
}

.date-picker .date-picker-trigger > span {
  color: var(--text-dark);
  font-weight: 800;
}

.date-picker .date-picker-trigger > span.is-placeholder {
  color: #8aa0b8;
  font-weight: 600;
}

.date-picker.open .date-picker-trigger,
.date-picker-trigger:focus-visible {
  outline: none;
  border-color: rgba(76, 142, 219, 0.7);
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.18);
}

.date-picker-pop {
  position: absolute;
  z-index: 30;
  top: calc(100% + 6px);
  left: 0;
  width: 270px;
  max-width: calc(100vw - 24px);
  padding: 12px;
  border: 1px solid rgba(220, 240, 255, 0.5);
  border-radius: 18px;
  background:
    linear-gradient(150deg, rgba(28, 60, 96, 0.97), rgba(13, 35, 59, 0.98)),
    rgba(12, 30, 52, 0.98);
  box-shadow:
    0 26px 60px rgba(3, 16, 32, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  animation: dpPopIn 140ms ease-out;
}

@keyframes dpPopIn {
  from { opacity: 0; transform: translateY(-6px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.date-picker-head {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  align-items: center;
  margin-bottom: 10px;
}

.date-picker-head strong {
  text-align: center;
  color: #ffffff;
  font-size: 13px;
  font-weight: 850;
}

.date-picker-head button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(220, 240, 255, 0.24);
  border-radius: 10px;
  color: rgba(232, 244, 255, 0.9);
  background: rgba(220, 240, 255, 0.08);
  cursor: pointer;
  transition: border-color 0.12s ease, background 0.12s ease;
}

.date-picker-head button:hover {
  border-color: rgba(125, 200, 255, 0.55);
  background: rgba(72, 150, 230, 0.28);
}

.date-picker-weekdays,
.date-picker-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 3px;
}

.date-picker-weekdays {
  margin-bottom: 4px;
}

.date-picker-weekdays span {
  text-align: center;
  color: rgba(170, 200, 230, 0.6);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.date-picker-days button {
  aspect-ratio: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 10px;
  color: rgba(232, 244, 255, 0.9);
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}

.date-picker-days button:hover:not(:disabled) {
  background: rgba(125, 200, 255, 0.16);
}

.date-picker-days button.is-today {
  border-color: rgba(125, 200, 255, 0.42);
}

.date-picker-days button.is-selected {
  color: #06202f;
  border-color: transparent;
  background: linear-gradient(180deg, rgba(150, 214, 255, 0.98), rgba(96, 178, 247, 0.98));
}

.date-picker-days button:disabled {
  opacity: 0.26;
  cursor: not-allowed;
}

.date-picker-days .is-empty {
  aspect-ratio: 1;
}

.date-picker-time {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-top: 11px;
  padding-top: 11px;
  border-top: 1px solid rgba(220, 240, 255, 0.14);
}

.date-picker-time > svg {
  color: #7dc8ff;
}

.date-picker-time > span {
  color: rgba(202, 229, 255, 0.78);
  font-size: 11px;
  font-weight: 800;
}

.date-picker-time .custom-select {
  width: 66px;
}

.date-picker-time .date-picker-colon {
  color: #ffffff;
  font-weight: 900;
  font-style: normal;
}

.neighborhood-autocomplete {
  width: 100%;
}

.neighborhood-autocomplete > input {
  width: 100%;
}

/* Botão maximizar: mesmo visual e tamanho do "X" de fechar, colado ao lado dele. */
.modal-maximize {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(220, 240, 255, 0.34);
  border-radius: 8px;
  color: rgba(244, 248, 255, 0.82);
  background: rgba(220, 240, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
  cursor: pointer;
}

.modal-maximize:hover {
  border-color: rgba(220, 240, 255, 0.68);
  color: #ffffff;
  background: rgba(183, 222, 255, 0.18);
}

/* Maximizado: ocupa a área do mapa. transform:none corrige o deslocamento do
   centramento (.modal-wrap usa translate(-50%,-50%)). */
.modal-wrap.is-maximized {
  position: fixed;
  inset: 58px 12px 12px 12px;
  transform: none;
  width: auto;
  max-width: none;
  height: auto;
  max-height: none;
  overflow: hidden;
  z-index: 45;
}

.search-results-panel.is-maximized {
  position: fixed;
  inset: 58px 12px 12px 12px;
  left: 12px;
  width: auto;
  max-width: none;
  height: auto;
  max-height: none;
  z-index: 45;
}

/* Painéis internos preenchem a área quando maximizados. */
.modal-wrap.is-maximized .operation-panel,
.modal-wrap.is-maximized .settings-panel {
  height: 100%;
  max-height: none;
  min-height: 0;
}

.modal-wrap.is-maximized .modal-panel {
  height: 100%;
  max-height: none;
}

/* Resultados maximizado: vira uma TABELA organizada (grid multi-coluna), não lista esticada. */
.search-results-panel.is-maximized .search-results-list {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

/* Ficha de pessoa maximizada: ocupa a área do mapa e distribui as seções em
   múltiplas colunas (efeito masonry) para aproveitar o espaço e evitar scroll. */
.person-popover.is-expanded.is-maximized {
  top: 58px;
  bottom: 12px;
  left: 12px;
  right: 12px;
  width: auto;
  max-width: none;
  z-index: 30;
}

/* Wrapper das seções + esconder seções inativas (modo edição). */
.person-drawer-sections {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 0;
}

.person-drawer section[hidden] {
  display: none;
}

/* Modo EDIÇÃO: sidebar de blocos à esquerda + bloco selecionado à direita. */
.person-drawer-body.is-editing {
  grid-template-columns: 144px minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

.person-drawer-body.is-editing > .person-edit-message {
  grid-column: 1 / -1;
}

.person-drawer-body.is-editing > .person-drawer-nav {
  grid-row: 2;
}

.person-drawer-body.is-editing > .person-drawer-sections {
  grid-row: 2;
  overflow: auto;
}

.person-drawer-nav {
  display: grid;
  align-content: start;
  gap: 4px;
  padding-right: 6px;
  border-right: 1px solid rgba(76, 142, 219, 0.16);
}

.person-drawer-nav button {
  min-height: 32px;
  padding: 6px 9px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--muted-dark);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
  transition: background var(--transition), color var(--transition);
}

.person-drawer-nav button:hover {
  color: var(--primary-deep);
  background: rgba(76, 142, 219, 0.1);
}

.person-drawer-nav button.active {
  color: var(--primary-deep);
  background: rgba(76, 142, 219, 0.16);
  border-color: rgba(76, 142, 219, 0.22);
}

/* Modo LEITURA maximizado: seções em colunas (masonry) para aproveitar o espaço. */
.person-popover.is-expanded.is-maximized .person-drawer-body:not(.is-editing) .person-drawer-sections {
  display: block;
  columns: 300px;
  column-gap: 12px;
}

.person-popover.is-expanded.is-maximized .person-drawer-body:not(.is-editing) .person-drawer section {
  break-inside: avoid;
  margin-bottom: 12px;
}

.person-popover.is-expanded.is-maximized .person-field-row,
.person-popover.is-expanded.is-maximized .person-contact-row {
  min-height: 26px;
  font-size: 12px;
}

.export-actions {
  margin-bottom: 12px;
}

.reg-list { display: flex; flex-direction: column; gap: 10px; }
.reg-card {
  border: 1px solid rgba(220, 240, 255, 0.16);
  border-radius: 12px;
  padding: 12px;
  background: rgba(220, 240, 255, 0.05);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.reg-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.reg-card-head b { color: #f3f8ff; font-size: 13px; }
.reg-card-head span { font-size: 11.5px; color: rgba(220, 240, 255, 0.55); }
.reg-diff { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.reg-diff > div { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border-radius: 9px; background: rgba(12, 28, 48, 0.4); }
.reg-diff strong { color: #f3f8ff; font-size: 13px; }
.reg-diff small { color: rgba(220, 240, 255, 0.55); font-size: 11.5px; }
.reg-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--label-blue); }
.reg-diverge { border: 1px solid rgba(240, 170, 90, 0.6); background: rgba(240, 170, 90, 0.12) !important; }
.reg-warn { margin: 0; font-size: 12px; color: #f0aa5a; }
.reg-actions { display: flex; justify-content: flex-end; gap: 8px; }
.reg-actions > button:not(.primary-small) { padding: 7px 13px; border-radius: 9px; border: 1px solid rgba(220,240,255,0.22); background: transparent; color: rgba(244,248,255,0.85); cursor: pointer; }

/* Painel de duplicatas: escolha do sobrevivente por grupo. */
.dup-people { display: flex; flex-direction: column; gap: 4px; margin: 6px 0 10px; }
.dup-person { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid rgba(125,200,255,0.16); border-radius: 9px; cursor: pointer; }
.dup-person.is-survivor { border-color: rgba(125,200,255,0.6); background: rgba(72,150,230,0.14); }
.dup-person input { accent-color: var(--primary); }
.dup-person strong { font-size: 13px; font-weight: 700; }
.dup-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.dup-cpf { margin-left: auto; font-size: 9px; font-weight: 800; letter-spacing: 0.05em; padding: 2px 7px; border-radius: 999px; background: rgba(72,150,230,0.22); color: rgba(244,248,255,0.95); font-style: normal; }

.event-public-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.public-config-icon, .link-copy-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; flex: none; border-radius: 8px;
  border: 1px solid rgba(220, 240, 255, 0.28); background: rgba(220, 240, 255, 0.1);
  color: rgba(244, 248, 255, 0.85); cursor: pointer;
  transition: border-color var(--transition), background var(--transition);
}
.public-config-icon:hover, .link-copy-btn:hover:not(:disabled) {
  border-color: rgba(125, 200, 255, 0.7); background: rgba(72, 150, 230, 0.28);
}
.link-copy-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.public-link-row { display: flex; align-items: center; gap: 8px; }
.public-link-label {
  flex: none; min-width: 62px; font-size: 10.5px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.03em; color: var(--label-blue);
}
.public-link-row code { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Lixeira do master: exclusão de ações/eventos (somente o dono). */
.operation-list-row { display: flex; align-items: stretch; gap: 5px; }
.operation-list-row .operation-list-item { flex: 1; min-width: 0; }
.operation-list-trash {
  flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  width: 34px; border: 1px solid rgba(248, 113, 113, 0.28); border-radius: var(--radius-sm);
  background: rgba(248, 113, 113, 0.08); color: #fff; cursor: pointer;
  transition: border-color var(--transition), background var(--transition), transform var(--transition);
}
.operation-list-trash:hover { border-color: rgba(248, 113, 113, 0.6); background: rgba(248, 113, 113, 0.18); }
.operation-list-trash:active { transform: translateY(1px); }

/* Modal de confirmação dupla (dois cliques) — destrutivo. O fundo do .chart-modal é
   CLARO (branco→azul-claro), então texto e controles vão em tom ESCURO (--text-dark/
   --muted-dark/--primary-deep) para contraste WCAG; o CTA destrutivo é vermelho sólido. */
.confirm-delete-modal { width: min(420px, 92vw); }
.chart-modal-head.danger h3 { color: #c0392b; }
.confirm-delete-body { display: grid; gap: 12px; }
.confirm-delete-body p { margin: 0; color: var(--text-dark); font-size: 13px; line-height: 1.5; }
.confirm-delete-note { color: var(--muted-dark) !important; font-size: 12px !important; }
.confirm-delete-final strong:first-child { color: #c0392b; }
.confirm-delete-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
.cd-ghost, .cd-danger {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 9px;
  font-size: 12px; font-weight: 700; cursor: pointer;
  transition: border-color var(--transition), background var(--transition), transform var(--transition);
}
.cd-ghost { border: 1px solid rgba(36, 90, 145, 0.32); background: rgba(255, 255, 255, 0.65); color: var(--primary-deep); }
.cd-ghost:hover:not(:disabled) { border-color: rgba(76, 142, 219, 0.6); background: rgba(76, 142, 219, 0.14); }
.cd-danger { border: 1px solid #c0392b; background: #e0503f; color: #ffffff; }
.cd-danger:hover:not(:disabled) { background: #cf4332; border-color: #a72f22; }
.cd-ghost:disabled, .cd-danger:disabled { opacity: 0.5; cursor: default; }
.cd-ghost:active:not(:disabled), .cd-danger:active:not(:disabled) { transform: translateY(1px); }

/* Modal "Excluídos" — restaurar (somente o dono). Mesmo fundo claro, texto escuro. */
.deleted-items-modal { width: min(460px, 94vw); }
.deleted-items-body { display: grid; gap: 8px; max-height: 60vh; overflow: auto; }
.deleted-items-empty { margin: 8px 0; color: var(--muted-dark); font-size: 12px; text-align: center; }
.deleted-item-row {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 9px 11px; border: 1px solid rgba(76, 142, 219, 0.24); border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.55);
}
.deleted-item-info { display: grid; gap: 2px; min-width: 0; }
.deleted-item-info b { color: var(--text-dark); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deleted-item-info small { color: var(--muted-dark); font-size: 11px; }
.deleted-item-row .cd-ghost { flex: 0 0 auto; }

/* Painel de Logs master-only — denso ("nerd"), letras miúdas, monospace nos ids/origem. */
.logs-panel { display: flex; flex-direction: column; min-height: 0; gap: 10px; }
.logs-intro { margin: 0; font-size: 11px; color: var(--muted); }
.logs-toolbar { display: grid; gap: 8px; }
/* Filtros numa ÚNICA linha, compactos e lado a lado: busca (cresce) + datas + selects. */
.logs-filterbar { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.logs-filterbar .logs-search { flex: 1 1 170px; min-width: 140px; margin: 0; padding: 4px 9px; }
.logs-filterbar .logs-search input { font-size: 11px; }
.logs-filterbar .logs-date { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; font-size: 9.5px; color: var(--muted); }
.logs-filterbar .logs-date > span { text-transform: uppercase; letter-spacing: 0.04em; font-weight: 800; }
.logs-filterbar .logs-date .date-picker { width: auto; }
.logs-filterbar .custom-select { flex: 1 1 116px; min-width: 104px; max-width: 178px; width: auto; }
/* Gatilhos compactos (select + data) dentro da barra de filtros. */
.logs-filterbar .custom-select-trigger { min-height: 30px; padding: 0 9px; gap: 5px; font-size: 11px; border-radius: 8px; }
.logs-filterbar .date-picker-trigger { width: auto; min-height: 30px; padding: 0 9px; gap: 5px; font-size: 11px; border-radius: 8px; }
.logs-filterbar .custom-select-value { font-size: 11px; }
.logs-filterbar .custom-select-caret { width: 13px; height: 13px; }
.logs-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.logs-meta-toggle { display: inline-flex; align-items: center; gap: 6px; font-size: 10.5px; color: var(--muted); cursor: pointer; }
.logs-meta-toggle input { accent-color: var(--primary); }
.logs-actions { display: flex; align-items: center; gap: 8px; }
.logs-refresh { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: none; border: 1px solid rgba(160, 200, 240, 0.4); border-radius: 8px; background: rgba(12, 28, 48, 0.4); color: rgba(125, 200, 255, 0.85); cursor: pointer; transition: border-color var(--transition), background var(--transition); }
.logs-refresh:hover:not(:disabled) { border-color: rgba(125, 200, 255, 0.7); background: rgba(72, 150, 230, 0.2); }
.logs-refresh:disabled { opacity: 0.5; cursor: default; }
.logs-table-wrap { min-height: 220px; flex: 1; overflow: auto; border: 1px solid rgba(220, 240, 255, 0.16); border-radius: var(--radius-md); background: rgba(7, 24, 39, 0.18); scrollbar-width: thin; scrollbar-color: rgba(125, 200, 255, 0.42) rgba(7, 24, 39, 0.16); }
.logs-table { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0; font-size: 10.5px; color: rgba(244, 248, 255, 0.86); }
.logs-table th { position: sticky; top: 0; z-index: 1; padding: 6px 8px; text-align: left; white-space: nowrap; font-size: 9px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 800; color: rgba(202, 229, 255, 0.74); background: linear-gradient(180deg, rgba(45, 86, 128, 0.97), rgba(27, 62, 98, 0.95)); }
.logs-table td { padding: 5px 8px; border-top: 1px solid rgba(220, 240, 255, 0.08); vertical-align: middle; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.logs-table tbody tr { cursor: pointer; }
.logs-table tbody tr:hover td { background: rgba(125, 200, 255, 0.1); }
.logs-table tbody tr.is-selected td { background: rgba(125, 200, 255, 0.16); }
.logs-check { width: 30px; text-align: center; }
.logs-check input { accent-color: var(--primary); cursor: pointer; }
.logs-mono { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: 10px; }
.logs-dim { color: rgba(202, 229, 255, 0.5); }
.logs-actor { font-weight: 700; color: #ffffff; }
.logs-badge { margin-left: 6px; padding: 1px 5px; border-radius: 999px; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em; background: rgba(125, 200, 255, 0.16); color: rgba(202, 229, 255, 0.85); }
.logs-badge-system { background: rgba(251, 191, 36, 0.18); color: #fbbf24; }
.logs-badge-integration { background: rgba(74, 222, 128, 0.16); color: #4ade80; }
.logs-action { font-weight: 700; }
.logs-empty { padding: 18px; text-align: center; color: var(--muted); font-size: 11px; }
.logs-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.logs-footer small { color: var(--muted); font-size: 10.5px; }
.logs-more { padding: 6px 14px; border: 1px solid rgba(125, 200, 255, 0.4); border-radius: 8px; background: rgba(72, 150, 230, 0.18); color: #eaf4ff; font-size: 11px; font-weight: 700; cursor: pointer; transition: background var(--transition); }
.logs-more:hover:not(:disabled) { background: rgba(72, 150, 230, 0.3); }
.logs-more:disabled { opacity: 0.55; cursor: default; }
.logs-error { color: var(--danger); font-size: 11px; }

/* Modal de detalhe do log — fundo CLARO do chart-modal, então texto/JSON em tom escuro. */
.log-detail-modal { width: min(560px, 95vw); max-height: 88vh; overflow: auto; }
.log-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin-bottom: 6px; }
.log-detail-field { display: grid; gap: 1px; min-width: 0; }
.log-detail-field > span { font-size: 9px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 800; color: var(--muted-dark); }
.log-detail-field > b { font-size: 12px; color: var(--text-dark); overflow-wrap: anywhere; }
.log-detail-json { margin-top: 10px; }
.log-detail-json > span { font-size: 9px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 800; color: var(--muted-dark); }
.log-detail-json pre { margin: 4px 0 0; padding: 8px 10px; border-radius: 8px; background: rgba(23, 50, 77, 0.06); border: 1px solid rgba(36, 90, 145, 0.18); color: var(--text-dark); font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: 10.5px; line-height: 1.45; white-space: pre-wrap; word-break: break-word; max-height: 220px; overflow: auto; }

/* Stepper de peso do Score (substitui o input number nativo). Tema escuro da plataforma.
   Especificidade .weight-stepper .weight-step-input vence a antiga .score-rule-row input. */
.weight-stepper {
  display: inline-flex;
  align-items: center;
  height: 30px;
  flex: none;
  border: 1px solid rgba(220, 240, 255, 0.25);
  border-radius: 8px;
  background: rgba(12, 28, 48, 0.5);
  overflow: hidden;
}
.weight-stepper.is-pos { border-color: rgba(52, 210, 123, 0.55); }
.weight-stepper.is-neg { border-color: rgba(239, 110, 110, 0.55); }
.weight-stepper.is-disabled { opacity: 0.55; }
.weight-stepper .weight-step-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 100%;
  flex: none;
  border: none;
  background: rgba(125, 200, 255, 0.1);
  color: rgba(202, 229, 255, 0.85);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.weight-stepper .weight-step-btn:hover:not(:disabled) { background: rgba(125, 200, 255, 0.24); color: #ffffff; }
.weight-stepper .weight-step-btn:active:not(:disabled) { background: rgba(125, 200, 255, 0.34); }
.weight-stepper .weight-step-btn:disabled { opacity: 0.3; cursor: default; }
.weight-stepper .weight-step-input {
  width: 48px;
  height: 100%;
  flex: none;
  margin: 0;
  padding: 0 4px;
  border: none;
  border-left: 1px solid rgba(220, 240, 255, 0.14);
  border-right: 1px solid rgba(220, 240, 255, 0.14);
  border-radius: 0;
  background: transparent;
  color: #f3f8ff;
  font: inherit;
  font-size: 12.5px;
  font-weight: 800;
  text-align: center;
  outline: none;
  -moz-appearance: textfield;
}
.weight-stepper .weight-step-input:focus { background: rgba(125, 200, 255, 0.08); }
.weight-stepper.is-pos .weight-step-input { color: #6ee7a8; }
.weight-stepper.is-neg .weight-step-input { color: #ff9b9b; }
.weight-stepper .weight-step-input::-webkit-outer-spin-button,
.weight-stepper .weight-step-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ===== Lista de alvos da Ação: config de colunas (⚙), drag, switch, remover ===== */
.operation-config-anchor { position: relative; }
.operation-config-trigger {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; min-height: 27px; padding: 0; border-radius: 999px;
  border: 1px solid rgba(220, 240, 255, 0.3); background: rgba(220, 240, 255, 0.11);
  color: rgba(244, 248, 255, 0.9); cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease;
}
.operation-config-trigger:hover { border-color: rgba(220, 240, 255, 0.68); background: rgba(76, 142, 219, 0.3); }
.operation-config-trigger.is-open { background: rgba(76, 142, 219, 0.56); border-color: var(--accent); box-shadow: var(--shadow-glow); }

.column-config-backdrop { position: fixed; inset: 0; background: transparent; z-index: 58; }
.column-config-popover {
  position: absolute; top: calc(100% + 8px); right: 0; z-index: 59;
  width: 340px; max-height: min(80vh, 540px);
  display: grid; grid-template-rows: auto 1fr auto;
  border-radius: 15px; border: 1px solid rgba(220, 240, 255, 0.18);
  background: linear-gradient(180deg, rgba(36, 75, 112, 0.98), rgba(23, 58, 91, 0.98));
  backdrop-filter: var(--blur-panel); box-shadow: var(--shadow-panel); color: var(--text); overflow: hidden;
}
.ccp-head { display: flex; align-items: center; justify-content: space-between; padding: 11px 13px; border-bottom: 1px solid rgba(220, 240, 255, 0.12); }
.column-config-popover .ccp-title { display: inline-flex; align-items: center; gap: 7px; min-height: 0; font-size: 12px; font-weight: 800; color: var(--label-blue); padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(220, 240, 255, 0.2); background: rgba(255, 255, 255, 0.06); box-shadow: none; }
.ccp-x { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: transparent; border: 1px solid transparent; color: rgba(244, 248, 255, 0.7); cursor: pointer; transition: background 160ms ease, color 160ms ease, border-color 160ms ease; }
.ccp-x:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(220, 240, 255, 0.16); color: #fff; }
.ccp-body { overflow-y: auto; overflow-x: hidden; padding: 12px; display: grid; gap: 14px; }
.ccp-section { display: grid; gap: 9px; }
.ccp-section-head { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ccp-section-head::before, .ccp-section-head::after { content: ""; flex: 1 1 12px; height: 1px; background: rgba(220, 240, 255, 0.16); }
/* rótulo da seção: SÓ texto entre as linhas — neutraliza a pílula de `.operation-toolbar span`. */
.column-config-popover .ccp-section-label { display: inline-block; font-size: 9px; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 800; color: rgba(214, 235, 255, 0.72); white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; border: 0; background: transparent; box-shadow: none; min-height: 0; padding: 0; border-radius: 0; }
.ccp-add { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; border-radius: 9px; border: 1px solid rgba(220, 240, 255, 0.22); background: rgba(125, 200, 255, 0.1); color: var(--accent); cursor: pointer; transition: background 160ms ease, border-color 160ms ease; }
.ccp-add:hover { background: rgba(125, 200, 255, 0.2); border-color: var(--accent); }
.ccp-segmented { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 3px; border-radius: 999px; background: rgba(7, 24, 39, 0.34); border: 1px solid rgba(220, 240, 255, 0.16); }
.ccp-seg { min-height: 32px; border-radius: 999px; border: 0; background: transparent; color: rgba(202, 229, 255, 0.75); font-size: 11px; font-weight: 800; cursor: pointer; transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease; }
.ccp-seg[aria-pressed="true"] { color: #fff; background: linear-gradient(180deg, rgba(220, 240, 255, 0.24), rgba(125, 200, 255, 0.12)), rgba(76, 142, 219, 0.72); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 0 12px rgba(125, 200, 255, 0.22); }
.ccp-list { display: grid; gap: 8px; }
.ccp-item { display: grid; grid-template-columns: 29px 29px minmax(0, 1fr) auto; align-items: center; gap: 9px; min-height: 50px; padding: 0 11px; border-radius: 11px; border: 1px solid rgba(220, 240, 255, 0.14); background: rgba(255, 255, 255, 0.04); transition: border-color 160ms ease, background 160ms ease; }
.ccp-item:hover { border-color: rgba(220, 240, 255, 0.32); background: rgba(255, 255, 255, 0.06); }
.ccp-item.is-hidden { opacity: 0.5; }
.ccp-item.is-dragging { border-color: var(--accent); background: rgba(125, 200, 255, 0.12); }
.ccp-handle { display: grid; place-items: center; width: 29px; height: 29px; color: rgba(202, 229, 255, 0.55); cursor: grab; transition: color 160ms ease; }
.ccp-handle:hover { color: rgba(202, 229, 255, 0.85); }
.ccp-item-extra .ccp-handle:hover { color: rgba(202, 229, 255, 0.55); }
.ccp-eye { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid rgba(220, 240, 255, 0.18); border-radius: 999px; background: rgba(7, 24, 39, 0.22); color: var(--accent); cursor: pointer; transition: background 160ms ease, border-color 160ms ease; }
.ccp-eye:hover:not(:disabled) { background: rgba(125, 200, 255, 0.16); border-color: rgba(125, 200, 255, 0.4); }
.ccp-eye:disabled { color: rgba(202, 229, 255, 0.4); cursor: not-allowed; }
.ccp-item.is-hidden .ccp-eye { color: rgba(202, 229, 255, 0.4); }
.column-config-popover .ccp-label-input { min-height: 29px; width: 100%; border-radius: 8px; border: 1px solid transparent; background: transparent; color: var(--text); font-size: 12px; font-weight: 700; padding: 0 7px; box-shadow: none; }
.column-config-popover .ccp-label-input::placeholder { color: var(--text); opacity: 0.95; font-weight: 700; }
.column-config-popover .ccp-label-input:hover { border-color: rgba(220, 240, 255, 0.18); }
.column-config-popover .ccp-label-input:focus { outline: none; border-color: var(--primary); background: var(--input-bg); color: var(--text-dark); box-shadow: var(--shadow-glow); }
.column-config-popover .ccp-label-input:focus::placeholder { color: #5e7891; opacity: 1; }
/* wrapper dos controles à direita: SEM pílula (a caixa do ↕ vinha daqui, via `.operation-toolbar span`). */
.column-config-popover .ccp-right { display: inline-flex; align-items: center; justify-content: flex-end; gap: 5px; flex: 0 0 auto; border: 0; background: transparent; box-shadow: none; min-height: 0; padding: 0; border-radius: 0; }
.column-config-popover .ccp-tag { display: inline-flex; align-items: center; min-height: 0; font-size: 8.5px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.06em; padding: 4px 9px; border-radius: 999px; background: rgba(125, 200, 255, 0.14); color: var(--label-blue); border: 1px solid rgba(125, 200, 255, 0.26); box-shadow: none; white-space: nowrap; }
.column-config-popover .ccp-tag-fixed { background: rgba(202, 229, 255, 0.08); color: rgba(202, 229, 255, 0.62); border-color: rgba(220, 240, 255, 0.18); }
/* Controle de reordenar: chevrons empilhados SEM caixa própria. !important vence a regra da .operation-toolbar (o popover vive na toolbar) que estava reimpondo a borda/fundo. */
.column-config-popover .ccp-move { display: inline-flex; flex-direction: column; min-height: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }
.column-config-popover .ccp-move button { width: 22px; height: 14px; display: grid; place-items: center; border: 0 !important; border-radius: 5px; background: transparent !important; box-shadow: none !important; color: rgba(202, 229, 255, 0.62); cursor: pointer; transition: background 160ms ease, color 160ms ease; }
.column-config-popover .ccp-move button:hover { background: rgba(125, 200, 255, 0.18) !important; color: #fff; }
.ccp-remove { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid rgba(248, 113, 113, 0.28); border-radius: 999px; background: rgba(248, 113, 113, 0.1); color: var(--danger); cursor: pointer; transition: background 160ms ease, border-color 160ms ease; }
.ccp-remove:hover { background: rgba(248, 113, 113, 0.22); border-color: rgba(248, 113, 113, 0.45); }
.ccp-footer { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 11px 13px; border-top: 1px solid rgba(220, 240, 255, 0.12); }
.ccp-footer-right { display: inline-flex; gap: 7px; }
.ccp-restore { display: inline-flex; align-items: center; gap: 5px; background: transparent; border: 0; color: rgba(202, 229, 255, 0.75); font-size: 10px; font-weight: 800; cursor: pointer; transition: color 160ms ease; }
.ccp-restore:hover { color: #fff; }
.ccp-cancel { background: transparent; border: 1px solid rgba(220, 240, 255, 0.3); color: rgba(244, 248, 255, 0.85); border-radius: 999px; padding: 9px 14px; font-size: 11.5px; font-weight: 800; cursor: pointer; transition: background 160ms ease, border-color 160ms ease; }
.ccp-cancel:hover { background: rgba(255, 255, 255, 0.06); border-color: rgba(220, 240, 255, 0.45); }
.ccp-save { display: inline-flex; align-items: center; gap: 5px; border: 0; border-radius: 999px; padding: 9px 17px; font-size: 11.5px; font-weight: 900; color: #fff; cursor: pointer; background: linear-gradient(180deg, rgba(220, 240, 255, 0.28), rgba(125, 200, 255, 0.12)), rgba(76, 142, 219, 0.72); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26); transition: background 160ms ease; }
.ccp-save:hover { background: linear-gradient(180deg, rgba(220, 240, 255, 0.32), rgba(125, 200, 255, 0.16)), rgba(76, 142, 219, 0.86); }
.ccp-save:disabled, .ccp-cancel:disabled, .ccp-restore:disabled { opacity: 0.55; cursor: progress; }
.ccp-picker-backdrop { position: absolute; inset: 0; z-index: 2; background: rgba(7, 24, 39, 0.55); backdrop-filter: blur(2px); display: grid; place-items: center; padding: 18px; }
.ccp-picker { width: 100%; max-height: 100%; display: flex; flex-direction: column; border-radius: var(--radius-md); border: 1px solid rgba(220, 240, 255, 0.22); background: linear-gradient(180deg, rgba(42, 84, 124, 1), rgba(28, 64, 99, 1)); box-shadow: var(--shadow-panel); overflow: hidden; }
.ccp-picker-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid rgba(220, 240, 255, 0.12); }
.ccp-picker-head span { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; color: var(--label-blue); }
.ccp-picker-head button { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; background: transparent; border: 0; color: rgba(244, 248, 255, 0.75); cursor: pointer; transition: background 160ms ease; }
.ccp-picker-head button:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }
.ccp-picker-note { margin: 0; padding: 12px 16px 4px; font-size: 12.5px; color: rgba(202, 229, 255, 0.72); line-height: 1.5; }
.ccp-picker-list { overflow-y: auto; padding: 10px 16px 16px; display: grid; gap: 8px; }
.ccp-picker-item { display: grid; gap: 3px; text-align: left; padding: 13px 14px; border-radius: 12px; border: 1px solid rgba(220, 240, 255, 0.16); background: rgba(255, 255, 255, 0.04); color: var(--text); cursor: pointer; transition: background 160ms ease, border-color 160ms ease; }
.ccp-picker-item:hover { background: rgba(125, 200, 255, 0.14); border-color: var(--accent); }
.ccp-picker-item b { font-size: 14px; font-weight: 800; }
.ccp-picker-item small { font-size: 11.5px; color: rgba(202, 229, 255, 0.62); }
.ccp-picker-empty { margin: 0; font-size: 12.5px; color: rgba(202, 229, 255, 0.62); padding: 10px 0; text-align: center; }

/* Switch (estilo "chaves") — operam o mesmo single-select; ON = status atual da linha. */
.action-switch { position: relative; width: 38px; height: 22px; border-radius: 999px; border: 1px solid rgba(220, 240, 255, 0.3); background: rgba(7, 24, 39, 0.4); cursor: pointer; padding: 0; transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.action-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: rgba(202, 229, 255, 0.85); box-shadow: 0 1px 3px rgba(4, 19, 37, 0.4); transition: transform 160ms cubic-bezier(0.2, 0.7, 0.3, 1), background 160ms ease; }
.action-switch.is-on { border-color: var(--accent); background: linear-gradient(180deg, rgba(125, 200, 255, 0.3), rgba(76, 142, 219, 0.66)); box-shadow: 0 0 12px rgba(125, 200, 255, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.22); }
.action-switch.is-on::after { transform: translateX(16px); background: #fff; }
.action-switch:disabled { opacity: 0.5; cursor: progress; }

/* Reorder no header (gesto tipo planilha) */
.operation-table th[draggable="true"] { cursor: grab; }
.operation-table th.col-dragging { opacity: 0.4; }
.operation-table th.col-drop-target { box-shadow: inset 3px 0 0 var(--accent); }

/* Remover pessoa da lista (admin/coordenador) — affordance no hover do nome */
.target-name-cell { position: relative; }
.target-remove { position: absolute; top: 50%; right: 2px; transform: translateY(-50%); width: 22px; height: 22px; display: grid; place-items: center; border: 0; border-radius: 8px; background: transparent; color: rgba(202, 229, 255, 0.5); opacity: 0; cursor: pointer; transition: opacity 160ms ease, background 160ms ease, color 160ms ease; }
.operation-table tbody tr:hover .target-remove { opacity: 1; }
.target-remove:hover { background: rgba(248, 113, 113, 0.18); color: var(--danger); }
.target-remove:focus-visible { opacity: 1; outline: 2px solid var(--accent); }

/* Toast de desfazer */
.target-undo-toast { display: inline-flex; align-items: center; gap: 12px; margin: 8px 0 0; padding: 8px 14px; border-radius: 999px; background: rgba(12, 28, 48, 0.7); border: 1px solid rgba(220, 240, 255, 0.2); color: var(--text); font-size: 12px; align-self: flex-start; }
.target-undo-toast button { background: transparent; border: 0; color: var(--accent); font-weight: 900; font-size: 12px; cursor: pointer; }

/* Diálogo custom de "tirar da lista" (reversível → âmbar, não vermelho) */
.confirm-remove-modal { width: min(440px, 92vw); border-radius: var(--radius-md); border: 1px solid rgba(220, 240, 255, 0.18); background: linear-gradient(180deg, rgba(36, 75, 112, 0.98), rgba(23, 58, 91, 0.98)); box-shadow: var(--shadow-panel); color: var(--text); padding: 18px 20px; display: grid; gap: 10px; }
.confirm-remove-head { display: inline-flex; align-items: center; gap: 8px; color: var(--label-blue); }
.confirm-remove-head h3 { margin: 0; font-size: 15px; font-weight: 900; }
.confirm-remove-lead { margin: 0; font-size: 13.5px; }
.confirm-remove-note { margin: 0; font-size: 12px; opacity: 0.78; line-height: 1.5; }
.confirm-remove-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 4px; }
.crm-ghost { background: transparent; border: 1px solid rgba(220, 240, 255, 0.3); color: rgba(244, 248, 255, 0.85); border-radius: 999px; padding: 8px 14px; font-size: 12.5px; font-weight: 800; cursor: pointer; }
.crm-warn { border: 0; border-radius: 999px; padding: 8px 16px; font-size: 12.5px; font-weight: 900; color: #1b1206; cursor: pointer; background: var(--warning); }
.crm-ghost:disabled, .crm-warn:disabled { opacity: 0.55; cursor: progress; }

/* Mobile: Nome ancorado à esquerda no scroll horizontal; ⚙ vira só ícone; popover vira bottom-sheet */
@media (max-width: 560px) {
  .column-config-backdrop { background: rgba(4, 19, 37, 0.5); }
  .column-config-popover { position: fixed; inset: auto 0 0 0; width: auto; max-height: 80vh; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
  .target-remove { opacity: 0.6; }
}
@media (prefers-reduced-motion: reduce) {
  .action-switch, .action-switch::after, .operation-config-trigger, .ccp-seg, .target-remove { transition: none; }
}

/* File picker elegante (importação) — esconde o <input type=file> nativo (visual win95) e usa
   um botão no padrão do sistema. O input fica acessível (focável via label) mas visualmente oculto. */
.file-picker { display: grid; gap: 8px; color: rgba(228, 242, 255, 0.88); }
.file-picker-caption { font-size: 11px; font-weight: 800; }
.file-picker-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; align-self: start;
  min-height: 36px; padding: 0 18px; border-radius: 999px;
  border: 1px solid rgba(220, 240, 255, 0.3);
  background: linear-gradient(180deg, rgba(220, 240, 255, 0.22), rgba(125, 200, 255, 0.1)), rgba(76, 142, 219, 0.5);
  color: #ffffff; font-size: 12.5px; font-weight: 800; cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.file-picker:hover .file-picker-cta { border-color: var(--accent); box-shadow: var(--shadow-glow); background: linear-gradient(180deg, rgba(220, 240, 255, 0.28), rgba(125, 200, 255, 0.14)), rgba(76, 142, 219, 0.62); }
.file-picker:focus-within .file-picker-cta { border-color: var(--accent); box-shadow: var(--shadow-glow); }
.file-picker.is-busy { pointer-events: none; }
.file-picker.is-busy .file-picker-cta { opacity: 0.6; cursor: progress; }
.file-picker .file-picker-native { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; background: transparent; }
.file-picker-msg { color: rgba(214, 235, 255, 0.8); font-size: 11.5px; }

/* Exportação da base completa (admin) — botão do sistema + histórico */
.export-base-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; align-self: start;
  min-height: 38px; padding: 0 18px; border-radius: 999px; border: 0;
  color: #ffffff; font-size: 12.5px; font-weight: 800; cursor: pointer;
  background: linear-gradient(180deg, rgba(220, 240, 255, 0.24), rgba(125, 200, 255, 0.12)), rgba(76, 142, 219, 0.56);
  transition: background 160ms ease, box-shadow 160ms ease;
}
.export-base-btn:hover { box-shadow: var(--shadow-glow); background: linear-gradient(180deg, rgba(220, 240, 255, 0.3), rgba(125, 200, 255, 0.16)), rgba(76, 142, 219, 0.66); }
.export-base-btn:disabled, .export-base-btn.is-busy { opacity: 0.6; cursor: progress; }
.export-log-title { margin: 16px 0 6px; font-size: 12px; font-weight: 800; color: rgba(214, 235, 255, 0.86); }

/* Barra de progresso do import em lotes (C-smart) */
.import-progress { height: 8px; margin-top: 8px; border-radius: 999px; background: rgba(7, 24, 39, 0.4); border: 1px solid rgba(220, 240, 255, 0.18); overflow: hidden; }
.import-progress-bar { height: 100%; border-radius: 999px; background: linear-gradient(90deg, rgba(125, 200, 255, 0.6), var(--accent)); transition: width 200ms ease; }

/* Botão "Desfazer" no histórico de importações (admin, só lotes da UI) */
.import-undo-btn { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; border: 1px solid rgba(220, 240, 255, 0.28); background: transparent; color: rgba(244, 248, 255, 0.85); font-size: 10.5px; font-weight: 800; cursor: pointer; transition: background 160ms ease, border-color 160ms ease, color 160ms ease; }
.import-undo-btn:hover { border-color: var(--warning); color: var(--warning); background: rgba(251, 191, 36, 0.12); }

/* Wizard do import inteligente (S26) */
.crm-primary { border: 0; border-radius: 999px; padding: 8px 18px; font-size: 12.5px; font-weight: 900; color: #04121f; cursor: pointer; background: var(--accent); }
.crm-primary:disabled { opacity: 0.55; cursor: progress; }
.smart-import { display: flex; flex-direction: column; gap: 14px; }
.smart-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 8px; }
.smart-card { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 8px; border-radius: 12px; background: rgba(10, 28, 45, 0.5); border: 1px solid rgba(220, 240, 255, 0.14); }
.smart-card b { font-size: 20px; font-weight: 900; color: #f4f8ff; }
.smart-card span { font-size: 10.5px; font-weight: 700; color: rgba(220, 240, 255, 0.7); text-align: center; }
.smart-card-new b { color: var(--accent); }
.smart-card-warn b { color: var(--warning); }
.smart-effects { font-size: 12px; color: rgba(220, 240, 255, 0.82); margin: 0; }
.smart-policies { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 12px; background: rgba(7, 24, 39, 0.4); border: 1px solid rgba(220, 240, 255, 0.14); }
/* Escopado em .settings-import-box para vencer `.settings-import-box label { display:grid }`
   (que empilhava o checkbox acima do texto). flex-direction:row mantém o checkbox NA FRENTE. */
.settings-import-box .smart-policy-row { display: flex; flex-direction: row; align-items: center; gap: 8px; font-size: 12.5px; color: rgba(244, 248, 255, 0.9); flex-wrap: wrap; }
.smart-policy-row input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--accent); }
.smart-seg { display: inline-flex; gap: 4px; }
.smart-seg-wrap { flex-wrap: wrap; }
.smart-seg button { border: 1px solid rgba(220, 240, 255, 0.28); background: transparent; color: rgba(244, 248, 255, 0.8); border-radius: 999px; padding: 4px 12px; font-size: 11.5px; font-weight: 800; cursor: pointer; }
.smart-seg button.is-active { background: var(--accent); color: #04121f; border-color: var(--accent); }
.smart-review h4 { font-size: 13px; margin: 0 0 8px; color: #f4f8ff; }
.smart-review-list { display: flex; flex-direction: column; gap: 8px; max-height: 320px; overflow-y: auto; }
.smart-review-item { padding: 10px; border-radius: 10px; background: rgba(10, 28, 45, 0.45); border: 1px solid rgba(220, 240, 255, 0.12); display: flex; flex-direction: column; gap: 8px; }
.smart-review-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.smart-review-head b { font-size: 13px; color: #f4f8ff; }
.smart-tag { font-size: 10.5px; font-weight: 700; color: var(--warning); background: rgba(251, 191, 36, 0.12); padding: 2px 8px; border-radius: 999px; }
.smart-actions { display: flex; justify-content: flex-end; gap: 10px; }
.smart-done { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
