.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}.admin-shell {
  --admin-font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --admin-primary: #f97316;
  --admin-primary-hover: #ea580c;
  --admin-primary-soft: #fff7ed;
  --admin-secondary: #334155;
  --admin-secondary-soft: #f8fafc;
  --admin-danger: #e11d48;
  --admin-danger-soft: #fff1f2;
  --admin-success: #059669;
  --admin-success-soft: #ecfdf5;
  --admin-warning: #d97706;
  --admin-warning-soft: #fffbeb;
  --admin-info: #2563eb;
  --admin-info-soft: #eff6ff;
  --admin-border: #e5e7eb;
  --admin-border-strong: #e2e8f0;
  --admin-bg: #f8fafc;
  --admin-card-bg: #ffffff;
  --admin-text: #0f172a;
  --admin-muted: #64748b;
  --admin-muted-soft: #94a3b8;
  --admin-radius-sm: 12px;
  --admin-radius-md: 14px;
  --admin-radius-lg: 18px;
  --admin-radius-xl: 22px;
  --admin-radius-2xl: 24px;
  --admin-shadow-soft: 0 16px 40px rgba(15, 23, 42, 0.05);
  --admin-shadow-card: 0 12px 32px rgba(15, 23, 42, 0.045);
  --admin-transition: 0.16s ease;
  --admin-font-size-xs: 11px;
  --admin-font-size-sm: 12px;
  --admin-font-size-md: 13px;
  --admin-font-size-lg: 14px;
  --admin-font-weight-normal: 650;
  --admin-font-weight-medium: 750;
  --admin-font-weight-semibold: 850;
  --admin-font-weight-bold: 900;
  --admin-font-weight-black: 950;
  --admin-control-height-sm: 34px;
  --admin-control-height-md: 38px;
  --admin-control-height-lg: 44px;
  font-family: var(--admin-font-family);
}
.admin-shell .admin-ui-button,
.admin-shell .admin-ui-icon-button,
.admin-shell .admin-ui-input,
.admin-shell .admin-ui-textarea,
.admin-shell .admin-ui-select,
.admin-shell .admin-ui-tabs button,
.admin-shell .admin-ui-pagination button {
  transition: background-color var(--admin-transition), border-color var(--admin-transition), color var(--admin-transition), box-shadow var(--admin-transition), transform var(--admin-transition);
}
.admin-shell .admin-ui-button {
  display: inline-flex;
  min-height: var(--admin-control-height-lg);
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: var(--admin-radius-md);
  padding: 0 14px;
  font-size: var(--admin-font-size-md);
  font-weight: var(--admin-font-weight-semibold);
  outline: none;
}
.admin-shell .admin-ui-button--sm { min-height: var(--admin-control-height-md); padding: 0 12px; font-size: var(--admin-font-size-sm); }
.admin-shell .admin-ui-button--lg { min-height: 48px; padding: 0 18px; font-size: var(--admin-font-size-lg); }
.admin-shell .admin-ui-button--primary,
.admin-shell .admin-ui-button--success,
.admin-shell .admin-ui-button--warning {
  color: #fff;
  box-shadow: 0 10px 22px rgba(249, 115, 22, 0.18);
}
.admin-shell .admin-ui-button--primary {
  border-color: #fb923c;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
}
.admin-shell .admin-ui-button--primary:hover {
  background: linear-gradient(135deg, var(--admin-primary), var(--admin-primary-hover));
}
.admin-shell .admin-ui-button--secondary {
  border-color: var(--admin-border-strong);
  background: var(--admin-card-bg);
  color: var(--admin-secondary);
}
.admin-shell .admin-ui-button--outline {
  border-color: #fdba74;
  background: var(--admin-card-bg);
  color: var(--admin-primary-hover);
}
.admin-shell .admin-ui-button--secondary:hover,
.admin-shell .admin-ui-button--outline:hover,
.admin-shell .admin-ui-button--ghost:hover {
  background: var(--admin-primary-soft);
}
.admin-shell .admin-ui-button--ghost {
  border-color: transparent;
  background: transparent;
  color: var(--admin-secondary);
}
.admin-shell .admin-ui-button--danger {
  border-color: #fecaca;
  background: var(--admin-danger-soft);
  color: var(--admin-danger);
}
.admin-shell .admin-ui-button--danger:hover {
  background: #fee2e2;
}
.admin-shell .admin-ui-button--success {
  border-color: #6ee7b7;
  background: var(--admin-success);
}
.admin-shell .admin-ui-button--warning {
  border-color: #fcd34d;
  background: var(--admin-warning);
}
.admin-shell .admin-ui-button--icon {
  width: var(--admin-control-height-lg);
  padding: 0;
}
.admin-shell .admin-ui-button:active,
.admin-shell .admin-ui-icon-button:active,
.admin-shell .admin-ui-tabs button:active,
.admin-shell .admin-ui-pagination button:active {
  transform: scale(0.98);
}
.admin-shell .admin-ui-input,
.admin-shell .admin-ui-textarea,
.admin-shell .admin-ui-select {
  min-height: var(--admin-control-height-lg);
  min-width: 0;
  border: 1px solid var(--admin-border-strong);
  border-radius: var(--admin-radius-md);
  background: var(--admin-card-bg);
  padding: 0 13px;
  color: var(--admin-text);
  font-size: var(--admin-font-size-md);
  font-weight: var(--admin-font-weight-medium);
  outline: none;
}
.admin-shell .admin-ui-textarea {
  min-height: 118px;
  padding: 12px 13px;
  line-height: 1.55;
  resize: vertical;
}
.admin-shell .admin-ui-input--sm,
.admin-shell .admin-ui-select--sm { min-height: var(--admin-control-height-md); }
.admin-shell .admin-ui-input:focus,
.admin-shell .admin-ui-textarea:focus,
.admin-shell .admin-ui-select:focus {
  border-color: #fb923c;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12);
}
.admin-shell .admin-ui-badge {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 10px;
  font-size: var(--admin-font-size-xs);
  font-weight: var(--admin-font-weight-bold);
  line-height: 1;
}
.admin-shell .admin-ui-badge--success { background: var(--admin-success-soft); color: var(--admin-success); }
.admin-shell .admin-ui-badge--warning { background: var(--admin-warning-soft); color: var(--admin-warning); }
.admin-shell .admin-ui-badge--danger { background: var(--admin-danger-soft); color: var(--admin-danger); }
.admin-shell .admin-ui-badge--info { background: var(--admin-info-soft); color: var(--admin-info); }
.admin-shell .admin-ui-badge--brand { background: var(--admin-primary-soft); color: var(--admin-primary-hover); }
.admin-shell .admin-ui-badge--neutral { background: #f1f5f9; color: #475569; }
.admin-shell .admin-ui-card {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-xl);
  background: var(--admin-card-bg);
}
.admin-shell .admin-ui-card--default {
  box-shadow: var(--admin-shadow-soft);
}
.admin-shell .admin-ui-card--elevated {
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}
.admin-shell .admin-ui-card--compact {
  border-radius: var(--admin-radius-lg);
  box-shadow: var(--admin-shadow-card);
}
.admin-shell .admin-ui-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  background: var(--admin-card-bg);
  padding: 7px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}
.admin-shell .admin-ui-tabs button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: var(--admin-radius-md);
  padding: 0 14px;
  color: #475569;
  font-size: var(--admin-font-size-md);
  font-weight: var(--admin-font-weight-semibold);
}
.admin-shell .admin-ui-tabs button em {
  display: grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  background: #f1f5f9;
  color: var(--admin-muted);
  font-size: var(--admin-font-size-xs);
  font-style: normal;
  font-weight: var(--admin-font-weight-bold);
}
.admin-shell .admin-ui-tabs button.active {
  border-color: #fdba74;
  background: var(--admin-primary-soft);
  color: var(--admin-primary-hover);
}
.admin-shell .admin-ui-tabs button.active em {
  background: #fb923c;
  color: #fff;
}
.admin-shell .admin-ui-table {
  overflow: hidden;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-xl);
  background: var(--admin-card-bg);
  box-shadow: var(--admin-shadow-soft);
}
.admin-shell .admin-ui-table-head {
  border-bottom: 1px solid var(--admin-border);
  background: var(--admin-bg);
  padding: 13px 16px;
  color: var(--admin-muted);
  font-size: var(--admin-font-size-xs);
  font-weight: var(--admin-font-weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.admin-shell .admin-ui-table-body {
  display: grid;
}
.admin-shell .admin-ui-table-row {
  min-height: 76px;
  border-bottom: 1px solid #eef2f7;
  padding: 14px 16px;
  transition: background-color var(--admin-transition), box-shadow var(--admin-transition);
}
.admin-shell .admin-ui-table-row:last-child {
  border-bottom: 0;
}
.admin-shell .admin-ui-table-row:hover {
  background: var(--admin-primary-soft);
}
.admin-shell .admin-ui-table-row.is-selected {
  background: linear-gradient(90deg, rgba(255, 247, 237, 0.98), #ffffff);
  box-shadow: inset 3px 0 0 var(--admin-primary);
}
.admin-shell .admin-ui-pagination {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.admin-shell .admin-ui-pagination button,
.admin-shell .admin-ui-icon-button {
  display: grid;
  width: var(--admin-control-height-md);
  height: var(--admin-control-height-md);
  place-items: center;
  border: 1px solid var(--admin-border-strong);
  border-radius: var(--admin-radius-sm);
  background: var(--admin-card-bg);
  color: #475569;
  font-size: var(--admin-font-size-md);
  font-weight: var(--admin-font-weight-semibold);
}
.admin-shell .admin-ui-pagination button:hover,
.admin-shell .admin-ui-icon-button:hover {
  background: var(--admin-primary-soft);
  color: var(--admin-primary-hover);
}
.admin-shell .admin-ui-pagination button.active {
  border-color: #fb923c;
  background: var(--admin-primary);
  color: #fff;
}
.admin-shell .admin-ui-pagination button:disabled {
  opacity: 0.45;
  pointer-events: none;
}
.admin-shell .admin-ui-icon-button--danger {
  border-color: #fecaca;
  background: var(--admin-danger-soft);
  color: var(--admin-danger);
}
.admin-shell .admin-ui-icon-button--primary {
  border-color: #fdba74;
  background: var(--admin-primary-soft);
  color: var(--admin-primary-hover);
}
.admin-shell .admin-ui-section {
  display: grid;
  gap: 18px;
}
.admin-shell .admin-ui-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-xl);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 247, 237, 0.92)),
    var(--admin-card-bg);
  padding: 20px;
  box-shadow: var(--admin-shadow-soft);
}
.admin-shell .admin-ui-section-head p {
  color: var(--admin-primary);
  font-size: var(--admin-font-size-sm);
  font-weight: var(--admin-font-weight-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.admin-shell .admin-ui-section-head h1 {
  margin-top: 5px;
  color: var(--admin-text);
  font-size: 28px;
  font-weight: var(--admin-font-weight-black);
  letter-spacing: 0;
}
.admin-shell .admin-ui-section-head span {
  display: block;
  margin-top: 5px;
  color: var(--admin-muted);
  font-size: var(--admin-font-size-lg);
  font-weight: var(--admin-font-weight-normal);
}
.admin-shell .admin-ui-panel {
  overflow: hidden;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-xl);
  background: var(--admin-card-bg);
  box-shadow: var(--admin-shadow-soft);
}
.admin-shell .admin-ui-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #eef2f7;
  padding: 18px;
}
.admin-shell .admin-ui-panel-head h2 {
  color: var(--admin-text);
  font-size: 18px;
  font-weight: var(--admin-font-weight-black);
}
.admin-shell .admin-ui-panel-head p {
  margin-top: 4px;
  color: var(--admin-muted);
  font-size: var(--admin-font-size-md);
  font-weight: var(--admin-font-weight-normal);
}
.admin-shell .admin-ui-panel-body {
  padding: 16px;
}
.admin-shell .admin-ui-stat-card {
  display: flex;
  min-width: 0;
  min-height: 112px;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-xl);
  background: var(--admin-card-bg);
  padding: 16px;
  box-shadow: var(--admin-shadow-card);
}
.admin-shell .admin-ui-stat-icon {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: var(--admin-radius-lg);
  background: var(--admin-primary-soft);
  color: var(--admin-primary-hover);
  font-size: 18px;
  font-weight: var(--admin-font-weight-black);
}
.admin-shell .admin-ui-stat-card p,
.admin-shell .admin-ui-stat-card small {
  color: var(--admin-muted);
  font-size: var(--admin-font-size-sm);
  font-weight: var(--admin-font-weight-semibold);
}
.admin-shell .admin-ui-stat-card strong {
  display: block;
  margin: 4px 0 5px;
  color: var(--admin-text);
  font-size: 24px;
  font-weight: var(--admin-font-weight-black);
  line-height: 1;
}
.admin-shell .admin-ui-stat-card--blue .admin-ui-stat-icon { background: var(--admin-info-soft); color: var(--admin-info); }
.admin-shell .admin-ui-stat-card--green .admin-ui-stat-icon { background: var(--admin-success-soft); color: var(--admin-success); }
.admin-shell .admin-ui-stat-card--red .admin-ui-stat-icon { background: var(--admin-danger-soft); color: var(--admin-danger); }
.admin-shell .admin-ui-stat-card--amber .admin-ui-stat-icon { background: var(--admin-warning-soft); color: var(--admin-warning); }
.admin-shell .admin-ui-stat-card--slate .admin-ui-stat-icon,
.admin-shell .admin-ui-stat-card--default .admin-ui-stat-icon { background: #f1f5f9; color: var(--admin-muted); }
.admin-shell {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 260px 1fr;
  background: #f6f7fb;
  color: #172033;
}
.admin-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  border-right: 1px solid #e5e7eb;
  background: #fff;
  padding: 20px 16px;
  font-family: system-ui, Arial, sans-serif;
}
.admin-brand {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 18px;
}
.admin-brand span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: white;
  font-size: 20px;
  font-weight: 950;
  flex: 0 0 auto;
}
.admin-brand strong {
  display: block;
  font-size: 16px;
  font-weight: 950;
}
.admin-brand small {
  display: block;
  color: #7a8294;
  font-size: 11px;
  font-weight: 700;
}
.admin-nav-group {
  margin-top: 12px;
}
.admin-nav-group-title {
  margin: 0 0 8px;
  padding: 0 4px;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.admin-sidebar button,
.admin-view-store {
  display: flex;
  width: 100%;
  gap: 10px;
  align-items: center;
  border-radius: 12px;
  padding: 12px 12px;
  color: #4b5568;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
}
.admin-sidebar button:hover {
  background: #f3f4f6;
}
.admin-sidebar button:active,
.admin-view-store:active {
  transform: scale(0.98);
}
.admin-sidebar button.active {
  border-left: 3px solid #f97316;
  background: #fff7ed;
  color: #c2410c;
  font-weight: 900;
}
.admin-view-store {
  margin-top: auto;
  background: #0f172a;
  color: white;
  justify-content: center;
}
.admin-view-store:hover {
  background: #1e293b;
}
.admin-main {
  padding: 28px;
}
.admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}
.admin-topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-unsaved-badge {
  border: 1px solid #fed7aa;
  border-radius: 999px;
  background: #fff7ed;
  padding: 8px 12px;
  color: #c2410c;
  font-size: 12px;
  font-weight: 900;
}
.flaticon-mask {
  display: inline-block;
  flex: 0 0 auto;
  background-color: currentColor;
  vertical-align: -0.14em;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.flaticon-credit {
  margin: 8px 16px 0;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.68);
  padding: 10px 12px;
  text-align: center;
  color: rgba(58, 31, 20, 0.46);
  font-size: 10px;
  font-weight: 700;
}
.flaticon-credit a {
  color: #ff6a00;
  font-weight: 900;
}
.admin-topbar h1 {
  font-size: 30px;
  font-weight: 950;
}
.admin-topbar p {
  margin-top: 5px;
  color: #7a8294;
  font-size: 14px;
  font-weight: 750;
}
.admin-topbar button,
.admin-panel-head button,
.admin-secondary {
  border-radius: 14px;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  padding: 12px 16px;
  color: white;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 10px 22px rgba(255, 90, 31, 0.18);
}
.admin-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.admin-stat,
.admin-panel {
  border: 1px solid #e7e9f0;
  border-radius: 22px;
  background: white;
  box-shadow: 0 12px 28px rgba(23, 32, 51, 0.06);
}
.admin-stat {
  padding: 22px;
}
.admin-stat span {
  color: #7a8294;
  font-size: 13px;
  font-weight: 850;
}
.admin-stat strong {
  display: block;
  margin-top: 10px;
  font-size: 28px;
  font-weight: 950;
}
.admin-stack {
  display: grid;
  gap: 18px;
}
.admin-panel {
  padding: 18px;
}
.admin-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.admin-panel-head h2 {
  font-size: 18px;
  font-weight: 950;
}
.admin-table,
.admin-mini-grid {
  display: grid;
  gap: 10px;
}
.admin-row {
  display: grid;
  grid-template-columns: 58px 1.2fr 0.8fr 120px 1.6fr 80px 70px;
  gap: 10px;
  align-items: center;
  border-radius: 16px;
  background: #f8f9fc;
  padding: 10px;
}
.admin-row img {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  -o-object-fit: cover;
     object-fit: cover;
}
.admin-mini-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-ship-compact-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.admin-ship-compact-item {
  gap: 6px;
  border-radius: 12px;
  padding: 10px;
}
.admin-ship-compact-item label {
  color: #4b5568;
  font-size: 12px;
  font-weight: 800;
}
.admin-ship-compact-item .admin-input {
  min-height: 40px;
  padding: 9px 10px;
  font-size: 13px;
}
.admin-ship-toggle-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.admin-ship-note-item {
  grid-column: span 2;
}
.admin-ship-note-item textarea.admin-input {
  min-height: 40px;
  height: 40px;
  resize: none;
}
.admin-mini-card,
.admin-edit-card {
  display: grid;
  gap: 10px;
  border-radius: 16px;
  background: #f8f9fc;
  padding: 12px;
}
.admin-edit-card {
  grid-template-columns: 1fr auto auto;
  align-items: center;
  margin-bottom: 10px;
}
.admin-branch-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.admin-branch-main {
  display: grid;
  gap: 10px;
}
.admin-branch-top-grid {
  grid-template-columns: 1.2fr 1.3fr 0.9fr 1.2fr;
}
.admin-branch-top-grid .admin-ui-input,
.admin-branch-top-grid .admin-input {
  width: 100%;
}
.admin-branch-time-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.admin-branch-bottom-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.admin-branch-actions {
  display: grid;
  align-content: start;
  padding-top: 2px;
}
.admin-edit-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.admin-content-map {
  display: grid;
  gap: 14px;
}
.admin-content-card {
  border: 1px solid #e9d39b;
  border-radius: 18px;
  background: #fffdf8;
  padding: 16px;
}
.admin-content-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.admin-content-head span {
  color: #b77900;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}
.admin-content-head h3 {
  margin-top: 5px;
  color: #172033;
  font-size: 20px;
  font-weight: 500;
}
.admin-content-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.admin-content-fields label {
  display: grid;
  gap: 6px;
  color: #6b7280;
  font-size: 12px;
}
.admin-content-fields label.wide {
  grid-column: span 2;
}
.admin-content-fields input {
  min-width: 0;
  border: 1px solid #e2e5ee;
  border-radius: 12px;
  background: white;
  padding: 11px 12px;
  color: #172033;
  font-size: 13px;
  outline: none;
}
.admin-help-text {
  margin-top: 12px;
  color: #7a8294;
  font-size: 13px;
  line-height: 1.45;
}
.admin-promo-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  border: 1px solid #ffe0b8;
  border-radius: 18px;
  background: #fff9ef;
  padding: 14px;
}
.admin-promo-toolbar p {
  color: #7a4b15;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}
.admin-info-btn {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 14px;
  background: #ff6a00;
  color: white;
  font-size: 18px;
  font-weight: 950;
  box-shadow: 0 10px 22px rgba(255, 106, 0, 0.18);
}
.admin-smart-promo-list {
  display: grid;
  gap: 14px;
}
.admin-smart-promo-card {
  display: grid;
  gap: 14px;
  border: 1px solid #ead7aa;
  border-radius: 20px;
  background: #fffdf8;
  padding: 16px;
}
.admin-smart-promo-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.admin-smart-promo-head span {
  color: #b77900;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.admin-smart-promo-head strong {
  display: block;
  margin-top: 4px;
  color: #172033;
  font-size: 18px;
  font-weight: 950;
}
.admin-smart-promo-head small {
  display: block;
  margin-top: 4px;
  color: #7a8294;
  font-size: 12px;
  font-weight: 800;
}
.admin-smart-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.admin-smart-grid label {
  display: grid;
  gap: 6px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 850;
}
.admin-smart-grid input,
.admin-smart-grid select {
  min-width: 0;
  border: 1px solid #e2e5ee;
  border-radius: 12px;
  background: white;
  padding: 11px 12px;
  color: #172033;
  font-size: 13px;
  font-weight: 800;
  outline: none;
}
.admin-place-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.admin-place-row span {
  color: #7a8294;
  font-size: 12px;
  font-weight: 950;
}
.admin-place-row button {
  border: 1px solid #e6eaf2;
  border-radius: 999px;
  background: white;
  padding: 9px 12px;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}
.admin-place-row button.active {
  border-color: #ffb35c;
  background: #fff3df;
  color: #ff6a00;
}
.admin-supabase-note {
  border-radius: 16px;
  background: #eefbf3;
  padding: 12px;
  color: #17633a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}
.admin-supabase-note code,
.admin-guide-body code {
  border-radius: 8px;
  background: rgba(23, 32, 51, 0.08);
  padding: 2px 6px;
  font-size: 12px;
}
.admin-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  background: rgba(23, 32, 51, 0.45);
  padding: 24px;
}
.admin-guide-modal {
  width: min(760px, 100%);
  max-height: min(760px, calc(100vh - 48px));
  overflow: auto;
  border-radius: 24px;
  background: white;
  padding: 22px;
  box-shadow: 0 30px 80px rgba(23, 32, 51, 0.28);
}
.admin-guide-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.admin-guide-head span {
  color: #ff6a00;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}
.admin-guide-head h2 {
  margin-top: 5px;
  font-size: 24px;
  font-weight: 950;
}
.admin-guide-head button {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: #fff3ec;
  color: #ff4f17;
  font-size: 22px;
  font-weight: 900;
}
.admin-guide-body {
  display: grid;
  gap: 12px;
}
.admin-guide-body p {
  border-radius: 16px;
  background: #f8f9fc;
  padding: 14px;
  color: #4b5563;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.55;
}
.admin-input {
  min-width: 0;
  border: 1px solid #e2e5ee;
  border-radius: 12px;
  background: white;
  padding: 11px 12px;
  color: #172033;
  font-size: 13px;
  font-weight: 800;
  outline: none;
}
.admin-danger {
  border-radius: 12px;
  background: #fff0f0;
  padding: 10px 12px;
  color: #e33b3b;
  font-size: 12px;
  font-weight: 950;
}
.admin-secondary {
  width: -moz-fit-content;
  width: fit-content;
  background: #172033;
  box-shadow: none;
}
.admin-switch input {
  display: none;
}
.admin-order-list {
  display: grid;
  gap: 10px;
}
.admin-order-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #ffffff;
  padding: 10px 12px;
}
.admin-order-item strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-weight: 800;
}
.admin-order-item small {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 600;
}
.admin-order-item span {
  display: block;
  color: #f97316;
  text-align: right;
  font-size: 14px;
  font-weight: 800;
}
.admin-switch span {
  position: relative;
  display: block;
  width: 48px;
  height: 28px;
  border-radius: 999px;
  background: #d9deea;
}
.admin-switch span::after {
  position: absolute;
  left: 4px;
  top: 4px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: white;
  content: "";
  transition: transform 0.2s ease;
}
.admin-switch input:checked + span {
  background: #ff6a00;
}
.admin-switch input:checked + span::after {
  transform: translateX(20px);
}
.admin-switch-lg span {
  width: 54px;
  height: 32px;
}
.admin-switch-lg span::after {
  width: 24px;
  height: 24px;
}
.admin-switch-lg input:checked + span::after {
  transform: translateX(22px);
}
.admin-shell .admin-appearance-page {
  display: grid;
  gap: 18px;
  font-family: system-ui, Arial, sans-serif;
}
.admin-shell .admin-appearance-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}
.admin-shell .admin-appearance-page-head h1 {
  color: var(--admin-text);
  font-size: 28px;
  font-weight: 850;
}
.admin-shell .admin-appearance-page-head p {
  margin-top: 6px;
  color: var(--admin-muted);
  font-size: 14px;
  font-weight: 500;
}
.admin-shell .admin-appearance-header-save {
  white-space: nowrap;
}
.admin-shell .admin-appearance-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.admin-shell .admin-appearance-stat {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 18px;
}
.admin-shell .admin-appearance-stat.is-active {
  border-color: #fdba74;
  background: linear-gradient(135deg, #fff7ed, #fff);
}
.admin-shell .admin-appearance-stat span {
  color: #475569;
  font-size: 13px;
  font-weight: 750;
}
.admin-shell .admin-appearance-stat strong {
  color: var(--admin-text);
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}
.admin-shell .admin-appearance-layout {
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(0, 1.35fr);
  gap: 18px;
  align-items: start;
  border: 0;
  background: transparent;
  padding: 0;
}
.admin-shell .admin-appearance-col {
  min-width: 0;
}
.admin-shell .admin-appearance-nav {
  overflow: hidden;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-xl);
  background: var(--admin-card-bg);
  box-shadow: var(--admin-shadow-soft);
}
.admin-shell .admin-appearance-nav-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 14px;
}
.admin-shell .admin-appearance-nav-head strong {
  display: block;
  color: var(--admin-text);
  font-size: 17px;
  font-weight: 850;
}
.admin-shell .admin-appearance-nav-head small {
  display: block;
  margin-top: 5px;
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}
.admin-shell .admin-appearance-filterbar {
  border-top: 1px solid #f1f5f9;
  border-bottom: 1px solid #f1f5f9;
  padding: 14px 18px;
}
.admin-shell .admin-appearance-search {
  width: 100%;
}
.admin-shell .admin-appearance-list {
  display: grid;
  max-height: 68vh;
  overflow: auto;
}
.admin-shell .admin-appearance-fixed-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 82px;
  border: 0;
  border-bottom: 1px solid #eef2f7;
  background: #fff;
  padding: 14px 18px;
  text-align: left;
  transition: background-color var(--admin-transition), box-shadow var(--admin-transition);
}
.admin-shell .admin-appearance-fixed-item:last-child {
  border-bottom: 0;
}
.admin-shell .admin-appearance-fixed-item:hover {
  background: var(--admin-primary-soft);
}
.admin-shell .admin-appearance-fixed-item.selected {
  background: linear-gradient(90deg, rgba(255, 247, 237, 0.98), #fff);
  box-shadow: inset 3px 0 0 var(--admin-primary);
}
.admin-shell .admin-appearance-row-main {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
}
.admin-shell .admin-appearance-row-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 14px;
  background: #fff7ed;
  color: var(--admin-primary);
  font-size: 17px;
  font-weight: 900;
}
.admin-shell .admin-appearance-fixed-item strong {
  display: block;
  color: var(--admin-text);
  font-size: 14px;
  font-weight: 850;
}
.admin-shell .admin-appearance-fixed-item small {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-shell .admin-appearance-row-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-shell .admin-appearance-form {
  position: sticky;
  top: 88px;
  max-width: none;
}
.admin-shell .admin-appearance-editor {
  display: grid;
  gap: 16px;
  padding: 18px;
}
.admin-shell .admin-appearance-subhead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.admin-shell .admin-appearance-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-shell .admin-appearance-subhead h3 {
  color: var(--admin-text);
  font-size: 20px;
  font-weight: 850;
}
.admin-shell .admin-appearance-subhead p {
  margin-top: 5px;
  color: var(--admin-muted);
  font-size: 13px;
  font-weight: 600;
}
.admin-shell .admin-appearance-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 16px;
  align-items: start;
}
.admin-shell .admin-appearance-side {
  display: grid;
  gap: 14px;
}
.admin-shell .admin-appearance-preview,
.admin-shell .admin-appearance-group {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  background: #fff;
  padding: 16px;
}
.admin-shell .admin-appearance-preview strong,
.admin-shell .admin-popup-upload strong,
.admin-shell .admin-appearance-group h4 {
  color: var(--admin-text);
  font-size: 14px;
  font-weight: 850;
}
.admin-shell .admin-appearance-image-frame {
  position: relative;
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid #fed7aa;
  border-radius: 18px;
  background: #fff7ed;
  aspect-ratio: 16 / 7;
}
.admin-shell .admin-appearance-image-frame img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.admin-shell .admin-appearance-upload-inline {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 3;
}
.admin-shell .admin-appearance-upload-inline input,
.admin-shell .admin-popup-upload-trigger input {
  display: none;
}
.admin-shell .admin-appearance-upload-inline span,
.admin-shell .admin-popup-upload-trigger span {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid #fdba74;
  border-radius: var(--admin-radius-md);
  background: rgba(255, 255, 255, 0.94);
  padding: 0 13px;
  color: var(--admin-primary-hover);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}
.admin-shell .admin-appearance-upload-note,
.admin-shell .admin-help-text {
  margin-top: 8px;
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}
.admin-shell .admin-appearance-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.admin-shell .admin-appearance-fields .wide {
  grid-column: 1 / -1;
}
.admin-shell .admin-appearance-fields label {
  display: grid;
  gap: 7px;
  color: var(--admin-text);
  font-size: 12px;
  font-weight: 800;
}
.admin-shell .admin-appearance-warning,
.admin-shell .admin-appearance-ok {
  display: grid;
  gap: 6px;
  border-radius: var(--admin-radius-lg);
  padding: 14px;
  font-size: 12px;
  font-weight: 700;
}
.admin-shell .admin-appearance-warning {
  border: 1px solid #fed7aa;
  background: #fff7ed;
  color: #9a3412;
}
.admin-shell .admin-appearance-ok {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}
.admin-shell .admin-appearance-warning strong,
.admin-shell .admin-appearance-ok strong {
  color: inherit;
  font-size: 13px;
  font-weight: 850;
}
.admin-shell .admin-appearance-warning p,
.admin-shell .admin-appearance-ok p {
  margin: 0;
}
.admin-shell .admin-delivery-app-branches,
.admin-shell .admin-delivery-app-grid {
  display: grid;
  gap: 12px;
}
.admin-shell .admin-delivery-app-branch {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  background: #f8fafc;
  padding: 12px;
}
.admin-shell .admin-delivery-app-row {
  display: grid;
  grid-template-columns: auto 120px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 1px solid #eef2f7;
  border-radius: var(--admin-radius-md);
  background: #fff;
  padding: 10px;
}
.admin-shell .admin-delivery-app-row strong {
  color: var(--admin-text);
  font-size: 13px;
  font-weight: 850;
}
.admin-shell .admin-banner-order-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.admin-shell .admin-banner-order-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  background: #fff;
  padding: 10px;
  cursor: grab;
  transition: background-color var(--admin-transition), border-color var(--admin-transition);
}
.admin-shell .admin-banner-order-item.selected {
  border-color: #fdba74;
  background: #fff7ed;
}
.admin-shell .admin-banner-order-item.dragging {
  opacity: 0.55;
  cursor: grabbing;
}
.admin-shell .admin-banner-order-main {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  text-align: left;
}
.admin-shell .admin-banner-order-main img {
  width: 88px;
  height: 54px;
  border-radius: 12px;
  -o-object-fit: cover;
     object-fit: cover;
}
.admin-shell .admin-banner-order-main strong {
  display: block;
  color: var(--admin-text);
  font-size: 13px;
  font-weight: 850;
}
.admin-shell .admin-banner-order-main small {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 650;
}
.admin-shell .admin-banner-order-actions {
  display: grid;
  gap: 6px;
}
.admin-shell .admin-popup-upload {
  display: grid;
  gap: 10px;
}
.admin-shell .admin-popup-upload-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  border: 1px solid #eef2f7;
  border-radius: var(--admin-radius-lg);
  background: #f8fafc;
  padding: 10px;
}
.admin-shell .admin-popup-upload-row img {
  width: 92px;
  height: 58px;
  border-radius: 12px;
  -o-object-fit: cover;
     object-fit: cover;
}
.admin-shell .admin-crop-modal {
  width: min(880px, 100%);
  border-radius: var(--admin-radius-xl);
  background: #fff;
  padding: 16px;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.25);
}
.admin-shell .admin-crop-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.admin-shell .admin-crop-head h3 {
  color: var(--admin-text);
  font-size: 20px;
  font-weight: 850;
}
.admin-shell .admin-crop-head p {
  margin-top: 5px;
  color: var(--admin-muted);
  font-size: 13px;
  font-weight: 600;
}
.admin-shell .admin-crop-viewport {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-top: 14px;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  background: #f1f5f9;
  aspect-ratio: 16 / 7;
  cursor: grab;
}
.admin-shell .admin-crop-viewport img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform-origin: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.admin-shell .admin-crop-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
}
.admin-shell .admin-crop-controls label {
  display: grid;
  gap: 5px;
  color: var(--admin-text);
  font-size: 12px;
  font-weight: 800;
}
.admin-shell .admin-crop-controls input[type="range"] {
  width: min(320px, 72vw);
}
.admin-shell .admin-crop-actions {
  display: flex;
  gap: 8px;
}
.admin-shell .admin-appearance-promo-grid {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 14px;
}
.admin-shell .admin-appearance-promo-list,
.admin-shell .admin-appearance-promo-form {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  background: #fff;
  padding: 12px;
}
.admin-shell .admin-appearance-promo-form {
  display: grid;
  align-content: start;
  gap: 12px;
}
.admin-shell .admin-appearance-promo-form label {
  display: grid;
  gap: 6px;
  color: var(--admin-text);
  font-size: 12px;
  font-weight: 800;
}
@media (max-width: 1180px) {
  .admin-shell .admin-appearance-layout,
  .admin-shell .admin-appearance-main-grid {
    grid-template-columns: 1fr;
  }

  .admin-shell .admin-appearance-form {
    position: static;
  }
}
@media (max-width: 860px) {
  .admin-shell .admin-appearance-page-head,
  .admin-shell .admin-appearance-subhead,
  .admin-shell .admin-crop-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-shell .admin-appearance-stats,
  .admin-shell .admin-appearance-fields {
    grid-template-columns: 1fr;
  }

  .admin-shell .admin-appearance-fixed-item,
  .admin-shell .admin-delivery-app-row,
  .admin-shell .admin-popup-upload-row {
    grid-template-columns: 1fr;
  }

  .admin-shell .admin-appearance-row-actions {
    justify-content: space-between;
  }
}
.admin-menu-workspace {
  display: grid;
  gap: 14px;
}
.admin-menu-tabs {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  gap: 8px;
  border: 1px solid #efd27b;
  border-radius: 14px;
  background: white;
  padding: 6px;
}
.admin-menu-tabs button {
  border-radius: 10px;
  padding: 11px 18px;
  color: #7a5c17;
  font-size: 18px;
  font-weight: 950;
}
.admin-menu-tabs button.active {
  background: #f5c426;
  color: #111827;
}
.admin-search {
  width: 100%;
  border: 1px solid #efd27b;
  border-radius: 12px;
  background: white;
  padding: 14px;
  color: #172033;
  font-size: 15px;
  font-weight: 800;
  outline: none;
}
.admin-category-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 12px 0 16px;
}
.admin-category-chips button {
  border: 1px solid #efd27b;
  border-radius: 999px;
  background: white;
  padding: 9px 14px;
  color: #755d20;
  font-size: 13px;
  font-weight: 950;
}
.admin-category-chips button.active {
  background: #f5c426;
  color: white;
}
.admin-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.admin-product-card {
  display: flex;
  min-height: 78px;
  align-items: center;
  gap: 10px;
  border: 1px solid #efd27b;
  border-radius: 12px;
  background: #fffdf8;
  padding: 10px;
  text-align: left;
}
.admin-product-card img {
  width: 58px;
  height: 58px;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
.admin-product-card strong,
.admin-product-card em {
  display: block;
}
.admin-product-card strong {
  color: #111827;
  font-size: 15px;
  font-weight: 950;
}
.admin-product-card em {
  margin-top: 4px;
  color: #b88400;
  font-size: 14px;
  font-style: normal;
  font-weight: 950;
}
.admin-category-manager {
  margin-top: 18px;
  border-top: 1px solid #efd27b;
  padding-top: 18px;
}
.admin-category-manager h3 {
  margin-bottom: 12px;
  font-size: 24px;
  font-weight: 950;
}
.admin-category-row {
  display: grid;
  grid-template-columns: 28px 1fr 34px 34px 34px;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
  border-radius: 12px;
  transition: background 0.18s ease, opacity 0.18s ease, transform 0.18s ease;
}
.admin-category-row.dragging {
  background: #fff5db;
  opacity: 0.42;
  transform: scale(0.985);
}
.admin-category-row span,
.admin-category-row button {
  display: grid;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: #fff7e8;
  color: #c98900;
  font-weight: 950;
}
.admin-category-row span {
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.admin-category-row span:active {
  cursor: grabbing;
}
.admin-category-row button:last-child {
  background: #fff0f0;
  color: #e33b3b;
}
.admin-category-row input {
  border: 1px solid #efd27b;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 15px;
  font-weight: 850;
  outline: none;
}
.admin-category-drag-ghost {
  position: fixed;
  z-index: 120;
  display: grid;
  width: min(520px, 46vw);
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: center;
  pointer-events: none;
  border: 1px solid rgba(240, 190, 80, 0.82);
  border-radius: 14px;
  background: rgba(255, 253, 248, 0.86);
  padding: 10px;
  box-shadow: 0 18px 44px rgba(97, 61, 0, 0.18);
  backdrop-filter: blur(10px);
  transform: rotate(-1deg);
}
.admin-category-drag-ghost span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: #fff3d7;
  color: #c98900;
  font-weight: 950;
}
.admin-category-drag-ghost strong {
  overflow: hidden;
  color: #1d1720;
  font-size: 15px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  background: rgba(23, 32, 51, 0.42);
  padding: 24px;
}
.admin-product-modal {
  width: min(920px, 100%);
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 24px;
  background: white;
  padding: 22px;
  box-shadow: 0 30px 80px rgba(23, 32, 51, 0.28);
}
.admin-product-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.admin-product-modal-head h2 {
  font-size: 24px;
  font-weight: 950;
}
.admin-product-modal-head p {
  margin-top: 5px;
  color: #7a8294;
  font-weight: 750;
}
.admin-product-modal-head button {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 999px;
  background: #fff0df;
  color: #ff6a00;
  font-weight: 950;
}
.admin-product-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.admin-product-form label {
  display: grid;
  gap: 7px;
  color: #4b5568;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}
.admin-product-form .wide {
  grid-column: span 2;
}
.admin-product-form input,
.admin-product-form select,
.admin-product-form textarea {
  border: 1px solid #e2e5ee;
  border-radius: 12px;
  padding: 12px;
  color: #172033;
  font-size: 14px;
  font-weight: 800;
  outline: none;
  text-transform: none;
}
.admin-product-form textarea {
  resize: vertical;
}
.admin-upload-box {
  align-content: start;
  border: 1px dashed #f0be50;
  border-radius: 16px;
  background: #fffaf0;
  padding: 13px;
}
.admin-upload-box > span {
  color: #a66b00;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}
.admin-upload-box input[type="file"] {
  border: 1px solid #f4d992;
  background: white;
  cursor: pointer;
}
.admin-upload-box small {
  color: #8a7280;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
  text-transform: none;
}
.admin-product-preview {
  display: grid;
  gap: 8px;
  grid-row: span 2;
  border-radius: 16px;
  background: #fff7e8;
  padding: 12px;
}
.admin-product-preview img {
  width: 100%;
  aspect-ratio: 1.4;
  border-radius: 12px;
  -o-object-fit: cover;
     object-fit: cover;
}
.admin-product-preview strong {
  font-size: 16px;
  font-weight: 950;
}
.admin-product-preview span {
  color: #ff6a00;
  font-weight: 950;
}
.admin-visible-row {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  border-radius: 16px;
  background: #f8f9fc;
  padding: 14px;
}
.admin-option-section {
  display: grid;
  grid-column: 1 / -1;
  gap: 12px;
  margin-top: 4px;
  border: 1px solid #f1c263;
  border-radius: 18px;
  background: #fffdf8;
  padding: 16px;
}
.admin-option-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.admin-option-head span {
  color: #b98500;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}
.admin-option-head h3 {
  margin-top: 6px;
  color: #1d1720;
  font-size: 24px;
  font-weight: 950;
}
.admin-option-head p {
  margin-top: 6px;
  color: #765d3f;
  font-size: 13px;
  font-weight: 800;
}
.admin-option-head button,
.admin-add-option {
  border: 1px solid #f0be50;
  border-radius: 12px;
  background: white;
  padding: 10px 14px;
  color: #b77900;
  font-size: 14px;
  font-weight: 950;
}
.admin-option-group {
  display: grid;
  gap: 10px;
  border: 1px solid #ffbd70;
  border-radius: 16px;
  background: white;
  padding: 12px;
}
.admin-option-group-row,
.admin-option-item-row {
  display: grid;
  grid-template-columns: 1fr 132px 104px 40px;
  gap: 10px;
  align-items: center;
}
.admin-option-item-row {
  grid-template-columns: 1fr 112px 40px;
}
.admin-option-group input,
.admin-option-group select {
  width: 100%;
  border: 1px solid #ecd495;
  border-radius: 11px;
  background: white;
  padding: 11px;
  color: #111827;
  font-size: 15px;
  font-weight: 800;
}
.admin-required-check {
  display: flex !important;
  height: 45px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #ecd495;
  border-radius: 11px;
  background: #fffaf0;
  padding: 0 10px;
  color: #1d1720 !important;
  font-size: 13px !important;
  text-transform: none !important;
}
.admin-required-check input {
  width: 16px;
  height: 16px;
  accent-color: #f5bd19;
}
.admin-option-remove {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 11px;
  background: #fff0eb;
  color: #ef3f2c;
  font-size: 20px;
  font-weight: 950;
}
.admin-add-option {
  justify-self: start;
}
.admin-modal-actions {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 10px;
  margin-top: 18px;
}
.admin-modal-actions > button:last-child {
  border-radius: 14px;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  padding: 12px 16px;
  color: white;
  font-size: 13px;
  font-weight: 950;
}
@media (max-width: 980px) {
  .admin-shell {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    position: static;
    height: auto;
  }

  .admin-grid,
  .admin-mini-grid {
    grid-template-columns: 1fr 1fr;
  }

  .admin-ship-compact-grid {
    grid-template-columns: 1fr 1fr;
  }

  .admin-smart-grid {
    grid-template-columns: 1fr 1fr;
  }

  .admin-row,
  .admin-edit-card,
  .admin-edit-fields,
  .admin-branch-layout,
  .admin-branch-top-grid,
  .admin-branch-bottom-grid,
  .admin-branch-time-grid,
  .admin-product-grid,
  .admin-product-form {
    grid-template-columns: 1fr;
  }

  .admin-option-group-row,
  .admin-option-item-row {
    grid-template-columns: 1fr;
  }

  .admin-product-form .wide {
    grid-column: span 1;
  }

  .admin-appearance-layout,
  .admin-appearance-promo-grid,
  .admin-appearance-fields,
  .admin-appearance-main-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .admin-smart-grid {
    grid-template-columns: 1fr;
  }

  .admin-ship-compact-grid {
    grid-template-columns: 1fr;
  }

  .admin-ship-note-item {
    grid-column: span 1;
  }

  .admin-promo-toolbar {
    align-items: flex-start;
  }
}
.admin-shell button,
.admin-shell input {
  font: inherit;
}
.admin-shell button {
  -webkit-tap-highlight-color: transparent;
}
.admin-shell .bg-gradient-main,
.admin-shell .cta,
.admin-shell .cta-small {
  background: linear-gradient(135deg, #ff7a00 0%, #ff4f17 100%);
}
.admin-menu-dashboard {
  display: grid;
  gap: 14px;
}
.admin-menu-title {
  color: #111827;
  font-size: 42px;
  font-weight: 950;
  line-height: 1.08;
}
.admin-menu-main-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 10px;
}
.admin-menu-main-tabs button {
  padding: 10px 2px;
  color: #445065;
  font-size: 15px;
  font-weight: 850;
  text-transform: uppercase;
}
.admin-menu-main-tabs button.active {
  border-bottom: 3px solid #0f766e;
  color: #0f766e;
}
.admin-menu-filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.admin-menu-left-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.admin-menu-left-actions > button {
  border: 1px solid #d7dee8;
  border-radius: 12px;
  background: #fff;
  padding: 10px 14px;
  color: #172033;
  font-size: 14px;
  font-weight: 850;
}
.admin-menu-create-wrap {
  position: relative;
}
.admin-menu-create-dropdown {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  z-index: 20;
  display: grid;
  min-width: 170px;
  border: 1px solid #d7dee8;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.12);
  overflow: hidden;
}
.admin-menu-create-dropdown button {
  padding: 10px 12px;
  text-align: left;
  color: #172033;
  font-size: 13px;
  font-weight: 800;
}
.admin-menu-create-dropdown button + button {
  border-top: 1px solid #edf1f7;
}
.admin-menu-left-actions .admin-input {
  min-width: 170px;
  height: 42px;
}
.admin-menu-search {
  max-width: 320px;
  height: 42px;
}
.admin-menu-board {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  border: 1px solid #dfe4ef;
  border-radius: 16px;
  overflow: hidden;
}
.admin-menu-col {
  min-width: 0;
  background: #fff;
}
.admin-menu-col + .admin-menu-col {
  border-left: 1px solid #dfe4ef;
}
.admin-menu-col-head {
  border-bottom: 1px solid #dfe4ef;
  padding: 14px 16px;
}
.admin-menu-col-head strong {
  color: #0f172a;
  font-size: 16px;
  font-weight: 900;
  text-transform: uppercase;
}
.admin-menu-categories,
.admin-menu-product-list {
  max-height: 560px;
  overflow: auto;
}
.admin-menu-category-item {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #eef1f6;
  padding: 16px;
  text-align: left;
}
.admin-menu-category-item span {
  color: #1f2937;
  font-size: 16px;
  font-weight: 800;
}
.admin-menu-category-item em {
  color: #6b7280;
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
}
.admin-menu-category-item em small {
  color: #ef6c00;
  font-size: 11px;
  font-weight: 900;
}
.admin-menu-category-item.active {
  background: #f7fafc;
}
.admin-menu-preset-item {
  cursor: pointer;
}
.admin-menu-preset-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.admin-menu-preset-edit-btn {
  width: 26px;
  height: 26px;
  border: 1px solid #d9dee8;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}
.admin-menu-product-row {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: 100%;
  border-bottom: 1px solid #eef1f6;
  padding: 14px 16px;
  text-align: left;
}
.admin-menu-product-row img {
  width: 70px;
  height: 70px;
  border-radius: 12px;
  -o-object-fit: cover;
     object-fit: cover;
}
.admin-menu-product-row strong {
  display: block;
  color: #111827;
  font-size: 16px;
  font-weight: 850;
}
.admin-menu-product-row em {
  display: block;
  margin-top: 4px;
  color: #6b7280;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
}
.admin-menu-product-row i {
  color: #475569;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}
.group-option-grid-head {
  display: grid;
  grid-template-columns: 1fr 120px 32px;
  gap: 8px;
  color: #3f4755;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  padding: 0 24px;
}
.group-option-card {
  gap: 8px;
  cursor: grab;
}
.group-option-card.dragging {
  opacity: 0.6;
  transform: scale(0.99);
}
.group-option-row {
  display: grid;
  grid-template-columns: 20px 1fr 120px 32px;
  gap: 8px;
  align-items: center;
}
.group-drag {
  color: #64748b;
  font-weight: 900;
}
.group-translate-note {
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
}
.group-translate-note button {
  color: #2563eb;
  font-weight: 800;
}
.group-add-option-btn {
  width: -moz-fit-content;
  width: fit-content;
  color: #38a3f1;
  font-size: 14px;
  font-weight: 800;
}
.group-rule-box {
  display: grid;
  gap: 10px;
}
.group-rule-radio {
  display: flex !important;
  align-items: center;
  gap: 8px;
  color: #1f2937;
  font-size: 14px;
  font-weight: 700;
  text-transform: none !important;
}
.group-rule-radio input {
  margin: 0;
  flex: 0 0 auto;
}
.group-rule-inline {
  display: grid;
  grid-template-columns: 1fr 70px;
  gap: 8px;
  max-width: 280px;
}
.group-rule-inline select,
.group-rule-inline input {
  border: 1px solid #dfe4ef;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 700;
}
.group-rule-note {
  border: 1px solid #9ed0ff;
  border-radius: 14px;
  background: #eaf5ff;
  padding: 10px 12px;
  color: #2563eb;
  font-size: 14px;
  font-weight: 700;
}
.group-linked-empty {
  display: grid;
  justify-items: center;
  gap: 6px;
  border: 1px dashed #dfe4ef;
  border-radius: 16px;
  padding: 16px;
  text-align: center;
}
.group-linked-empty span {
  font-size: 30px;
}
.group-linked-empty p {
  max-width: 320px;
  color: #6b7280;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}
.group-editor-panel {
  background: #fff;
}
.group-editor-panel .admin-product-side-head {
  border-bottom: 1px solid #e5e7eb;
}
.group-editor-panel .admin-product-side-head h2 {
  font-size: 30px;
  letter-spacing: 0;
}
.group-editor-form {
  gap: 0;
  padding: 0;
  overflow: auto;
}
.group-editor-name {
  padding: 18px 24px 20px;
}
.group-editor-name > small {
  margin-top: 8px;
  color: #4b5563;
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
}
.group-editor-name > small button {
  color: #2563eb;
  font-size: 14px;
  font-weight: 800;
}
.group-editor-block {
  border: 0;
  border-top: 8px solid #f3f4f6;
  border-radius: 0;
  background: #fff;
  padding: 0;
}
.group-editor-block .admin-option-head {
  margin: 0;
  padding: 12px 24px;
  border-bottom: 1px solid #eceff4;
}
.group-editor-block .admin-option-head h3 {
  color: #323a48;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0;
}
.group-editor-block .group-option-card {
  border: 0;
  border-radius: 0;
  background: #fff;
  padding: 10px 24px;
}
.group-editor-block .group-option-row input,
.group-editor-block .group-option-row select {
  border: 1px solid #dce2ec;
  border-radius: 12px;
  background: #fff;
}
.group-editor-block .admin-option-remove {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #ef5b3f;
  color: #fff;
  font-size: 15px;
}
.group-editor-block .group-rule-box {
  padding: 12px 24px 16px;
}
.group-editor-block .group-rule-inline select,
.group-editor-block .group-rule-inline input {
  border: 1px solid #dce2ec;
  border-radius: 12px;
  background: #fff;
}
.group-editor-block .group-linked-empty {
  border: 0;
  border-radius: 0;
  padding: 16px 24px 24px;
}
.crm-customer-card {
  border: 1px solid #e3e8f3;
  background: #fcfdff;
}
.crm-customer-head {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
  text-align: left;
}
.crm-customer-head-main {
  display: grid;
  gap: 3px;
}
.crm-customer-head-main strong {
  color: #182235;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.2;
}
.crm-customer-head-main em {
  color: #5e6b82;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
}
.crm-customer-head-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}
.crm-customer-head-meta small {
  color: #4f5d75;
  font-size: 12px;
  font-weight: 800;
}
.crm-action-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.crm-order-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 1fr) minmax(0, 0.7fr);
  gap: 10px;
  align-items: center;
}
.crm-order-row strong,
.crm-order-row span {
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 980px) {
  .admin-menu-title {
    font-size: 28px;
  }

  .admin-menu-filter-row {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-menu-search {
    max-width: none;
    width: 100%;
  }

  .admin-menu-board {
    grid-template-columns: 1fr;
  }

  .admin-menu-col + .admin-menu-col {
    border-left: 0;
    border-top: 1px solid #dfe4ef;
  }

  .crm-action-grid {
    grid-template-columns: 1fr 1fr;
  }

  .crm-order-row {
    grid-template-columns: 1fr;
  }
}
.admin-popup-upload {
  display: grid;
  gap: 10px;
}
.admin-popup-upload strong {
  color: #172033;
  font-size: 13px;
  font-weight: 900;
}
.admin-popup-upload-row {
  display: grid;
  grid-template-columns: 170px auto;
  gap: 12px;
  align-items: start;
  justify-content: start;
}
.admin-popup-upload-row img {
  width: 100%;
  max-width: 170px;
  aspect-ratio: 3 / 4;
  border: 1px solid #dfe4ef;
  border-radius: 14px;
  -o-object-fit: cover;
     object-fit: cover;
  background: #fff;
}
.admin-popup-upload-trigger {
  position: static;
  display: inline-flex;
  align-self: center;
}
.admin-popup-upload-trigger input {
  display: none;
}
.admin-popup-upload-trigger span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 130px;
  text-align: center;
  border: 1px solid rgba(249, 115, 22, 0.4);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  padding: 8px 12px;
  color: #f97316;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.admin-side-backdrop {
  z-index: 120;
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  padding: 0;
}
.admin-product-side-panel {
  width: min(460px, 100vw);
  height: 100vh;
  max-height: 100vh;
  border-radius: 0;
  border-left: 1px solid #e6eaf2;
  padding: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  box-shadow: -18px 0 36px rgba(15, 23, 42, 0.16);
}
.admin-product-side-head {
  margin: 0;
  padding: 14px 16px;
  border-bottom: 1px solid #e6eaf2;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 10px;
}
.admin-product-side-head button {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: transparent;
  color: #111827;
}
.admin-product-side-head h2 {
  font-size: 28px;
  font-weight: 950;
}
.admin-product-side-head p {
  margin-top: 4px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 700;
}
.admin-product-side-form {
  grid-template-columns: 1fr 1fr;
  overflow: auto;
  padding: 14px 16px 24px;
}
.admin-product-side-form .wide {
  grid-column: 1 / -1;
}
.category-editor-form {
  grid-template-columns: 1fr;
  gap: 10px;
  align-content: start;
  grid-auto-rows: min-content;
  padding: 14px 16px 18px;
}
.category-editor-form label {
  gap: 6px;
  color: #4b5568;
  font-size: 12px;
  font-weight: 900;
}
.category-editor-form input,
.category-editor-form select {
  min-height: 44px;
  padding: 10px 12px;
  font-size: 14px;
}
.admin-side-actions {
  margin: 0;
  padding: 12px 16px;
  border-top: 1px solid #e6eaf2;
  background: #fff;
}
.menu-item-editor-head h2 {
  font-size: 38px;
  line-height: 1.05;
}
.menu-item-editor-head p {
  font-size: 14px;
}
.menu-item-editor-form {
  gap: 14px;
  padding: 18px 18px 24px;
  background: #fafafa;
}
.menu-item-image-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.menu-item-image-preview {
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #dce2ec;
  background: #fff;
  min-height: 124px;
}
.menu-item-image-preview img {
  width: 100%;
  height: 124px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.menu-item-image-upload {
  display: grid !important;
  place-items: center;
  min-height: 124px;
  border: 1px solid #e4e7ee;
  border-radius: 10px;
  background: #f1f2f5;
  color: #9ca3af !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  text-transform: none !important;
  cursor: pointer;
}
.menu-item-image-upload input {
  display: none;
}
.menu-item-image-upload span {
  font-size: 20px;
  letter-spacing: 0.02em;
}
.menu-item-editor-form label {
  color: #374151;
  font-size: 15px;
  font-weight: 900;
}
.menu-item-editor-form input,
.menu-item-editor-form select,
.menu-item-editor-form textarea {
  border-radius: 12px;
  border-color: #d8deea;
  background: #fff;
  font-size: 16px;
  padding: 12px 14px;
}
.menu-item-editor-form textarea {
  min-height: 88px;
}
.menu-item-option-section {
  margin-top: 0;
  border: 1px solid #eceef4;
  border-radius: 16px;
  background: #fff;
  padding: 12px;
}
.menu-item-option-section .admin-option-head h3 {
  font-size: 24px;
}
.menu-item-option-section .admin-option-head button {
  border: 0;
  background: transparent;
  color: #38a3f1;
  padding: 0;
}
.menu-item-group-picker {
  gap: 8px;
}
.menu-item-linked-group {
  border: 0;
  border-top: 1px solid #eceef4;
  border-radius: 0;
  padding: 10px 4px 0;
}
.menu-item-linked-row {
  grid-template-columns: 14px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
}
.menu-item-linked-row strong {
  font-size: 14px;
}
.menu-item-linked-row span {
  color: #6b7280;
  font-size: 13px;
}
.menu-item-linked-drag {
  color: #4b5563 !important;
  font-size: 15px !important;
  font-weight: 900;
  line-height: 1;
}
.menu-item-linked-group,
.menu-item-picker-row {
  cursor: grab;
}
.menu-item-linked-group.dragging,
.menu-item-picker-row.dragging {
  opacity: 0.6;
  transform: scale(0.99);
}
.menu-item-editor-actions {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.menu-item-editor-actions > span {
  display: none;
}
.menu-item-editor-actions .admin-danger {
  grid-column: 1 / -1;
  border: 1px solid #ff7a59;
  border-radius: 999px;
  background: #fff;
  color: #ef4723;
  min-height: 48px;
  font-size: 16px;
}
.menu-item-editor-actions .admin-secondary {
  justify-self: stretch;
  border: 1px solid #155e75;
  border-radius: 999px;
  background: #fff;
  color: #155e75;
  min-height: 48px;
  font-size: 16px;
}
.menu-item-editor-actions > button:last-child {
  min-height: 48px;
  border-radius: 999px;
  font-size: 16px;
}
.menu-item-picker-head h2 {
  font-size: 18px;
  line-height: 1.1;
  letter-spacing: 0.01em;
}
.menu-item-picker-body {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 8px;
  padding: 10px 14px;
  background: #f5f6f8;
  overflow: auto;
}
.menu-item-picker-search {
  display: block !important;
}
.menu-item-picker-search input {
  width: 100%;
  border: 1px solid #dce2ec;
  border-radius: 10px;
  background: #fff;
  padding: 9px 11px;
  font-size: 13px;
  color: #374151;
}
.menu-item-picker-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: stretch;
}
.menu-item-picker-row {
  display: grid !important;
  grid-template-columns: 16px 1fr auto;
  gap: 8px;
  align-items: start;
  border-bottom: 1px solid #e5e7eb;
  padding: 10px 0;
  text-transform: none !important;
}
.menu-item-picker-row input {
  margin-top: 2px;
  width: 14px;
  height: 14px;
  accent-color: #16a34a;
}
.menu-item-picker-row strong {
  display: block;
  color: #1f2937;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}
.menu-item-picker-row span {
  display: block;
  margin-top: 1px;
  color: #374151;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
}
.menu-item-picker-row small {
  display: block;
  margin-top: 1px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}
.menu-item-picker-drag {
  color: #6b7280;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
}
.menu-item-picker-actions {
  display: grid;
  grid-template-columns: 1fr;
}
.menu-item-picker-actions button {
  min-height: 40px;
  border-radius: 999px;
  background: #eff0f3;
  color: #8b909a;
  font-size: 14px;
  font-weight: 800;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.menu-item-picker-actions .menu-item-picker-confirm-active {
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: #fff;
  box-shadow: 0 8px 20px rgba(255, 106, 0, 0.28);
}
@media (max-width: 640px) {
  .admin-popup-upload-row {
    grid-template-columns: 1fr;
  }
}
/* Shared admin legacy has been split into scoped admin files. Keep this file as a compatibility placeholder. */
/* ===== Admin SaaS Redesign - Phase 1 ===== */
.admin-shell {
  --admin-bg: #f4f6fb;
  --admin-surface: #ffffff;
  --admin-soft: #f8fafc;
  --admin-border: #e2e8f0;
  --admin-text: #0f172a;
  --admin-muted: #64748b;
  --admin-primary: #f97316;
  --admin-primary-soft: #fff3e8;
  --admin-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  --admin-radius: 16px;

  grid-template-columns: 264px minmax(0, 1fr);
  background: var(--admin-bg);
  color: var(--admin-text);
}
.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  border-right: 1px solid var(--admin-border);
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  padding: 18px 14px;
}
.admin-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  border: 1px solid var(--admin-border);
  border-radius: 14px;
  background: #fff;
  padding: 12px;
}
.admin-brand span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #fb923c, #f97316);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.admin-brand strong {
  font-size: 14px;
  font-weight: 900;
  color: var(--admin-text);
}
.admin-brand small {
  color: var(--admin-muted);
  font-size: 11px;
  font-weight: 700;
}
.admin-nav-group {
  margin-top: 10px;
}
.admin-nav-group-title {
  margin: 0 0 6px;
  padding: 0 8px;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.admin-sidebar button {
  gap: 9px;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 10px 11px;
  color: #475569;
  font-size: 13px;
  font-weight: 800;
}
.admin-sidebar button .icon-ux {
  color: #94a3b8;
}
.admin-sidebar button:hover {
  border-color: #e8edf5;
  background: #f8fafc;
  color: #1e293b;
}
.admin-sidebar button.active {
  border-left: 1px solid #fed7aa;
  border-color: #fed7aa;
  background: linear-gradient(135deg, #fff7ed, #fff1e8);
  color: #c2410c;
}
.admin-sidebar button.active .icon-ux {
  color: #ea580c;
}
.admin-main {
  padding: 18px 24px 24px;
}
.admin-top-header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  border: 1px solid var(--admin-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: saturate(120%);
  padding: 10px 12px;
}
.admin-top-header-left,
.admin-top-header-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-top-sync-badge {
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #f8fafc;
  padding: 6px 10px;
  color: #475569;
  font-size: 11px;
  font-weight: 800;
}
.admin-top-search {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: min(500px, 46vw);
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  background: #fff;
  padding: 9px 12px;
}
.admin-top-search .icon-ux {
  color: #94a3b8;
}
.admin-top-search input {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--admin-text);
  font-size: 13px;
  font-weight: 700;
  outline: none;
}
.admin-top-branch {
  min-width: 170px;
  height: 40px;
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  background: #fff;
  padding: 0 12px;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
}
.admin-top-icon-btn,
.admin-top-avatar {
  width: 38px;
  height: 38px;
  border: 1px solid var(--admin-border);
  border-radius: 11px;
  background: #fff;
  display: grid;
  place-items: center;
  color: #475569;
}
.admin-top-logout-btn {
  height: 38px;
  border: 1px solid #fecaca;
  border-radius: 11px;
  background: #fff1f2;
  padding: 0 12px;
  color: #b91c1c;
  font-size: 12px;
  font-weight: 900;
}
.admin-top-avatar {
  background: #0f172a;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.admin-page-header {
  margin-bottom: 16px;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: linear-gradient(135deg, #ffffff, #f8fbff);
  padding: 16px 18px;
}
.admin-page-header h1 {
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -0.01em;
}
.admin-page-header p {
  margin-top: 4px;
  color: var(--admin-muted);
  font-size: 13px;
  font-weight: 700;
}
.admin-toolbar,
.admin-panel,
.admin-stat-card {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-surface);
  box-shadow: var(--admin-shadow);
}
.admin-toolbar {
  padding: 10px 12px;
}
.admin-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.admin-stat-card {
  display: grid;
  gap: 6px;
  padding: 14px;
}
.admin-stat-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.admin-stat-card span {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 800;
}
.admin-stat-card em {
  width: 26px;
  height: 26px;
  border-radius: 9px;
  background: #f1f5f9;
  display: grid;
  place-items: center;
  font-style: normal;
  font-size: 13px;
}
.admin-stat-card strong {
  margin-top: 2px;
  color: var(--admin-text);
  font-size: 24px;
  line-height: 1.2;
  font-weight: 900;
}
.admin-stat-card small {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 700;
}
.admin-stat-card-orange em {
  background: #fff1e8;
}
.admin-stat-card-blue em {
  background: #e8f1ff;
}
.admin-stat-card-green em {
  background: #eafaf0;
}
.admin-panel {
  padding: 14px;
}
.admin-panel-head {
  margin-bottom: 12px;
}
.admin-panel-head h2 {
  font-size: 16px;
  font-weight: 900;
}
.admin-menu-tabs {
  gap: 8px;
}
.admin-menu-tabs button {
  border: 1px solid var(--admin-border);
  border-radius: 10px;
  background: #fff;
  padding: 8px 12px;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
}
.admin-menu-tabs button.active,
.admin-menu-tabs button:hover {
  border-color: #fdba74;
  background: #fff7ed;
  color: #c2410c;
}
.admin-order-item {
  border-radius: 12px;
  padding: 12px;
}
.admin-order-item:hover {
  border-color: #fdba74;
  background: #fffdf8;
}
.admin-search-input {
  height: 42px;
  border-radius: 12px;
}
.admin-search-icon {
  color: #94a3b8;
}
@media (max-width: 1140px) {
  .admin-shell {
    grid-template-columns: 84px minmax(0, 1fr);
  }

  .admin-brand {
    justify-content: center;
    padding: 10px 6px;
  }

  .admin-brand > div,
  .admin-nav-group-title,
  .admin-sidebar button {
    font-size: 0;
  }

  .admin-brand strong,
  .admin-brand small {
    display: none;
  }

  .admin-sidebar button {
    justify-content: center;
    padding: 10px;
  }

  .admin-sidebar button .icon-ux {
    width: 18px;
    height: 18px;
  }

  .admin-top-search {
    width: min(340px, 45vw);
  }
}
@media (max-width: 980px) {
  .admin-shell {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    position: static;
    height: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .admin-nav-group {
    margin-top: 0;
  }

  .admin-brand {
    grid-column: 1 / -1;
  }

  .admin-main {
    padding: 14px;
  }

  .admin-top-header {
    position: static;
    flex-direction: column;
    align-items: stretch;
  }

  .admin-top-header-right {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .admin-top-search {
    width: 100%;
  }

  .admin-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .admin-grid {
    grid-template-columns: 1fr;
  }

  .admin-top-branch {
    min-width: 0;
    flex: 1;
  }
}
.admin-shell .admin-dashboard-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-xl);
  background: rgba(255, 255, 255, 0.96);
  padding: 10px;
  box-shadow: var(--admin-shadow-card);
  backdrop-filter: blur(12px);
}
.admin-shell .admin-dashboard-search {
  display: flex;
  min-width: min(460px, 100%);
  flex: 1 1 auto;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--admin-border-strong);
  border-radius: var(--admin-radius-md);
  background: var(--admin-bg);
  padding: 0 12px;
  color: var(--admin-muted);
}
.admin-shell .admin-dashboard-search .admin-ui-input {
  flex: 1 1 auto;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.admin-shell .admin-dashboard-search .admin-ui-select {
  flex: 1 1 auto;
  border: 0;
  background: transparent;
  box-shadow: none;
  min-height: 40px;
  padding: 0;
}
.admin-shell .admin-dashboard-preset {
  flex: 0 0 220px;
  min-width: 220px;
}
.admin-shell .admin-dashboard-actions {
  padding: 14px;
}
.admin-dashboard-page {
  display: grid;
  gap: 16px;
}
.admin-dashboard-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--admin-border);
  border-radius: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #fff8f1 100%);
  padding: 18px;
  box-shadow: var(--admin-shadow);
}
.admin-dashboard-hero h2 {
  margin: 10px 0 4px;
  color: #0f172a;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 900;
}
.admin-dashboard-hero p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
}
.admin-dashboard-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.admin-dashboard-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.admin-dashboard-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.95fr) minmax(300px, 0.95fr);
  gap: 14px;
  align-items: stretch;
}
.admin-dashboard-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.admin-dashboard-revenue-visual {
  display: grid;
  gap: 10px;
  min-height: 286px;
  padding: 20px 22px 10px;
}
.admin-dashboard-revenue-visual strong {
  color: #0f172a;
  font-size: 30px;
  line-height: 1;
  font-weight: 950;
}
.admin-dashboard-revenue-visual > span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.admin-dashboard-revenue-chart {
  min-height: 210px;
  overflow: hidden;
  border-radius: 14px;
}
.admin-dashboard-revenue-chart svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 210px;
}
.admin-dashboard-revenue-chart line {
  stroke: #e2e8f0;
  stroke-width: 1;
}
.admin-dashboard-revenue-chart text {
  fill: #64748b;
  font-size: 11px;
  font-weight: 800;
}
.admin-dashboard-revenue-date {
  text-anchor: middle;
}
.admin-dashboard-revenue-area {
  fill: url(#adminRevenueArea);
}
.admin-dashboard-revenue-line {
  fill: none;
  stroke: #f97316;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 8px 12px rgba(249, 115, 22, 0.16));
}
.admin-dashboard-revenue-chart circle {
  fill: #f97316;
  stroke: #fff;
  stroke-width: 3;
}
.admin-dashboard-mini-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0 18px 18px;
}
.admin-dashboard-mini-metrics span,
.admin-dashboard-ops-summary span {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
  padding: 10px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.admin-dashboard-mini-metrics b,
.admin-dashboard-ops-summary b {
  color: #0f172a;
  font-weight: 950;
}
.admin-dashboard-channel-list,
.admin-dashboard-product-list,
.admin-dashboard-actions,
.admin-dashboard-ops-summary {
  display: grid;
  gap: 10px;
  padding: 16px;
}
.admin-dashboard-channel-row {
  display: grid;
  gap: 8px;
}
.admin-dashboard-channel-row div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.admin-dashboard-channel-row strong,
.admin-dashboard-product-row strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 900;
}
.admin-dashboard-channel-row span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.admin-dashboard-channel-row em,
.admin-dashboard-product-row em {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #f1f5f9;
}
.admin-dashboard-channel-row i,
.admin-dashboard-product-row i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #fb923c, #f97316);
}
.admin-dashboard-product-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border-radius: 12px;
  padding: 2px 0;
}
.admin-dashboard-product-row > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #fed7aa;
  border-radius: 12px;
  background: #fff7ed;
  color: #ea580c;
  font-size: 13px;
  font-weight: 950;
}
.admin-dashboard-product-row img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.admin-dashboard-product-row div {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.admin-dashboard-product-row small {
  min-width: 28px;
  text-align: right;
  color: #0f172a;
  font-size: 12px;
  font-weight: 950;
}
.admin-dashboard-table .admin-ui-table-head,
.admin-dashboard-table .admin-ui-table-row {
  display: grid;
  grid-template-columns: 1fr 0.85fr 1.25fr 0.65fr 1.15fr 0.85fr 0.9fr;
  align-items: center;
  gap: 12px;
}
.admin-dashboard-table .admin-ui-table-row {
  min-height: 58px;
  padding: 14px 18px;
  background: #fff;
}
.admin-dashboard-table .admin-ui-table-head {
  min-height: 44px;
  padding: 14px 18px;
}
.admin-dashboard-table .admin-ui-table-row > span,
.admin-dashboard-table .admin-ui-table-row > strong,
.admin-dashboard-table .admin-ui-table-head > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-dashboard-table .admin-ui-table-row > strong,
.admin-dashboard-order-code strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
}
.admin-dashboard-table .admin-ui-table-row > span {
  color: #475569;
  font-size: 13px;
  font-weight: 750;
}
.admin-dashboard-order-code {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}
.admin-dashboard-order-code .admin-ui-badge {
  flex: 0 0 auto;
  min-height: 22px;
  padding: 0 8px;
  font-size: 10px;
}
.admin-dashboard-source-badge {
  width: -moz-fit-content;
  width: fit-content;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px;
}
.admin-dashboard-source-badge.is-grab {
  background: #e7f8ee;
  color: #14823b;
}
.admin-dashboard-source-badge.is-shopee {
  background: #fff1e8;
  color: #ea580c;
}
.admin-dashboard-source-badge.is-xanh-ngon {
  background: #e8f7ff;
  color: #0369a1;
}
.admin-dashboard-source-badge.is-pickup {
  background: #f5ecff;
  color: #7e22ce;
}
.admin-dashboard-source-badge.is-ship {
  background: #e8f1ff;
  color: #2563eb;
}
.admin-dashboard-empty-note {
  min-height: 110px;
  display: grid;
  place-items: center;
  border: 1px dashed #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
  color: #64748b;
  padding: 18px;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
}
.admin-dashboard-actions {
  grid-template-columns: 1fr;
  padding-bottom: 8px;
}
.admin-dashboard-actions .admin-ui-button {
  justify-content: center;
}
.admin-dashboard-ops-summary {
  margin-top: 12px;
  padding-top: 0;
}
.admin-dashboard-actions-card .admin-ui-panel-head,
.admin-dashboard-top-products .admin-ui-panel-head,
.admin-dashboard-recent-card .admin-ui-panel-head,
.admin-dashboard-revenue-card .admin-ui-panel-head,
.admin-dashboard-channel-card .admin-ui-panel-head {
  padding: 18px 20px;
}
.admin-dashboard-recent-card .admin-ui-table {
  margin: 16px;
  width: calc(100% - 32px);
}
@media (max-width: 1280px) {
  .admin-dashboard-main-grid,
  .admin-dashboard-bottom-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 980px) {
  .admin-dashboard-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-dashboard-hero-actions {
    justify-content: flex-start;
  }

  .admin-dashboard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-dashboard-table .admin-ui-table-head,
  .admin-dashboard-table .admin-ui-table-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .admin-dashboard-stat-grid,
  .admin-dashboard-mini-metrics {
    grid-template-columns: 1fr;
  }
}
/* Admin orders modern dashboard */
.admin-orders-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  align-items: start;
}
.admin-orders-main {
  display: grid;
  min-width: 0;
  gap: 14px;
}
.admin-orders-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 247, 237, 0.92)),
    #ffffff;
  padding: 20px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
}
.admin-orders-hero p {
  color: #f97316;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.admin-orders-hero h2 {
  margin-top: 5px;
  color: #0f172a;
  font-size: 28px;
  font-weight: 950;
  letter-spacing: 0;
}
.admin-orders-hero span {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
}
.admin-orders-hero-meta {
  min-width: 138px;
  border: 1px solid #fed7aa;
  border-radius: 18px;
  background: #fff7ed;
  padding: 14px 16px;
  text-align: right;
}
.admin-orders-hero-meta strong {
  display: block;
  color: #ea580c;
  font-size: 30px;
  font-weight: 950;
  line-height: 1;
}
.admin-orders-hero-meta span {
  color: #9a3412;
  font-size: 12px;
  font-weight: 800;
}
.admin-order-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  padding: 7px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}
.admin-order-tabs button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 14px;
  padding: 0 14px;
  color: #475569;
  font-size: 13px;
  font-weight: 850;
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}
.admin-order-tabs button span {
  display: grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
}
.admin-order-tabs button.active {
  border-color: #fdba74;
  background: #fff7ed;
  color: #ea580c;
}
.admin-order-tabs button.active span {
  background: #fb923c;
  color: #ffffff;
}
.admin-order-tabs button:active {
  transform: scale(0.98);
}
.admin-order-stats-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(132px, 1fr));
  gap: 12px;
}
.admin-order-stat-card {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  padding: 14px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.045);
}
.admin-order-stat-icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 16px;
  background: #fff7ed;
  color: #ea580c;
  font-size: 18px;
  font-weight: 950;
}
.admin-order-stat-card p {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
}
.admin-order-stat-card strong {
  display: block;
  margin-top: 2px;
  color: #0f172a;
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
}
.admin-order-stat-card small {
  display: block;
  margin-top: 5px;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 700;
}
.admin-order-stat-card.tone-blue .admin-order-stat-icon {
  background: #eff6ff;
  color: #2563eb;
}
.admin-order-stat-card.tone-green .admin-order-stat-icon {
  background: #ecfdf5;
  color: #059669;
}
.admin-order-stat-card.tone-red .admin-order-stat-icon {
  background: #fff1f2;
  color: #e11d48;
}
.admin-order-stat-card.tone-amber .admin-order-stat-icon {
  background: #fffbeb;
  color: #d97706;
}
.admin-order-stat-card.tone-slate .admin-order-stat-icon {
  background: #f1f5f9;
  color: #64748b;
}
.admin-order-filter-bar {
  position: sticky;
  top: 72px;
  z-index: 12;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 170px 190px 170px auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  padding: 10px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.045);
  backdrop-filter: blur(12px);
}
.admin-order-search {
  display: flex;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
  padding: 0 13px;
  color: #94a3b8;
}
.admin-order-search input {
  min-width: 0;
  flex: 1;
  background: transparent;
  color: #0f172a;
  font-size: 13px;
  font-weight: 700;
  outline: none;
}
.admin-order-filter-bar select,
.admin-order-filter-bar > button {
  min-height: 44px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #ffffff;
  padding: 0 12px;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
  outline: none;
}
.admin-order-filter-bar > button {
  color: #ea580c;
}
.admin-order-table-card {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
}
.admin-order-table-head,
.admin-order-row {
  display: grid;
  grid-template-columns: 116px minmax(160px, 1.2fr) 120px 158px 118px 116px 170px;
  gap: 12px;
  align-items: center;
}
.admin-order-table-head {
  border-bottom: 1px solid #e5e7eb;
  background: #f8fafc;
  padding: 13px 16px;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.admin-order-table-body {
  display: grid;
}
.admin-order-row {
  min-height: 76px;
  border-bottom: 1px solid #eef2f7;
  padding: 14px 16px;
  cursor: pointer;
  transition: background-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
.admin-order-row:last-child {
  border-bottom: 0;
}
.admin-order-row:hover {
  background: #fff7ed;
}
.admin-order-row.is-selected {
  background: linear-gradient(90deg, rgba(255, 247, 237, 0.98), #ffffff);
  box-shadow: inset 3px 0 0 #f97316;
}
.admin-order-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: #334155;
  font-size: 13px;
  font-weight: 700;
}
.admin-order-cell strong {
  overflow: hidden;
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-order-cell small {
  overflow: hidden;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-order-cell > span:not(.admin-order-status-badge):not(.admin-order-type-badge) {
  color: #475569;
  font-size: 12px;
  font-weight: 750;
}
.admin-order-code-cell small {
  color: #f97316;
}
.admin-order-branch-name {
  max-width: 140px;
  color: #7c3aed !important;
}
.admin-order-name-mismatch-badge {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  border: 1px solid #fed7aa;
  border-radius: 999px;
  background: #fff7ed;
  color: #c2410c;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.01em;
  padding: 3px 8px;
}
.admin-order-money strong {
  color: #ea580c;
}
.admin-order-status-badge,
.admin-order-type-badge {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}
.admin-order-status-new {
  background: #fff7ed;
  color: #ea580c;
}
.admin-order-status-doing {
  background: #eff6ff;
  color: #2563eb;
}
.admin-order-status-delivering {
  background: #f0f9ff;
  color: #0284c7;
}
.admin-order-status-done {
  background: #ecfdf5;
  color: #059669;
}
.admin-order-status-all {
  background: #f1f5f9;
  color: #475569;
}
.admin-order-type-badge.is-pickup {
  background: #f3e8ff;
  color: #7e22ce;
}
.admin-order-type-badge.is-delivery {
  background: #dcfce7;
  color: #15803d;
}
.admin-order-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.admin-order-row-actions > button,
.admin-order-status-select,
.admin-order-copy-btn {
  min-height: 38px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #ffffff;
  padding: 0 12px;
  color: #334155;
  font-size: 12px;
  font-weight: 850;
  outline: none;
}
.admin-order-row-actions > button {
  color: #ea580c;
}
.admin-order-status-select {
  max-width: 118px;
}
.admin-order-empty {
  display: grid;
  gap: 6px;
  min-height: 220px;
  place-items: center;
  border: 1px dashed #cbd5e1;
  border-radius: 22px;
  background: #ffffff;
  color: #64748b;
  text-align: center;
}
.admin-order-empty strong {
  color: #0f172a;
  font-size: 16px;
  font-weight: 900;
}
.admin-order-detail-panel {
  position: sticky;
  top: 86px;
  display: flex;
  max-height: calc(100vh - 104px);
  min-height: 560px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}
.admin-order-detail-panel.is-empty {
  display: grid;
  min-height: 300px;
  place-items: center;
  padding: 22px;
  color: #64748b;
  text-align: center;
}
.admin-order-detail-panel.is-empty strong {
  display: block;
  color: #0f172a;
  font-size: 16px;
  font-weight: 900;
}
.admin-order-detail-head {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #eef2f7;
  padding: 18px;
}
.admin-order-detail-head span {
  color: #f97316;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.admin-order-detail-head h3 {
  margin-top: 5px;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}
.admin-order-detail-head small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}
.admin-order-detail-head button {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #ffffff;
  color: #64748b;
  font-size: 20px;
  line-height: 1;
}
.admin-order-detail-scroll {
  display: grid;
  flex: 1 1 auto;
  gap: 12px;
  overflow-y: auto;
  padding: 14px;
}
.admin-order-detail-card {
  border: 1px solid #eef2f7;
  border-radius: 18px;
  background: #ffffff;
  padding: 14px;
}
.admin-order-detail-card h4 {
  margin-bottom: 11px;
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
}
.admin-order-detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.admin-order-detail-row + .admin-order-detail-row {
  border-top: 1px solid #f1f5f9;
}
.admin-order-detail-row strong {
  color: #0f172a;
}
.admin-order-customer-box {
  display: grid;
  gap: 5px;
  border-radius: 16px;
  background: #f8fafc;
  padding: 12px;
}
.admin-order-customer-box strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 900;
}
.admin-order-customer-box span,
.admin-order-customer-box small {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
}
.admin-order-item-list {
  display: grid;
  gap: 9px;
}
.admin-order-detail-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: start;
  border-radius: 14px;
  background: #f8fafc;
  padding: 10px;
}
.admin-order-detail-item strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 900;
}
.admin-order-detail-item small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}
.admin-order-detail-item span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}
.admin-order-detail-item em {
  color: #0f172a;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}
.admin-order-total-lines {
  display: grid;
  gap: 9px;
}
.admin-order-total-lines > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.admin-order-total-lines strong {
  color: #0f172a;
  font-weight: 950;
}
.admin-order-total-lines .discount strong {
  color: #059669;
}
.admin-order-total-lines .grand {
  margin-top: 4px;
  border-top: 1px solid #e2e8f0;
  padding-top: 11px;
  color: #0f172a;
}
.admin-order-total-lines .grand strong {
  color: #ea580c;
  font-size: 18px;
}
.admin-order-settlement-card {
  background: #fff7ed;
}
.admin-order-note {
  border-radius: 14px;
  background: #f8fafc;
  padding: 12px;
  color: #475569;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}
.admin-order-copy-btn {
  width: 100%;
  margin-bottom: 9px;
  background: #eff6ff;
  color: #2563eb;
}
.admin-order-detail-card textarea {
  width: 100%;
  min-height: 150px;
  resize: vertical;
  border: 1px solid #dbeafe;
  border-radius: 14px;
  background: #ffffff;
  padding: 10px;
  color: #334155;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.55;
  outline: none;
}
.admin-order-detail-actions {
  display: grid;
  flex: 0 0 auto;
  gap: 10px;
  border-top: 1px solid #eef2f7;
  background: #ffffff;
  padding: 12px 14px 14px;
}
.admin-order-detail-actions .admin-order-status-select {
  width: 100%;
  max-width: none;
}
.admin-order-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.admin-order-quick-actions button {
  min-height: 34px;
  flex: 1 1 auto;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #ffffff;
  padding: 0 10px;
  color: #475569;
  font-size: 11px;
  font-weight: 900;
}
.admin-order-quick-actions button.active {
  border-color: #fdba74;
  background: #fff7ed;
  color: #ea580c;
}
@media (max-width: 1280px) {
  .admin-orders-dashboard {
    grid-template-columns: minmax(0, 1fr) 330px;
  }

  .admin-order-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-order-table-head,
  .admin-order-row {
    grid-template-columns: 104px minmax(150px, 1fr) 110px 130px 110px 104px 150px;
  }
}
@media (max-width: 1080px) {
  .admin-orders-dashboard {
    grid-template-columns: 1fr;
  }

  .admin-order-detail-panel {
    position: fixed;
    inset: auto 16px 16px;
    z-index: 80;
    max-height: min(86vh, 760px);
    min-height: 0;
    transform: translateY(calc(100% + 24px));
    border-radius: 24px;
    transition: transform 0.22s ease;
  }

  .admin-order-detail-panel.is-open {
    transform: translateY(0);
  }

  .admin-order-detail-panel.is-empty {
    display: none;
  }
}
@media (max-width: 860px) {
  .admin-orders-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-orders-hero-meta {
    width: 100%;
    text-align: left;
  }

  .admin-order-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-order-filter-bar {
    position: static;
    grid-template-columns: 1fr;
  }

  .admin-order-table-head {
    display: none;
  }

  .admin-order-table-card {
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  .admin-order-table-body {
    gap: 10px;
  }

  .admin-order-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    min-height: 0;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #ffffff;
    padding: 14px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.045);
  }

  .admin-order-row-actions {
    grid-column: 1 / -1;
  }
}
@media (max-width: 520px) {
  .admin-orders-hero h2 {
    font-size: 24px;
  }

  .admin-order-stats-grid {
    grid-template-columns: 1fr;
  }

  .admin-order-row {
    grid-template-columns: 1fr;
  }

  .admin-order-row-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-order-status-select {
    width: 100%;
    max-width: none;
  }
}
.crm-page {
  display: grid;
  gap: 18px;
  color: #111827;
}
.crm-page-hero,
.crm-list-panel,
.crm-detail-panel,
.crm-stat-card,
.crm-detail-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}
.crm-page-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 24px;
  padding: 22px 24px;
}
.crm-page-hero p,
.crm-page-hero span,
.crm-stat-card small,
.crm-stat-card em,
.crm-customer-identity small,
.crm-table-row small,
.crm-detail-metrics small,
.crm-points-line span,
.crm-points-grid,
.crm-mini-list small,
.crm-detail-empty p {
  color: #64748b;
}
.crm-page-hero p {
  margin: 0 0 6px;
  color: #f97316;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.crm-page-hero h2 {
  margin: 0;
  font-size: 28px;
  font-weight: 950;
  letter-spacing: 0;
}
.crm-page-hero span {
  display: block;
  margin-top: 6px;
  font-size: 14px;
  font-weight: 700;
}
.crm-refresh-btn,
.crm-reset-btn,
.crm-link-btn,
.crm-detail-actions button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 900;
}
.crm-refresh-btn {
  flex: 0 0 auto;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  padding: 0 16px;
  color: #fff;
  box-shadow: 0 14px 28px rgba(249, 115, 22, 0.22);
}
.crm-refresh-btn .icon-ux {
  transform: rotate(135deg);
}
.crm-stat-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.crm-stat-card {
  display: flex;
  min-height: 118px;
  align-items: center;
  gap: 14px;
  border-radius: 22px;
  padding: 18px;
}
.crm-stat-icon {
  display: grid;
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 18px;
}
.crm-stat-card small,
.crm-stat-card em {
  display: block;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}
.crm-stat-card strong {
  display: block;
  margin: 6px 0 4px;
  color: #0f172a;
  font-size: 24px;
  font-weight: 950;
}
.crm-stat-card--orange .crm-stat-icon { background: #ffedd5; color: #ea580c; }
.crm-stat-card--green .crm-stat-icon { background: #dcfce7; color: #16a34a; }
.crm-stat-card--purple .crm-stat-icon { background: #ede9fe; color: #7c3aed; }
.crm-stat-card--blue .crm-stat-icon { background: #dbeafe; color: #2563eb; }
.crm-stat-card--amber .crm-stat-icon { background: #fef3c7; color: #d97706; }
.crm-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 18px;
  align-items: start;
}
.crm-list-panel,
.crm-detail-panel {
  border-radius: 24px;
  overflow: hidden;
}
.crm-filter-bar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 170px auto 92px;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid rgba(15, 23, 42, 0.07);
  background: rgba(255, 255, 255, 0.94);
  padding: 14px;
  backdrop-filter: blur(12px);
}
.crm-search,
.crm-filter-bar select,
.crm-reset-btn {
  min-height: 44px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
}
.crm-search {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  color: #64748b;
}
.crm-search input,
.crm-filter-bar select {
  width: 100%;
  outline: none;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
}
.crm-filter-bar select {
  padding: 0 12px;
}
.crm-filter-tabs {
  display: flex;
  gap: 6px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #f8fafc;
  padding: 4px;
}
.crm-filter-tabs button {
  min-height: 34px;
  border-radius: 10px;
  padding: 0 12px;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}
.crm-filter-tabs button.active {
  background: #fff;
  color: #f97316;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}
.crm-reset-btn {
  color: #475569;
}
.crm-table-head,
.crm-table-row {
  display: grid;
  grid-template-columns: minmax(230px, 1.35fr) 120px 90px 130px 145px 90px;
  gap: 12px;
  align-items: center;
}
.crm-table-head {
  padding: 14px 18px;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.crm-table-body {
  display: grid;
}
.crm-table-row {
  width: 100%;
  min-height: 78px;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  padding: 12px 18px;
  text-align: left;
  transition: background 0.18s ease, box-shadow 0.18s ease;
}
.crm-table-row:hover,
.crm-table-row.is-selected {
  background: linear-gradient(90deg, #fff7ed, #ffffff 72%);
}
.crm-table-row.is-selected {
  box-shadow: inset 4px 0 0 #f97316;
}
.crm-table-row strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
}
.crm-customer-identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
}
.crm-customer-identity strong,
.crm-customer-identity small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.crm-customer-identity strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
}
.crm-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #fff7ed, #fed7aa);
  color: #ea580c;
  font-size: 13px;
  font-weight: 950;
}
.crm-customer-identity--compact {
  flex-direction: column;
  text-align: center;
}
.crm-customer-identity--compact .crm-avatar {
  width: 72px;
  height: 72px;
  font-size: 22px;
}
.crm-tier-badge,
.crm-soft-badge,
.crm-mini-list em {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.crm-badge-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.crm-tier-badge--diamond { background: #eef2ff; color: #4f46e5; }
.crm-tier-badge--gold { background: #fef3c7; color: #b45309; }
.crm-tier-badge--silver { background: #f1f5f9; color: #475569; }
.crm-tier-badge--bronze { background: #ffedd5; color: #c2410c; }
.crm-soft-badge {
  background: #ecfdf5;
  color: #059669;
}
.crm-soft-badge--care {
  background: #fef2f2;
  color: #dc2626;
}
.crm-soft-badge--guest {
  background: #fff7ed;
  color: #ea580c;
}
.crm-soft-badge--registered {
  background: #ecfdf5;
  color: #047857;
}
.crm-detail-panel {
  position: sticky;
  top: 88px;
  max-height: calc(100vh - 116px);
  display: flex;
  flex-direction: column;
}
.crm-detail-head {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.07);
  padding: 24px 18px 18px;
}
.crm-detail-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  color: #64748b;
  font-size: 20px;
}
.crm-detail-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.crm-detail-scroll {
  display: grid;
  gap: 14px;
  overflow-y: auto;
  padding: 14px;
}
.crm-detail-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.crm-detail-metrics article {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  padding: 12px;
}
.crm-detail-metrics strong {
  display: block;
  margin-top: 6px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
}
.crm-detail-card {
  display: grid;
  gap: 12px;
  border-radius: 18px;
  padding: 14px;
}
.crm-card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #f97316;
}
.crm-card-title h3 {
  margin: 0;
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
}
.crm-loyalty-card {
  background: linear-gradient(135deg, #fff7ed, #ffffff);
}
.crm-points-line {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}
.crm-points-line strong {
  color: #ea580c;
  font-size: 28px;
  font-weight: 950;
}
.crm-points-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  font-size: 12px;
  font-weight: 850;
}
.crm-points-grid span {
  border-radius: 12px;
  background: rgba(249, 115, 22, 0.08);
  padding: 9px 10px;
}
.crm-mini-list {
  display: grid;
  gap: 8px;
}
.crm-mini-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #edf2f7;
  border-radius: 14px;
  background: #fff;
  padding: 10px 12px;
}
.crm-mini-list strong,
.crm-mini-list small {
  display: block;
}
.crm-mini-list strong {
  color: #0f172a;
  font-size: 12px;
  font-weight: 950;
}
.crm-mini-list p,
.crm-empty-state p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}
.crm-status-active { background: #dcfce7; color: #16a34a; }
.crm-status-used { background: #f1f5f9; color: #64748b; }
.crm-status-canceled { background: #fee2e2; color: #dc2626; }
.crm-voucher-row-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}
.crm-voucher-row-actions button {
  min-height: 30px;
  border-radius: 999px;
  background: #fff1f2;
  padding: 0 10px;
  color: #e11d48;
  font-size: 11px;
  font-weight: 950;
}
.crm-voucher-row-actions button:hover {
  background: #ffe4e6;
}
.crm-link-btn {
  justify-self: start;
  min-height: 36px;
  padding: 0 12px;
  background: #fff7ed;
  color: #ea580c;
}
.crm-detail-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  border-top: 1px solid rgba(15, 23, 42, 0.07);
  background: #fff;
  padding: 14px;
}
.crm-detail-actions button {
  min-height: 40px;
  background: #fff7ed;
  color: #ea580c;
}
.crm-detail-actions button:first-child {
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: #fff;
}
.crm-detail-actions button.danger {
  background: #fef2f2;
  color: #dc2626;
}
.crm-voucher-picker-backdrop {
  position: fixed;
  inset: 0;
  z-index: 95;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, 0.34);
  padding: 24px;
  backdrop-filter: blur(5px);
}
.crm-voucher-picker {
  display: grid;
  width: min(440px, 100%);
  max-height: min(78vh, 620px);
  overflow: hidden;
  border: 1px solid rgba(249, 115, 22, 0.18);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 26px 72px rgba(15, 23, 42, 0.24);
}
.crm-voucher-picker-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid #eef2f7;
  padding: 16px;
}
.crm-voucher-picker-head h3 {
  margin: 0;
  color: #0f172a;
  font-size: 17px;
  font-weight: 950;
}
.crm-voucher-picker-head p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.crm-voucher-picker-head button {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #f8fafc;
  color: #64748b;
  font-size: 20px;
}
.crm-voucher-picker-list {
  display: grid;
  gap: 10px;
  overflow-y: auto;
  padding: 14px;
}
.crm-voucher-picker-list button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #fed7aa;
  border-radius: 16px;
  background: #fff7ed;
  padding: 12px;
  text-align: left;
}
.crm-voucher-picker-list strong,
.crm-voucher-picker-list small {
  display: block;
}
.crm-voucher-picker-list strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
}
.crm-voucher-picker-list small,
.crm-voucher-picker-list p {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.crm-voucher-picker-list em {
  flex: 0 0 auto;
  border-radius: 999px;
  background: #ffedd5;
  padding: 7px 10px;
  color: #ea580c;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}
.crm-detail-empty,
.crm-empty-state {
  display: grid;
  min-height: 280px;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 28px;
  text-align: center;
}
.crm-detail-empty {
  min-height: 520px;
}
.crm-detail-empty .icon-ux,
.crm-empty-state .icon-ux {
  color: #f97316;
}
.crm-detail-empty h3 {
  margin: 0;
  color: #0f172a;
  font-size: 18px;
  font-weight: 950;
}
.admin-loyalty-settings {
  gap: 12px;
}
.admin-loyalty-form-stack {
  display: grid;
  gap: 12px;
}
.admin-loyalty-note {
  display: block;
  padding: 0 16px 16px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}
.admin-loyalty-head {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  padding: 12px 14px;
}
.admin-loyalty-card small {
  display: block;
  margin-top: 10px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}
@media (max-width: 1280px) {
  .crm-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .crm-workspace {
    grid-template-columns: 1fr;
  }

  .crm-detail-panel {
    position: fixed;
    inset: auto 18px 18px;
    z-index: 80;
    max-height: min(82vh, 760px);
    transform: translateY(calc(100% + 30px));
    opacity: 0;
    pointer-events: none;
    transition: transform 0.22s ease, opacity 0.22s ease;
  }

  .crm-detail-panel.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
}
@media (max-width: 980px) {
  .admin-orders-toolbar,
  .admin-crm-toolbar {
    position: static;
  }

  .crm-page-hero,
  .crm-filter-bar {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .crm-page-hero {
    flex-direction: column;
  }

  .crm-refresh-btn {
    width: 100%;
  }

  .crm-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .crm-table-head {
    display: none;
  }

  .crm-table-row {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .crm-table-row .crm-customer-identity {
    grid-column: 1 / -1;
  }
}
@media (max-width: 640px) {
  .crm-page-hero h2 {
    font-size: 23px;
  }

  .crm-stat-grid,
  .crm-detail-metrics,
  .crm-detail-actions,
  .crm-points-grid {
    grid-template-columns: 1fr;
  }

  .crm-filter-tabs {
    overflow-x: auto;
  }

  .crm-filter-tabs button {
    flex: 0 0 auto;
  }

  .crm-table-row {
    grid-template-columns: 1fr;
  }
}
/* ===== Admin SaaS Redesign - Phase 3 (Menu + Promo + Store + Polish) ===== */
.admin-menu-page {
  gap: 12px;
}
.admin-menu-section {
  border-radius: 16px;
}
.admin-menu-sticky-toolbar {
  position: sticky;
  top: 64px;
  z-index: 15;
  margin-bottom: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.95);
  padding: 10px;
}
.admin-menu-overview-board,
.admin-menu-groups-board {
  border-color: #e2e8f0;
  border-radius: 14px;
  background: #fff;
}
.admin-menu-col-head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fff;
}
.admin-menu-category-item,
.admin-menu-product-row {
  transition: background 0.2s ease, border-color 0.2s ease;
}
.admin-menu-category-item:hover,
.admin-menu-product-row:hover {
  background: #f8fbff;
}
.admin-menu-bulk-section .admin-mini-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-promo-page {
  border-radius: 16px;
}
.admin-promo-page .admin-panel-head {
  position: sticky;
  top: 8px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 10px 12px;
  margin-bottom: 12px;
}
.admin-promo-tabs {
  position: sticky;
  top: 76px;
  z-index: 15;
  margin-bottom: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.95);
  padding: 8px;
}
.admin-store-panel {
  border-radius: 16px;
}
.admin-store-panel .admin-panel-head {
  margin-bottom: 14px;
}
.admin-store-panel .admin-table,
.admin-store-panel .admin-mini-grid {
  gap: 12px;
}
.admin-store-panel .admin-edit-card,
.admin-store-panel .admin-mini-card {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
}
.admin-store-panel .admin-secondary {
  margin-top: 10px;
}
.admin-shell .admin-panel,
.admin-shell .admin-mini-card {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-xl);
  background: var(--admin-card-bg);
  box-shadow: var(--admin-shadow-soft);
}
.admin-shell .admin-mini-card {
  border-radius: var(--admin-radius-lg);
  box-shadow: var(--admin-shadow-card);
}
.admin-shell .admin-panel-head button,
.admin-shell .admin-btn,
.admin-shell .admin-secondary,
.admin-shell .admin-danger {
  display: inline-flex;
  min-height: var(--admin-control-height-lg);
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--admin-radius-md);
  padding: 0 14px;
  font-size: var(--admin-font-size-md);
  font-weight: var(--admin-font-weight-semibold);
  transition: background-color var(--admin-transition), border-color var(--admin-transition), color var(--admin-transition), box-shadow var(--admin-transition), transform var(--admin-transition);
}
.admin-shell .admin-panel-head button,
.admin-shell .admin-btn-primary {
  border: 1px solid #fb923c;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: #fff;
  box-shadow: 0 10px 22px rgba(249, 115, 22, 0.18);
}
.admin-shell .admin-btn,
.admin-shell .admin-secondary {
  border: 1px solid var(--admin-border-strong);
  background: var(--admin-card-bg);
  color: var(--admin-secondary);
}
.admin-shell .admin-danger {
  border: 1px solid #fecaca;
  background: var(--admin-danger-soft);
  color: var(--admin-danger);
}
.admin-shell .admin-input,
.admin-shell .admin-status-select,
.admin-shell .admin-search-input {
  min-height: var(--admin-control-height-lg);
  border: 1px solid var(--admin-border-strong);
  border-radius: var(--admin-radius-md);
  background: var(--admin-card-bg);
  color: var(--admin-text);
  font-size: var(--admin-font-size-md);
  font-weight: var(--admin-font-weight-medium);
  outline: none;
}
.admin-shell .admin-input:focus,
.admin-shell .admin-status-select:focus,
.admin-shell .admin-search-input:focus-within {
  border-color: #fb923c;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12);
}
@media (max-width: 980px) {
  .admin-menu-sticky-toolbar,
  .admin-promo-tabs {
    position: static;
  }

  .admin-menu-bulk-section .admin-mini-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .admin-menu-bulk-section .admin-mini-grid {
    grid-template-columns: 1fr;
  }
}
/* ===== Admin Visual QA Pass ===== */
.admin-gap-12 { margin-bottom: 12px; }
.admin-gap-top-12 { margin-top: 12px; }
.admin-gap-top-10 { margin-top: 10px; }
.admin-main {
  line-height: 1.45;
}
.admin-panel + .admin-panel {
  margin-top: 2px;
}
.admin-panel-head h2 {
  letter-spacing: -0.01em;
}
.admin-help-text {
  color: #64748b;
  font-size: 12px;
  line-height: 1.5;
}
.admin-mini-card strong {
  color: #1e293b;
  font-size: 13px;
  font-weight: 900;
}
.admin-mini-card p,
.admin-mini-card span,
.admin-mini-card small,
.admin-mini-card label {
  color: #64748b;
  font-size: 12px;
}
.admin-mini-card p {
  margin-top: 3px;
  font-size: 13px;
  color: #334155;
  font-weight: 700;
}
.admin-crm-card .crm-customer-head-meta small {
  font-size: 11px;
}
.admin-crm-quick-actions .admin-secondary,
.admin-crm-quick-actions .admin-danger {
  width: 100%;
  justify-self: stretch;
}
.admin-crm-order-history .admin-secondary {
  margin-top: 8px;
}
.admin-order-item small {
  text-transform: capitalize;
}
.admin-menu-product-row strong,
.admin-menu-category-item span {
  font-size: 14px;
}
.admin-menu-product-row em,
.admin-menu-category-item em {
  font-size: 12px;
}
.admin-promo-page .admin-panel-head h2,
.admin-store-panel .admin-panel-head h2,
.admin-menu-section .admin-panel-head h2 {
  font-size: 17px;
}
.admin-store-panel textarea.admin-input,
.admin-promo-page textarea.admin-input {
  min-height: 92px;
}
.admin-top-header,
.admin-page-header,
.admin-toolbar,
.admin-panel,
.admin-stat-card,
.admin-mini-card,
.admin-edit-card {
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
}
@media (max-width: 980px) {
  .admin-panel-head h2 {
    font-size: 15px;
  }

  .admin-menu-main-tabs {
    gap: 10px;
  }

  .admin-menu-main-tabs button {
    font-size: 12px;
  }
}
/* ===== Admin Comfort Mode: Spacious ===== */
.admin-main {
  padding: 22px 28px 30px;
}
.admin-top-header {
  margin-bottom: 18px;
  padding: 12px 14px;
}
.admin-page-header {
  margin-bottom: 20px;
  padding: 18px 20px;
}
.admin-page-header h1 {
  font-size: 28px;
}
.admin-stack {
  gap: 20px;
}
.admin-panel {
  padding: 18px;
}
.admin-panel-head {
  margin-bottom: 14px;
}
.admin-panel-head h2 {
  font-size: 18px;
}
.admin-toolbar {
  padding: 12px 14px;
}
.admin-grid {
  gap: 14px;
}
.admin-stat-card {
  padding: 16px;
  gap: 8px;
}
.admin-stat-card strong {
  font-size: 26px;
}
.admin-stat-card small {
  font-size: 12px;
}
.admin-mini-grid {
  gap: 12px;
}
.admin-mini-card,
.admin-edit-card,
.admin-option-group,
.admin-order-item,
.admin-crm-card {
  padding: 14px;
}
.admin-input,
.admin-status-select,
.admin-search-input,
.admin-btn,
.admin-secondary,
.admin-danger {
  min-height: 40px;
}
.admin-input,
.admin-status-select {
  padding: 10px 12px;
  font-size: 14px;
}
.admin-search-input input,
.admin-top-search input {
  font-size: 14px;
}
.admin-help-text,
.admin-mini-card span,
.admin-mini-card small,
.admin-order-item small {
  font-size: 12px;
  line-height: 1.55;
}
.admin-order-card {
  padding: 14px;
}
.admin-menu-sticky-toolbar,
.admin-promo-tabs,
.admin-orders-toolbar,
.admin-crm-toolbar {
  top: 72px;
}
.admin-menu-category-item,
.admin-menu-product-row {
  padding: 16px;
}
.admin-menu-tabs {
  gap: 10px;
}
.admin-menu-tabs button {
  padding: 9px 13px;
}
.admin-crm-quick-actions {
  gap: 10px;
}
.admin-top-header,
.admin-page-header,
.admin-toolbar,
.admin-panel,
.admin-stat-card,
.admin-mini-card,
.admin-edit-card {
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045);
}
@media (max-width: 980px) {
  .admin-main {
    padding: 16px;
  }

  .admin-page-header h1 {
    font-size: 24px;
  }

  .admin-stack {
    gap: 16px;
  }

  .admin-panel {
    padding: 14px;
  }
}
/* Menu controls polish: buttons, tabs, inputs, badges, and row actions only. */
.admin-menu-page,
.admin-side-backdrop {
  --menu-brand: #f97316;
  --menu-brand-strong: #ea580c;
  --menu-brand-soft: #fff7ed;
  --menu-border: #e2e8f0;
  --menu-text: #0f172a;
  --menu-muted: #64748b;
  --menu-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}
.admin-menu-page button,
.admin-side-backdrop button {
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.admin-menu-page button:hover,
.admin-side-backdrop button:hover {
  transform: translateY(-1px);
}
.admin-menu-page button:active,
.admin-side-backdrop button:active {
  transform: translateY(0);
}
.admin-menu-page .admin-menu-main-tabs {
  gap: 8px;
  border-bottom: 0;
  padding: 4px;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid var(--menu-border);
  border-radius: 16px;
  background: #f8fafc;
}
.admin-menu-page .admin-menu-main-tabs button {
  min-height: 38px;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 0 14px;
  color: var(--menu-muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: none;
}
.admin-menu-page .admin-menu-main-tabs button:hover {
  background: #fff;
  color: var(--menu-brand-strong);
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.05);
}
.admin-menu-page .admin-menu-main-tabs button.active {
  border-bottom: 1px solid #fed7aa;
  border-color: #fed7aa;
  background: var(--menu-brand-soft);
  color: var(--menu-brand-strong);
  box-shadow: 0 8px 18px rgba(249, 115, 22, 0.12);
}
.admin-menu-page .admin-menu-left-actions > button,
.admin-menu-page .admin-menu-filter-btn,
.admin-menu-page .admin-secondary,
.admin-menu-page .group-add-option-btn,
.admin-side-backdrop .admin-secondary,
.admin-side-backdrop .group-add-option-btn,
.admin-side-backdrop .admin-option-head button,
.admin-side-backdrop .admin-add-option {
  min-height: 42px;
  border: 1px solid var(--menu-border);
  border-radius: 14px;
  background: #fff;
  padding: 0 14px;
  color: var(--menu-text);
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.035);
}
.admin-menu-page .admin-menu-filter-btn {
  border-color: #fb923c;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: #fff;
  box-shadow: 0 10px 22px rgba(249, 115, 22, 0.22);
}
.admin-menu-page .admin-menu-filter-btn:hover {
  border-color: var(--menu-brand-strong);
  background: linear-gradient(135deg, #f97316, #ea580c);
  color: #fff;
}
.admin-menu-page .admin-menu-create-dropdown {
  border-color: var(--menu-border);
  border-radius: 14px;
  padding: 6px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
}
.admin-menu-page .admin-menu-create-dropdown button {
  min-height: 38px;
  border-radius: 10px;
  padding: 0 12px;
  color: var(--menu-text);
  font-size: 13px;
  font-weight: 800;
}
.admin-menu-page .admin-menu-create-dropdown button:hover {
  background: var(--menu-brand-soft);
  color: var(--menu-brand-strong);
}
.admin-menu-page .admin-menu-create-dropdown button + button {
  border-top: 0;
}
.admin-menu-page .admin-input,
.admin-side-backdrop .admin-input,
.admin-side-backdrop .admin-product-form input,
.admin-side-backdrop .admin-product-form select,
.admin-side-backdrop .admin-product-form textarea,
.admin-side-backdrop .menu-item-picker-search input,
.admin-side-backdrop .group-rule-inline select,
.admin-side-backdrop .group-rule-inline input {
  min-height: 42px;
  border: 1px solid var(--menu-border);
  border-radius: 14px;
  background: #fff;
  padding: 0 13px;
  color: var(--menu-text);
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}
.admin-side-backdrop .admin-product-form textarea {
  padding-top: 12px;
  padding-bottom: 12px;
}
.admin-menu-page .admin-input:focus,
.admin-side-backdrop .admin-input:focus,
.admin-side-backdrop .admin-product-form input:focus,
.admin-side-backdrop .admin-product-form select:focus,
.admin-side-backdrop .admin-product-form textarea:focus,
.admin-side-backdrop .menu-item-picker-search input:focus,
.admin-side-backdrop .group-rule-inline select:focus,
.admin-side-backdrop .group-rule-inline input:focus {
  border-color: #fb923c;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12);
}
.admin-menu-page .admin-menu-category-item,
.admin-menu-page .admin-menu-product-row {
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.admin-menu-page .admin-menu-category-item:hover,
.admin-menu-page .admin-menu-product-row:hover {
  background: #fff7ed;
}
.admin-menu-page .admin-menu-category-item.active {
  background: linear-gradient(90deg, #fff7ed, #ffffff);
  box-shadow: inset 4px 0 0 var(--menu-brand);
}
.admin-menu-page .admin-menu-category-item em,
.admin-menu-page .admin-menu-product-row i,
.admin-menu-page .admin-menu-product-row em {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 999px;
  color: var(--menu-muted);
  font-weight: 700;
}
.admin-menu-page .admin-menu-category-item em small {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  border-radius: 999px;
  background: #ffedd5;
  padding: 0 8px;
  color: var(--menu-brand-strong);
  font-size: 11px;
  font-weight: 800;
}
.admin-menu-page .admin-menu-preset-edit-btn,
.admin-side-backdrop .admin-product-side-head button,
.admin-side-backdrop .admin-option-remove {
  display: inline-grid;
  width: 34px;
  height: 34px;
  min-height: 34px;
  place-items: center;
  border: 1px solid var(--menu-border);
  border-radius: 12px;
  background: #fff;
  color: #475569;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.04);
}
.admin-menu-page .admin-menu-preset-edit-btn:hover,
.admin-side-backdrop .admin-product-side-head button:hover {
  border-color: #fed7aa;
  background: var(--menu-brand-soft);
  color: var(--menu-brand-strong);
}
.admin-side-backdrop .admin-danger,
.admin-side-backdrop .menu-item-editor-actions .admin-danger {
  min-height: 42px;
  border: 1px solid #fecaca;
  border-radius: 14px;
  background: #fff1f2;
  padding: 0 14px;
  color: #dc2626;
  font-size: 13px;
  font-weight: 800;
  box-shadow: none;
}
.admin-side-backdrop .admin-danger:hover,
.admin-side-backdrop .menu-item-editor-actions .admin-danger:hover {
  border-color: #fca5a5;
  background: #fee2e2;
}
.admin-side-backdrop .menu-item-editor-actions > button:last-child,
.admin-side-backdrop .menu-item-picker-actions .menu-item-picker-confirm-active,
.admin-side-backdrop .admin-modal-actions > button:last-child {
  min-height: 42px;
  border: 1px solid #fb923c;
  border-radius: 14px;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: #fff;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 10px 22px rgba(249, 115, 22, 0.2);
}
.admin-side-backdrop .menu-item-editor-actions > button:last-child:hover,
.admin-side-backdrop .menu-item-picker-actions .menu-item-picker-confirm-active:hover,
.admin-side-backdrop .admin-modal-actions > button:last-child:hover {
  background: linear-gradient(135deg, #f97316, #ea580c);
}
.admin-side-backdrop .menu-item-editor-actions .admin-secondary {
  justify-self: stretch;
  border-color: var(--menu-border);
  background: #fff;
  color: #334155;
}
.admin-side-backdrop .menu-item-editor-actions .admin-secondary:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}
.admin-side-backdrop .admin-option-remove {
  border-color: #fecaca;
  background: #fff1f2;
  color: #dc2626;
  font-size: 18px;
}
.admin-side-backdrop .admin-option-remove:hover {
  background: #fee2e2;
}
.admin-side-backdrop .menu-item-picker-row,
.admin-side-backdrop .menu-item-linked-group,
.admin-side-backdrop .group-option-card {
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.admin-side-backdrop .menu-item-picker-row:hover,
.admin-side-backdrop .menu-item-linked-group:hover,
.admin-side-backdrop .group-option-card:hover {
  background: #fff7ed;
}
.admin-side-backdrop .menu-item-picker-row input,
.admin-side-backdrop .group-rule-radio input,
.admin-side-backdrop .admin-required-check input {
  accent-color: var(--menu-brand);
}
@media (max-width: 980px) {
  .admin-menu-page .admin-menu-main-tabs {
    width: 100%;
  }

  .admin-menu-page .admin-menu-main-tabs button {
    flex: 1 1 auto;
  }
}
/* Customer mobile app shell */
.customer-shell {
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
}
.customer-shell.bg-app {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.72), rgba(255, 247, 236, 0.82)),
    #f2eee8;
}
.customer-shell .shadow-preview,
main.shadow-preview {
  width: min(100vw, 430px);
  max-width: 430px;
  min-height: 100vh;
  margin-right: auto;
  margin-left: auto;
  overflow-x: hidden;
  box-shadow: 0 0 70px rgba(58, 31, 20, 0.14);
}
.home2026-shell,
.home2026-shell * {
  min-width: 0;
}
.home2026-shell {
  width: 100%;
  max-width: 100%;
  justify-self: center;
  padding-left: 16px;
  padding-right: 16px;
}
.home2026-shell > *,
.home2026-section,
.home2026-program-grid,
.home2026-search,
.home2026-flash-deal {
  width: 100%;
  max-width: 100%;
}
.home2026-section-head {
  width: 100%;
  align-items: center;
}
.home2026-section-head h2 {
  flex: 1 1 auto;
  min-width: 0;
}
.home2026-section-head button {
  flex: 0 0 auto;
  padding-left: 10px;
  text-align: right;
  white-space: nowrap;
}
.home2026-section > .grid.grid-cols-2 {
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 390px) {
  .home2026-shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .home2026-section > .grid.grid-cols-2 {
    gap: 10px;
  }

  .home2026-section-head h2 {
    font-size: 18px;
  }

  .home2026-section-head button {
    font-size: 11px;
  }
}
.home2026-greeting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.home2026-greeting h1 {
  color: #3a1f14;
  font-size: 24px;
  font-weight: 850;
  line-height: 1.08;
}
.home2026-greeting p {
  margin-top: 6px;
  color: rgba(58, 31, 20, 0.58);
  font-size: 14px;
  font-weight: 650;
}
.home2026-profile-btn {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 17px;
  background: white;
  color: #ff6a00;
  box-shadow: 0 12px 26px rgba(58, 31, 20, 0.08);
}
.home2026-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  border: 1px solid rgba(255, 106, 0, 0.1);
  border-radius: 21px;
  background: white;
  padding: 0 16px;
  color: rgba(58, 31, 20, 0.45);
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 13px 28px rgba(58, 31, 20, 0.06);
}
.home2026-user-outline {
  position: relative;
  display: block;
  width: 19px;
  height: 19px;
}
.home2026-user-outline::before {
  position: absolute;
  left: 50%;
  top: 1px;
  width: 7px;
  height: 7px;
  transform: translateX(-50%);
  border: 1.8px solid #ff6a00;
  border-radius: 999px;
  content: "";
}
.home2026-user-outline::after {
  position: absolute;
  left: 50%;
  bottom: 1px;
  width: 15px;
  height: 9px;
  transform: translateX(-50%);
  border: 1.8px solid #ff6a00;
  border-top-left-radius: 999px;
  border-top-right-radius: 999px;
  border-bottom: 0;
  content: "";
}
.customer-bottom-nav {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 40;
  display: grid;
  width: 100%;
  max-width: 430px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  transform: translateX(-50%);
  border-top: 1px solid rgb(255 237 213);
  background: rgb(255 255 255 / 0.95);
  padding: 8px 8px 8px;
  box-shadow: 0 -12px 32px rgba(58, 31, 20, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.customer-bottom-nav__item {
  display: flex;
  height: 56px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 16px;
  padding: 0 4px;
  color: rgba(58, 31, 20, 0.55);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}
.customer-bottom-nav__item--active {
  color: #ea580c;
}
.customer-bottom-nav__icon {
  display: grid;
  min-width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 12px;
}
.customer-bottom-nav__icon--active {
  background: rgb(255 247 237);
}
.home2026-banner-track {
  display: flex;
  margin-inline: -16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-inline: 16px;
}
.home2026-banner-card {
  position: relative;
  min-height: 184px;
  min-width: 100%;
  overflow: hidden;
  scroll-snap-align: start;
  border-radius: 28px;
  background: linear-gradient(135deg, #ffca1a, #ff5a1f 68%, #c74216);
  box-shadow: 0 18px 36px rgba(255, 90, 31, 0.22);
}
.home2026-banner-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1.03);
}
.home2026-banner-content {
  position: relative;
  z-index: 1;
  display: grid;
  max-width: 68%;
  gap: 7px;
  padding: 22px;
  color: white;
}
.home2026-banner-content span {
  width: -moz-max-content;
  width: max-content;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 800;
}
.home2026-banner-content h2 {
  font-size: 23px;
  font-weight: 900;
  line-height: 1.07;
}
.home2026-banner-content p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}
.home2026-banner-content button {
  width: -moz-max-content;
  width: max-content;
  border-radius: 16px;
  background: white;
  padding: 10px 14px;
  color: #ff5a1f;
  font-size: 13px;
  font-weight: 850;
}
.home2026-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding-top: 10px;
}
.home2026-dots button {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(58, 31, 20, 0.16);
  transition: 0.2s ease;
}
.home2026-dots button.active {
  width: 22px;
  background: #ff6a00;
}
/* Home 2026 layout corrections */
.home2026-banner-track {
  margin-inline: 0;
  padding-inline: 0;
  gap: 0;
  border-radius: 28px;
  overscroll-behavior-x: contain;
}
.home2026-banner-card {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
}
.home2026-banner-content {
  max-width: 76%;
  padding: 20px;
}
.home2026-banner-content h2 {
  font-size: 21px;
}
@media (max-width: 380px) {
  .home2026-banner-content {
    max-width: 82%;
    padding: 18px;
  }

  .home2026-banner-content h2 {
    font-size: 20px;
  }
}
.home2026-category-scroll-wrap {
  position: relative;
  width: 100%;
}
.home2026-category-scroll-wrap::before,
.home2026-category-scroll-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 12px;
  width: 20px;
  pointer-events: none;
  z-index: 1;
}
.home2026-category-scroll-wrap::before {
  left: 0;
  background: linear-gradient(to right, #f6f1e7 5%, rgba(246, 241, 231, 0));
}
.home2026-category-scroll-wrap::after {
  right: 0;
  background: linear-gradient(to left, #f6f1e7 5%, rgba(246, 241, 231, 0));
}
.home2026-category-scroll {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 100%;
  gap: 10px;
  margin-inline: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 1px 0 12px;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
}
.home2026-category-bubble {
  display: inline-flex;
  min-width: -moz-max-content;
  min-width: max-content;
  min-height: 38px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  scroll-snap-align: start;
  border: 1px solid rgba(255, 106, 0, 0.18);
  border-radius: 999px;
  background: #fff;
  padding: 0 13px;
  color: rgba(58, 31, 20, 0.78);
  font-size: 11.5px;
  font-weight: 850;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(58, 31, 20, 0.05);
}
.home2026-category-bubble.active {
  border-color: #ff6a00;
  background: linear-gradient(135deg, #ffb800, #ff6a00);
  color: #fff;
  box-shadow: 0 10px 20px rgba(255, 106, 0, 0.18);
}
.pickup-time-card {
  display: grid;
  gap: 12px;
  border-radius: 22px;
  background: #fffaf3;
  padding: 12px;
}
.pickup-mode-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  border-radius: 18px;
  background: white;
  padding: 4px;
}
.pickup-mode-tabs button {
  min-height: 40px;
  border-radius: 14px;
  color: rgba(58, 31, 20, 0.62);
  font-size: 13px;
  font-weight: 900;
}
.pickup-mode-tabs button.active {
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: white;
}
.customer-shell .cta {
  min-height: 56px;
  border-radius: 20px;
  background: linear-gradient(135deg, #ff7a00 0%, #ff4f17 100%);
  color: white;
  font-weight: 900;
  box-shadow: var(--shadow-orange);
}
.customer-shell .cta-small,
.customer-shell .ghost-small {
  border-radius: 16px;
  background: linear-gradient(135deg, #ff7a00 0%, #ff4f17 100%);
  padding: 12px 14px;
  color: white;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: var(--shadow-orange);
}
.customer-shell .ghost-small {
  background: white;
  color: #ff5a1f;
  box-shadow: 0 8px 18px rgba(58, 31, 20, 0.08);
}
.input {
  min-height: 48px;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 16px;
  background: white;
  padding: 0 14px;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 700;
  outline: none;
}
.qty-btn {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 999px;
  background: white;
  color: #3a1f14;
  font-weight: 900;
}
.choice {
  display: flex;
  width: 100%;
  min-height: 46px;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 16px;
  background: white;
  padding: 0 14px;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 800;
}
.product-card {
  overflow: hidden;
  border: 1px solid rgba(58, 31, 20, 0.04);
  border-radius: 24px;
  background: white;
  box-shadow: var(--shadow-soft);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.product-row {
  display: flex;
  gap: 12px;
  border-radius: 24px;
  background: white;
  padding: 9px;
  box-shadow: var(--shadow-soft);
}
.product-image-wrap,
.product-row-image {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 0.82;
  overflow: hidden;
  border-radius: 22px;
}
.product-row-image {
  width: 118px;
  min-width: 118px;
  aspect-ratio: 1 / 0.9;
}
.product-selected {
  border-color: rgba(255, 106, 0, 0.28);
  box-shadow: 0 12px 28px rgba(255, 106, 0, 0.12);
}
.selected-badge {
  position: absolute;
  right: 8px;
  bottom: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  padding: 5px 8px;
  color: #ff6a00;
  font-size: 10px;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(58, 31, 20, 0.12);
}
.product-card-mark {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: #fff3e6;
  color: #ff8a00;
}
.product-add-btn {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: white;
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 12px 24px rgba(255, 90, 31, 0.25);
}
.product-card-stepper {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  border: 1px solid rgba(255, 106, 0, 0.2);
  border-radius: 16px;
  background: #fff7ec;
  padding: 3px;
  box-shadow: 0 10px 20px rgba(255, 106, 0, 0.1);
}
.product-card-stepper button {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 12px;
  background: white;
  color: #ff6a00;
  font-size: 18px;
  font-weight: 950;
}
.product-card-stepper span {
  min-width: 20px;
  text-align: center;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 950;
}
.customer-shell .badge {
  position: absolute;
  left: 8px;
  top: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff3838, #ff7a00);
  padding: 4px 7px;
  color: white;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.menu-sticky-tools {
  position: sticky;
  top: 64px;
  z-index: 20;
  display: grid;
  gap: 10px;
  margin-inline: -4px;
  border-bottom: 1px solid rgba(255, 194, 119, 0.32);
  background: rgba(255, 247, 236, 0.94);
  padding: 0 4px 10px;
  backdrop-filter: blur(14px);
}
.menu-search {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(255, 106, 0, 0.08);
  border-radius: 22px;
  background: white;
  padding: 12px 14px;
  color: rgba(58, 31, 20, 0.45);
  box-shadow: var(--shadow-soft);
}
.menu-chip-row,
.menu-quick-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 1px;
}
.menu-chip-row-wrap {
  position: relative;
}
.menu-chip-row-wrap::before,
.menu-chip-row-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 16px;
  pointer-events: none;
  z-index: 2;
}
.menu-chip-row-wrap::before {
  left: 0;
  background: linear-gradient(to right, rgba(255, 247, 236, 0.95), rgba(255, 247, 236, 0));
}
.menu-chip-row-wrap::after {
  right: 0;
  background: linear-gradient(to left, rgba(255, 247, 236, 0.95), rgba(255, 247, 236, 0));
}
.menu-chip-row {
  flex-wrap: nowrap;
  scroll-snap-type: x proximity;
  padding-inline: 0;
}
.chip,
.filter-btn,
.option {
  min-height: 42px;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 16px;
  background: white;
  padding: 0 16px;
  color: rgba(58, 31, 20, 0.78);
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(58, 31, 20, 0.04);
  white-space: nowrap;
}
.chip-active,
.option-active,
.choice-active {
  border-color: transparent;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: white;
}
.chip-pinned-all {
  position: sticky;
  left: 0;
  z-index: 3;
}
.filter-btn {
  min-height: 38px;
}
.float-btn,
.top-icon {
  display: grid;
  min-width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
  color: #3a1f14;
  font-size: 13px;
  font-weight: 900;
  box-shadow: var(--shadow-soft);
}
.label {
  display: block;
  color: rgba(58, 31, 20, 0.78);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.topping-card {
  display: grid;
  min-width: 116px;
  gap: 4px;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 18px;
  background: white;
  padding: 12px 10px;
  color: #3a1f14;
  font-size: 12px;
  font-weight: 900;
  box-shadow: var(--shadow-soft);
}
.topping-card span {
  color: rgba(58, 31, 20, 0.56);
  font-size: 11px;
}
.topping-active {
  border-color: rgba(255, 90, 31, 0.5);
  background: #fff3e6;
}
.menu-addon-section {
  margin-top: 18px;
  border: 1px solid #f0cd73;
  border-radius: 22px;
  background: #fffefa;
  padding: 16px;
  box-shadow: 0 10px 28px rgba(88, 54, 20, 0.05);
}
.menu-addon-section > p {
  color: #b77900;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.menu-addon-section > h2 {
  margin-top: 6px;
  margin-bottom: 12px;
  color: #1f1714;
  font-size: 22px;
  font-weight: 950;
}
.menu-addon-section > div:first-child > span {
  flex: 0 0 auto;
  color: rgba(58, 31, 20, 0.45);
  font-size: 11px;
  font-weight: 900;
}
.menu-addon-scroll {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scroll-snap-type: x proximity;
}
.menu-addon-card {
  display: grid;
  min-width: 148px;
  min-height: 132px;
  border: 1px solid #f0cd73;
  border-radius: 18px;
  background: #fffdf8;
  padding: 12px;
  cursor: pointer;
  text-align: left;
  scroll-snap-align: start;
  overflow: hidden;
}
.menu-addon-main {
  display: grid;
  gap: 6px;
  text-align: left;
  min-width: 0;
}
.menu-addon-card.addon-selected {
  border-color: #ffb000;
  background: #fff8df;
  box-shadow: 0 10px 24px rgba(255, 176, 0, 0.16);
}
.menu-addon-card h3 {
  color: #211713;
  font-size: 15px;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.menu-addon-card p {
  display: -webkit-box;
  min-height: 34px;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: break-word;
  color: rgba(58, 31, 20, 0.62);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.38;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.menu-addon-card div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
}
.menu-addon-card strong {
  color: #c48700;
  font-size: 14px;
  font-weight: 950;
}
.menu-addon-card .addon-plus {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffda21, #ffb000);
  color: #1f1714;
  font-size: 20px;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(255, 176, 0, 0.26);
}
.addon-stepper {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  border-radius: 999px;
  background: #fff3d0;
  padding: 3px;
}
.addon-stepper button {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 999px;
  background: white;
  color: #c48700;
  font-size: 17px;
  font-weight: 950;
}
.addon-stepper em {
  min-width: 18px;
  text-align: center;
  color: #1f1714;
  font-style: normal;
  font-size: 12px;
  font-weight: 950;
}
.branch-card {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 22px;
  background: #fffaf3;
  padding: 12px;
}
.branch-card-active {
  border-color: rgba(255, 106, 0, 0.55);
  background: #fff0df;
}
.branch-card strong {
  display: block;
  color: #3a1f14;
  font-size: 14px;
  font-weight: 950;
}
.branch-card small,
.branch-card em {
  display: block;
  margin-top: 3px;
  color: rgba(58, 31, 20, 0.58);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.35;
}
.branch-card em {
  color: #ff6a00;
}
.branch-closing-warning {
  margin-top: 6px;
  border: 1px solid rgba(251, 146, 60, 0.28);
  border-radius: 10px;
  background: #fff4e8;
  padding: 6px 8px;
  color: #c2410c !important;
  font-size: 11px;
  font-weight: 800 !important;
  line-height: 1.35;
}
.branch-radio {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(255, 106, 0, 0.45);
  border-radius: 999px;
  color: #ff6a00;
  font-size: 13px;
  font-weight: 950;
}
.pickup-slot {
  min-height: 46px;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 16px;
  background: #fffaf3;
  color: rgba(58, 31, 20, 0.72);
  font-size: 13px;
  font-weight: 900;
}
.pickup-slot-active {
  border-color: transparent;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: white;
  box-shadow: var(--shadow-orange);
}
.pickup-soon {
  display: grid;
  gap: 4px;
  border-radius: 18px;
  background: white;
  padding: 13px;
}
.pickup-soon strong {
  color: #3a1f14;
  font-size: 14px;
  font-weight: 950;
}
.pickup-soon span {
  color: rgba(58, 31, 20, 0.58);
  font-size: 12px;
  font-weight: 750;
}
.pickup-field {
  display: grid;
  gap: 7px;
}
.pickup-field span {
  color: rgba(58, 31, 20, 0.62);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.pickup-field input {
  min-width: 0;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 16px;
  background: white;
  padding: 12px 10px;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 900;
  outline: none;
}
.checkout-cart-item {
  display: flex;
  gap: 10px;
  border-radius: 18px;
  background: #f8f8f8;
  padding: 10px;
}
.checkout-cart-addon {
  align-items: center;
  border: 1px solid rgba(240, 205, 115, 0.48);
  background: #fffdf7;
  padding: 12px 12px 12px 14px;
}
.checkout-cart-item img {
  width: 70px;
  height: 70px;
  flex: 0 0 auto;
  border-radius: 18px;
  -o-object-fit: cover;
     object-fit: cover;
}
.checkout-cart-item h3 {
  display: -webkit-box;
  overflow: hidden;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.checkout-cart-item p {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 4px;
  color: rgba(58, 31, 20, 0.52);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.checkout-spice-pill {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #fff2df, #ffe5d2);
  padding: 4px 9px;
  color: #d94b00;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.2;
}
.checkout-topping-list {
  display: grid;
  gap: 4px;
  margin-top: 5px;
}
.checkout-topping-list span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  max-width: 190px;
  border-radius: 10px;
  background: rgba(255, 247, 236, 0.9);
  padding: 4px 8px;
  color: rgba(58, 31, 20, 0.62);
  font-size: 11px;
  font-weight: 750;
}
.checkout-topping-list em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-style: normal;
}
.checkout-topping-list strong {
  color: #ff6a00;
  font-size: 11px;
  font-weight: 950;
}
.checkout-note-pill {
  margin-top: 6px;
  border: 1px solid rgba(255, 106, 0, 0.12);
  border-radius: 12px;
  background: #fff1e8;
  padding: 6px 8px;
  color: #c2410c;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.35;
}
.checkout-cart-item strong {
  color: #ff6a00;
  font-size: 14px;
  font-weight: 950;
}
.checkout-remove {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(239, 68, 68, 0.08);
  border-radius: 12px;
  background: #fff0f0;
  color: #ef4444;
}
.order-detail-box {
  margin-top: 14px;
  border-radius: 24px;
  background: white;
  padding: 14px;
  box-shadow: var(--shadow-soft);
}
.order-detail-head,
.order-detail-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.order-detail-head h3 {
  color: #3a1f14;
  font-size: 15px;
  font-weight: 950;
}
.order-detail-head span {
  border-radius: 999px;
  background: #fff3e6;
  padding: 5px 9px;
  color: #ff6a00;
  font-size: 11px;
  font-weight: 950;
}
.order-detail-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.order-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.order-info-grid div {
  display: grid;
  gap: 4px;
  border-radius: 16px;
  background: #fff7ec;
  padding: 10px;
}
.order-info-grid .wide {
  grid-column: 1 / -1;
}
.order-info-grid span {
  color: rgba(58, 31, 20, 0.48);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.order-info-grid strong {
  color: #3a1f14;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}
.order-info-grid small {
  color: rgba(58, 31, 20, 0.55);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.35;
}
.order-detail-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-radius: 18px;
  background: #fff9f0;
  padding: 10px;
}
.order-detail-item strong {
  display: block;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 950;
}
.order-detail-item span {
  display: inline-block;
  margin-top: 2px;
  color: rgba(58, 31, 20, 0.48);
  font-size: 11px;
  font-weight: 900;
}
.order-detail-item p {
  margin-top: 5px;
  color: rgba(58, 31, 20, 0.58);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.4;
}
.order-detail-item em {
  flex: 0 0 auto;
  color: #ff6a00;
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
}
.order-detail-total {
  margin-top: 12px;
  border-top: 1px solid rgba(58, 31, 20, 0.08);
  padding-top: 12px;
}
.order-detail-total.compact,
.order-detail-total.discount {
  margin-top: 6px;
  border-top: 0;
  padding-top: 0;
}
.order-detail-total.discount strong {
  color: #16a34a;
}
.order-detail-total.grand {
  margin-top: 12px;
  border-top: 1px solid rgba(58, 31, 20, 0.1);
}
.order-detail-total s {
  margin-right: 6px;
  color: rgba(58, 31, 20, 0.35);
  font-size: 12px;
}
.order-detail-total span {
  color: rgba(58, 31, 20, 0.62);
  font-size: 13px;
  font-weight: 850;
}
.order-detail-total strong {
  color: #ff6a00;
  font-size: 18px;
  font-weight: 950;
}
.checkout-card {
  border: 1px solid rgba(58, 31, 20, 0.08);
  border-radius: 20px;
  background: white;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(58, 31, 20, 0.06);
}
.checkout-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.checkout-card-head h2 {
  color: #111827;
  font-size: 14px;
  font-weight: 950;
}
.checkout-card-head button {
  color: #ff6a00;
  font-size: 12px;
  font-weight: 900;
}
.delivery-info-box {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(58, 31, 20, 0.08);
  border-radius: 16px;
  background: #f8f8f8;
  padding: 14px;
}
.info-line {
  display: flex;
  gap: 10px;
  color: #f7b500;
}
.info-line small {
  display: block;
  color: rgba(58, 31, 20, 0.42);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.info-line strong {
  display: block;
  margin-top: 3px;
  color: #111827;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.35;
}
.promo-select {
  display: flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  border: 1px dashed rgba(58, 31, 20, 0.2);
  border-radius: 14px;
  background: #fff;
  padding: 0 14px;
  color: #f7a900;
  font-size: 13px;
  font-weight: 850;
}
.promo-code-list {
  display: grid;
  gap: 10px;
}
.address-field {
  display: grid;
  gap: 7px;
}
.address-field span {
  color: rgba(58, 31, 20, 0.62);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.address-field input,
.address-field textarea,
.address-field select {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 16px;
  background: white;
  padding: 12px 14px;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 800;
  outline: none;
}
.address-field textarea {
  resize: none;
  line-height: 1.4;
}
.delivery-branch-select-card {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(255, 106, 0, 0.14);
  border-radius: 18px;
  background: #fffaf3;
  padding: 10px;
}
.delivery-branch-select-note {
  display: grid;
  gap: 2px;
  border-radius: 14px;
  background: white;
  padding: 9px 11px;
}
.delivery-branch-select-note strong {
  color: #3a1f14;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.3;
}
.delivery-branch-select-note span {
  color: rgba(58, 31, 20, 0.58);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}
.promo-code-card {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px dashed rgba(58, 31, 20, 0.2);
  border-radius: 16px;
  background: #fffaf3;
  padding: 12px;
  text-align: left;
}
.promo-code-card strong,
.promo-code-card small {
  display: block;
}
.promo-code-card strong {
  color: #3a1f14;
  font-size: 13px;
  font-weight: 950;
}
.promo-code-card small {
  margin-top: 3px;
  color: rgba(58, 31, 20, 0.52);
  font-size: 11px;
  font-weight: 800;
}
.promo-code-card em {
  flex: 0 0 auto;
  border-radius: 999px;
  background: #fff0df;
  padding: 7px 9px;
  color: #ff6a00;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}
.promo-code-active {
  border-color: #ff6a00;
  background: #fff0df;
}
.promo-code-active em {
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: white;
}
.promo-code-card:disabled {
  opacity: 0.56;
}
.points-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.points-row strong,
.points-row span {
  display: block;
}
.points-row strong {
  color: #111827;
  font-size: 13px;
  font-weight: 950;
}
.points-row span {
  margin-top: 6px;
  border-radius: 12px;
  background: #ecfff2;
  padding: 10px;
  color: #148544;
  font-size: 11px;
  font-weight: 800;
}
.payment-card {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(247, 181, 0, 0.65);
  border-radius: 14px;
  background: #fffdf2;
  padding: 12px;
  text-align: left;
}
.payment-card strong,
.payment-card small {
  display: block;
}
.payment-card strong {
  color: #111827;
  font-size: 13px;
  font-weight: 950;
}
.payment-card small {
  margin-top: 2px;
  color: rgba(58, 31, 20, 0.5);
  font-size: 11px;
  font-weight: 750;
}
.checkout-total-summary {
  display: grid;
  gap: 8px;
}
.summary-line {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  color: #25212a;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.25;
}
.summary-line span {
  min-width: 0;
}
.summary-line span em,
.fee-info-btn {
  display: inline-grid;
  width: 15px;
  height: 15px;
  margin-left: 3px;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #eef0f4;
  color: #7c8492;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}
.fee-info-btn {
  cursor: pointer;
  vertical-align: 1px;
}
.delivery-fee-list {
  display: grid;
  gap: 9px;
}
.delivery-fee-list div,
.delivery-fee-note {
  border: 1px solid rgba(255, 106, 0, 0.12);
  border-radius: 18px;
  background: #fffaf3;
  padding: 13px 14px;
  color: #3a1f14;
  font-size: 13px;
  line-height: 1.45;
}
.summary-line strong {
  flex: 0 0 auto;
  color: #1f1a22;
  font-size: 14px;
  font-weight: 900;
}
.discount-line {
  color: #3c3942;
}
.discount-line span {
  display: flex;
  align-items: center;
  gap: 7px;
}
.discount-line i {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  border: 1.8px solid #ff7a00;
  border-radius: 4px;
  transform: rotate(-18deg);
}
.discount-line i::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: #ff7a00;
  content: "";
}
.discount-line strong {
  color: #16a34a;
}
.summary-final {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 13px;
  border-top: 1px solid rgba(58, 31, 20, 0.08);
  padding-top: 17px;
}
.summary-final span {
  color: #211b22;
  font-size: 16px;
  font-weight: 800;
}
.summary-final strong {
  color: #211b22;
  font-size: 24px;
  font-weight: 950;
}
.summary-saving {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #6d6872;
  font-size: 13px;
  font-weight: 750;
}
.summary-saving del {
  color: #6d6872;
  font-weight: 850;
  text-decoration-color: #6d6872;
}
.checkout-sticky-cta {
  position: fixed;
  left: 50%;
  bottom: 72px;
  z-index: 45;
  width: min(100%, 430px);
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(255, 247, 236, 0), #fff7ec 28%);
  padding: 18px 16px 10px;
}
.milestone-box {
  display: grid;
  gap: 12px;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff6d8, #fff0df);
  padding: 14px;
  color: #ff6a00;
}
.milestone-box strong,
.milestone-box span {
  display: block;
}
.milestone-box strong {
  color: #3a1f14;
  font-size: 14px;
  font-weight: 950;
}
.milestone-box span {
  margin-top: 4px;
  color: rgba(58, 31, 20, 0.6);
  font-size: 12px;
  font-weight: 800;
}
.milestone-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
}
.milestone-track div {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, #ffcf00, #ff6a00);
}
.suggestion-section {
  display: grid;
  gap: 9px;
  margin-top: 13px;
}
.suggestion-row-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.suggestion-row-title strong {
  color: #2b1b13;
  font-size: 13px;
  font-weight: 950;
}
.suggestion-row-title span {
  color: rgba(58, 31, 20, 0.48);
  font-size: 11px;
  font-weight: 800;
}
.suggestion-slider {
  display: grid;
  grid-auto-columns: 112px;
  grid-auto-flow: column;
  gap: 10px;
  margin-right: -16px;
  margin-left: -16px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 0 16px 6px;
  scroll-snap-type: x proximity;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
}
.suggestion-chip {
  display: grid;
  min-height: 70px;
  align-content: center;
  gap: 5px;
  border: 1px solid rgba(58, 31, 20, 0.08);
  border-radius: 18px;
  background: #fffaf3;
  padding: 10px;
  scroll-snap-align: start;
  text-align: left;
  box-shadow: 0 8px 22px rgba(87, 52, 20, 0.06);
}
.suggestion-chip span {
  display: -webkit-box;
  overflow: hidden;
  color: #3a1f14;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.suggestion-chip strong {
  color: #ff6a00;
  font-size: 11px;
  font-weight: 950;
}
.bg-success {
  background: linear-gradient(145deg, #f7fff0, #fff8ec);
}
.timeline-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  color: #3a1f14;
  font-size: 14px;
}
.timeline-row p {
  margin-top: 3px;
  color: rgba(58, 31, 20, 0.45);
  font-size: 12px;
  font-weight: 600;
}
.dot,
.dot-active {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  background: #e9e1d7;
  color: #3a1f14;
  font-size: 12px;
  font-weight: 900;
}
.dot-active {
  background: #4caf50;
  color: white;
}
.promo-sheet {
  width: min(100%, 406px);
  max-height: min(72vh, 620px);
  overflow-y: auto;
  border: 1px solid rgba(255, 106, 0, 0.12);
  border-radius: 28px;
  background: #fffaf3;
  padding: 14px;
  box-shadow: 0 24px 64px rgba(58, 31, 20, 0.22);
  animation: sheet-in 0.22s ease-out;
}
.option-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 55;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(58, 31, 20, 0.34);
  padding: 24px 12px 84px;
  backdrop-filter: blur(5px);
}
.option-sheet {
  width: min(100%, 406px);
  max-height: min(82vh, 720px);
  overflow-y: auto;
  border: 1px solid rgba(255, 106, 0, 0.12);
  border-radius: 28px;
  background: #fffaf3;
  padding: 14px;
  box-shadow: 0 24px 64px rgba(58, 31, 20, 0.22);
  animation: sheet-in 0.22s ease-out;
}
.option-modal-sticky-header {
  position: sticky;
  top: -2px;
  z-index: 8;
  margin: -2px -2px 0;
  background: linear-gradient(180deg, #fffaf3 84%, rgba(255, 250, 243, 0));
  padding: 2px 2px 10px;
}
.modal-topping {
  display: flex;
  min-height: 58px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 18px;
  background: white;
  padding: 10px 12px;
  text-align: left;
  box-shadow: 0 8px 18px rgba(58, 31, 20, 0.04);
}
.modal-topping span {
  color: #3a1f14;
  font-size: 13px;
  font-weight: 900;
}
.modal-topping strong {
  color: rgba(58, 31, 20, 0.55);
  font-size: 12px;
  font-weight: 900;
}
.modal-topping-active {
  border-color: rgba(255, 106, 0, 0.52);
  background: #fff0df;
}
.modal-topping-active strong {
  color: #ff6a00;
}
.note-input {
  width: 100%;
  resize: none;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 18px;
  background: white;
  padding: 12px 14px;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 700;
  outline: none;
}
.option-modal-footer {
  position: sticky;
  bottom: -14px;
  display: grid;
  gap: 10px;
  margin: 0 -2px -14px;
  background: linear-gradient(180deg, rgba(255, 250, 243, 0.76), #fffaf3 24%);
  padding: 14px 2px 14px;
}
.floating-cart-stack {
  position: fixed;
  left: 50%;
  bottom: 86px;
  z-index: 46;
  width: min(calc(100% - 28px), 402px);
  transform: translateX(-50%);
}
.floating-cart-combo-card {
  border: 1px solid rgba(255, 255, 255, 0.64);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 247, 236, 0.82));
  box-shadow: 0 18px 44px rgba(58, 31, 20, 0.18);
  backdrop-filter: blur(16px);
  overflow: hidden;
}
.floating-cart-milestone-card {
  border: 1px solid rgba(255, 106, 0, 0.2);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  margin: 8px;
  padding: 8px 10px;
}
.floating-cart-milestone-card p {
  color: rgba(58, 31, 20, 0.82);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.floating-cart-milestone-card p + p {
  margin-top: 3px;
}
.floating-cart-milestone-card b {
  color: #111827;
  font-weight: 800;
}
.floating-cart-milestone-card small {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  color: #2563eb;
  font-size: 11px;
  font-weight: 800;
}
.floating-cart-bar {
  display: flex;
  width: 100%;
  min-height: 64px;
  align-items: center;
  gap: 12px;
  border: 0;
  border-top: 1px solid rgba(58, 31, 20, 0.08);
  border-radius: 0;
  background: transparent;
  padding: 10px 12px;
}
.floating-cart-bar strong {
  display: block;
  color: #3a1f14;
  font-size: 14px;
  font-weight: 950;
}
.floating-cart-bar small {
  display: block;
  margin-top: 2px;
  color: rgba(58, 31, 20, 0.58);
  font-size: 12px;
  font-weight: 800;
}
.floating-cart-milestone-card .cart-milestone-reward {
  display: inline-block;
  padding: 0;
  font-weight: 950;
  font-size: inherit;
  letter-spacing: 0;
}
.floating-cart-milestone-card .cart-milestone-reward.is-gift {
  color: #c2410c;
}
.floating-cart-milestone-card .cart-milestone-reward.is-freeship {
  color: #0369a1;
}
.floating-cart-milestone-card .cart-milestone-reward.is-other {
  color: #ea580c;
}
.cart-glass-icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: white;
  box-shadow: var(--shadow-orange);
}
.cart-glass-cta {
  flex: 0 0 auto;
  border-radius: 16px;
  background: rgba(255, 106, 0, 0.1);
  padding: 10px 12px;
  color: #ff6a00;
  font-size: 12px;
  font-weight: 950;
}
@keyframes sheet-in {
  from {
    opacity: 0;
    transform: translateY(22px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.toast {
  position: fixed;
  left: 50%;
  bottom: 92px;
  z-index: 60;
  display: flex;
  min-height: 52px;
  align-items: center;
  gap: 10px;
  transform: translateX(-50%);
  border: 1px solid rgba(255, 106, 0, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  padding: 10px 16px 10px 10px;
  color: #3a1f14;
  font-size: 14px;
  box-shadow: 0 16px 38px rgba(58, 31, 20, 0.16);
  animation: toast-in 0.22s ease-out;
  backdrop-filter: blur(12px);
}
.toast strong {
  font-weight: 900;
  white-space: nowrap;
}
@keyframes toast-in {
  from {
    opacity: 0;
    transform: translate(-50%, 10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
  }
}
.reward-line {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-top: 22px;
  color: rgba(58, 31, 20, 0.56);
  font-size: 12px;
  font-weight: 900;
}
.reward-line::before {
  position: absolute;
  inset: 11px 28px auto;
  height: 3px;
  border-radius: 999px;
  background: #f1d8c4;
  content: "";
}
.reward-line span {
  position: relative;
  display: grid;
  width: 54px;
  gap: 8px;
  place-items: center;
}
.reward-line span::before {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  background: #fff2e3;
  color: #ff5a1f;
  content: "Gift";
  font-size: 8px;
}
.reward-line .done::before {
  background: #4caf50;
  color: white;
  content: "OK";
}
.reward-hero {
  min-height: 178px;
  background: linear-gradient(135deg, #ffcf00 0%, #ff7a00 48%, #ff5a1f 100%);
  padding: 18px 16px 24px;
  color: white;
}
.reward-hero h1 {
  font-size: 20px;
  font-weight: 950;
}
.reward-hero button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  padding: 7px 10px;
  color: white;
  font-size: 12px;
  font-weight: 900;
}
.reward-hero strong {
  display: block;
  margin-top: 12px;
  font-size: 42px;
  font-weight: 950;
  line-height: 1;
}
.reward-hero p {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 5px;
  font-size: 13px;
  font-weight: 850;
}
.reward-hero > span {
  display: inline-flex;
  margin-top: 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 900;
}
.checkin-card {
  border: 1px solid rgba(58, 31, 20, 0.06);
  border-radius: 18px;
  background: white;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(58, 31, 20, 0.06);
}
.checkin-card h2 {
  color: #111827;
  font-size: 16px;
  font-weight: 950;
}
.reward-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 11px;
  background: #eef2ff;
  color: #3b5cff;
}
.reward-icon.green {
  background: #eafff0;
  color: #17a34a;
}
.streak-pill {
  border-radius: 999px;
  background: #fff2df;
  padding: 7px 10px;
  color: #ff6a00;
  font-size: 12px;
  font-weight: 900;
}
.checkin-btn {
  width: 100%;
  min-height: 50px;
  margin-top: 16px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffef7a, #ffad80);
  color: white;
  font-size: 15px;
  font-weight: 950;
}
.checkin-btn:disabled {
  opacity: 1;
}
.checkin-bonus-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 16px;
}
.checkin-bonus-grid div {
  display: grid;
  gap: 7px;
  place-items: center;
  border: 1px solid rgba(58, 31, 20, 0.06);
  border-radius: 12px;
  background: #fafafa;
  padding: 12px 6px;
}
.checkin-bonus-grid span {
  color: rgba(58, 31, 20, 0.56);
  font-size: 11px;
  font-weight: 800;
}
.checkin-bonus-grid strong {
  color: #4c35ff;
  font-size: 15px;
  font-weight: 950;
}
.checkin-bonus-grid div:last-child strong {
  color: #ff6a00;
}
.reward-rules {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.reward-rules div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: 12px;
  background: #fafafa;
  padding: 13px;
}
.reward-rules span {
  color: #2f2440;
  font-size: 13px;
  font-weight: 800;
}
.reward-rules strong {
  color: #17a34a;
  font-size: 13px;
  font-weight: 950;
}
.reward-rules div:nth-child(2) strong {
  color: #4c35ff;
}
.reward-rules div:nth-child(3) strong {
  color: #ff6a00;
}
.flash-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  overflow: hidden;
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(58, 31, 20, 0.28), transparent),
    linear-gradient(135deg, #ff7a00, #ff4f17);
  padding: 20px;
  box-shadow: var(--shadow-orange);
}
.account-hero {
  overflow: hidden;
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.16), transparent 42%),
    linear-gradient(135deg, #ff9d2e 0%, #ff6a00 48%, #ff4f17 100%);
  padding: 18px;
  box-shadow: var(--shadow-orange);
}
.account-metric {
  display: flex;
  min-height: 136px;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  border-radius: 26px;
  background: white;
  padding: 16px;
  text-align: left;
  box-shadow: var(--shadow-soft);
}
.account-metric strong {
  color: #3a1f14;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.25;
}
.account-metric small {
  color: rgba(58, 31, 20, 0.52);
  font-size: 12px;
  font-weight: 800;
}
.toggle-input {
  position: relative;
  width: 48px;
  height: 28px;
  flex: 0 0 auto;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 999px;
  background: #eadfd2;
  cursor: pointer;
  transition: background 0.2s ease;
}
.toggle-input::after {
  position: absolute;
  left: 4px;
  top: 4px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: white;
  box-shadow: 0 4px 10px rgba(58, 31, 20, 0.18);
  content: "";
  transition: transform 0.2s ease;
}
.toggle-input:checked {
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
}
.toggle-input:checked::after {
  transform: translateX(20px);
}
.account-notice-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  background: rgba(58, 31, 20, 0.42);
  padding: 18px;
  backdrop-filter: blur(4px);
}
.account-notice-modal {
  display: grid;
  width: min(100%, 360px);
  gap: 14px;
  border: 1px solid rgba(255, 106, 0, 0.16);
  border-radius: 28px;
  background: #fffaf3;
  padding: 20px;
  color: #3a1f14;
  box-shadow: 0 24px 70px rgba(58, 31, 20, 0.26);
  animation: account-notice-in 0.18s ease-out;
}
.account-notice-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 18px;
  background: #fff1e6;
  color: #ff6a00;
}
.account-notice-modal h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 950;
}
.account-notice-modal p {
  margin: 6px 0 0;
  color: rgba(58, 31, 20, 0.66);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.55;
}
.account-notice-modal button {
  min-height: 48px;
  border-radius: 18px;
  background: linear-gradient(135deg, #ff7a00, #ff4f17);
  color: #fff;
  font-size: 14px;
  font-weight: 950;
  box-shadow: var(--shadow-orange);
}
@keyframes account-notice-in {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.customer-shell .bg-gradient-main {
  background: linear-gradient(135deg, #ff7a00 0%, #ff4f17 100%);
}
.option-hint {
  margin: -4px 0 10px;
  color: rgba(58, 31, 20, 0.52);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
}
.option-hint-required {
  color: #b45309;
  font-weight: 800;
}
.option-hint-optional {
  color: #64748b;
  font-weight: 700;
}
.line-clamp-1,
.line-clamp-2 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}
.line-clamp-1 {
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  -webkit-line-clamp: 2;
}
.no-scrollbar {
  scrollbar-width: none;
}
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
/* Lightweight typography pass */
.customer-shell,
.customer-shell button,
.customer-shell input,
.customer-shell select,
.customer-shell textarea,
.customer-shell p,
.customer-shell span,
.customer-shell small,
.customer-shell label,
.customer-shell em,
.customer-shell li,
.customer-shell a {
  font-weight: 400 !important;
}
.customer-shell h1,
.customer-shell h2,
.customer-shell h3,
.customer-shell h4,
.customer-shell h5,
.customer-shell h6,
.customer-shell strong,
.customer-shell b,
.customer-shell .font-black,
.customer-shell .font-extrabold,
.customer-shell .font-bold,
.customer-shell .font-semibold,
.customer-shell .font-medium {
  font-weight: 500 !important;
}
.customer-shell .cta,
.customer-shell .cta-small,
.customer-shell .ghost-small,
.customer-shell .filter-btn,
.customer-shell .chip,
.customer-shell .option,
.customer-shell .qty-btn,
.customer-shell .topbar-title,
.customer-shell .checkout-sticky-cta button {
  font-weight: 500 !important;
}
.customer-shell .icon-ux {
  transform-origin: center;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.customer-shell button:hover .icon-ux,
.customer-shell a:hover .icon-ux {
  transform: scale(1.1);
}
.customer-shell button:active .icon-ux,
.customer-shell a:active .icon-ux {
  transform: scale(0.95);
}
.customer-shell .menu-search .icon-ux {
  opacity: 0.5;
}
.customer-shell .menu-search:focus-within .icon-ux {
  opacity: 1;
}
.customer-shell .menu-addon-card .addon-plus,
.customer-shell .product-add-btn {
  border-radius: 999px;
  background: #ff7a00;
  color: #fff;
  display: grid;
  place-items: center;
}
.customer-shell .product-card,
.customer-shell .menu-addon-card,
.customer-shell .checkout-card,
.customer-shell .checkin-card,
.customer-shell .home2026-program-card,
.customer-shell .home2026-flash-card,
.customer-shell .branch-card,
.customer-shell .promo-code-card,
.customer-shell .payment-card,
.customer-shell .account-metric,
.customer-shell .hero-card,
.customer-shell .cashback-card,
.customer-shell .delivery-app-card,
.customer-shell .flash-card,
.customer-shell .topping-card,
.customer-shell .promo-sheet,
.customer-shell .account-hero,
.customer-shell .rounded-\[28px\],
.customer-shell .rounded-\[30px\],
.customer-shell .rounded-\[24px\],
.customer-shell .rounded-\[22px\] {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.customer-shell .product-card:hover,
.customer-shell .menu-addon-card:hover,
.customer-shell .checkout-card:hover,
.customer-shell .checkin-card:hover,
.customer-shell .home2026-program-card:hover,
.customer-shell .home2026-flash-card:hover,
.customer-shell .branch-card:hover,
.customer-shell .promo-code-card:hover,
.customer-shell .payment-card:hover,
.customer-shell .account-metric:hover,
.customer-shell .hero-card:hover,
.customer-shell .cashback-card:hover,
.customer-shell .delivery-app-card:hover,
.customer-shell .flash-card:hover,
.customer-shell .topping-card:hover,
.customer-shell .promo-sheet:hover,
.customer-shell .account-hero:hover,
.customer-shell .rounded-\[28px\]:hover,
.customer-shell .rounded-\[30px\]:hover,
.customer-shell .rounded-\[24px\]:hover,
.customer-shell .rounded-\[22px\]:hover {
  transform: scale(1.02);
  box-shadow: 0 14px 28px rgba(58, 31, 20, 0.12);
}
.customer-shell .product-card:active,
.customer-shell .menu-addon-card:active,
.customer-shell .checkout-card:active,
.customer-shell .checkin-card:active,
.customer-shell .home2026-program-card:active,
.customer-shell .home2026-flash-card:active,
.customer-shell .branch-card:active,
.customer-shell .promo-code-card:active,
.customer-shell .payment-card:active,
.customer-shell .account-metric:active,
.customer-shell .hero-card:active,
.customer-shell .cashback-card:active,
.customer-shell .delivery-app-card:active,
.customer-shell .flash-card:active,
.customer-shell .topping-card:active,
.customer-shell .promo-sheet:active,
.customer-shell .account-hero:active,
.customer-shell .rounded-\[28px\]:active,
.customer-shell .rounded-\[30px\]:active,
.customer-shell .rounded-\[24px\]:active,
.customer-shell .rounded-\[22px\]:active {
  transform: scale(0.98);
}
.option-modal-overlay .promo-sheet {
  transform: none !important;
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}
.option-modal-overlay .promo-sheet:hover,
.option-modal-overlay .promo-sheet:active {
  transform: none !important;
  box-shadow: 0 14px 28px rgba(58, 31, 20, 0.12);
}
.customer-shell .zalo-guide-overlay,
.customer-shell .zalo-guide-overlay:hover,
.customer-shell .zalo-guide-overlay:active,
.customer-shell .zalo-guide-card,
.customer-shell .zalo-guide-card:hover,
.customer-shell .zalo-guide-card:active {
  transform: none !important;
}
.customer-shell .zalo-guide-card {
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}
.milestone-modal-item {
  transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
.milestone-modal-item:hover {
  opacity: 0.92;
}
.hero-card {
  position: relative;
  min-height: 244px;
  overflow: hidden;
  border-radius: 30px;
  padding: 22px 18px;
  background:
    linear-gradient(115deg, rgba(255, 246, 218, 0.98) 0%, rgba(255, 224, 171, 0.88) 52%, rgba(255, 106, 0, 0.16) 100%),
    #ffe4b8;
  box-shadow: var(--shadow-soft);
}
.hero-card::after {
  position: absolute;
  inset: auto -18px -24px auto;
  width: 196px;
  height: 196px;
  border-radius: 999px;
  background: rgba(255, 106, 0, 0.12);
  content: "";
}
.hero-food {
  position: absolute;
  right: -48px;
  bottom: -20px;
  width: 245px;
  height: 245px;
  border: 8px solid rgba(255, 255, 255, 0.62);
  border-radius: 999px;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0 18px 40px rgba(127, 48, 10, 0.22);
}
.cashback-card {
  display: flex;
  min-height: 86px;
  align-items: center;
  gap: 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, #39c85a, #24a844);
  padding: 14px;
  color: white;
  box-shadow: 0 14px 28px rgba(36, 168, 68, 0.22);
}
.cashback-icon {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.56);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  font-size: 18px;
  font-weight: 950;
}
.cashback-card h2 {
  font-size: 22px;
  font-weight: 950;
  line-height: 1.05;
}
.cashback-card p {
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  font-weight: 800;
}
.delivery-app-card {
  border: 1px solid rgba(58, 31, 20, 0.08);
  border-radius: 18px;
  background: white;
  padding: 16px;
  box-shadow: var(--shadow-soft);
}
.delivery-app-card h2 {
  margin-bottom: 8px;
  color: #111827;
  font-size: 15px;
  font-weight: 950;
}
.delivery-app-subtitle {
  margin-bottom: 12px;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.4;
}
.delivery-app-branch-note {
  margin: 0 0 12px;
  color: #475569;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
}
.delivery-app-branch-note strong {
  color: #111827;
  font-weight: 950;
}
.delivery-app-branch-select {
  display: grid;
  gap: 6px;
  margin-bottom: 8px;
  color: #475569;
  font-size: 11px;
  font-weight: 900;
}
.delivery-app-branch-select select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 10px;
  background: #fff;
  padding: 0 12px;
  color: #111827;
  font-size: 12px;
  font-weight: 900;
}
.delivery-app-branch-trigger {
  display: flex;
  width: 100%;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid rgba(58, 31, 20, 0.1);
  border-radius: 10px;
  background: #fff;
  padding: 0 12px;
  color: #111827;
  font-size: 12px;
  font-weight: 900;
  text-align: left;
}
.delivery-app-branch-trigger i {
  color: #64748b;
  font-style: normal;
}
.delivery-app-picker-sheet {
  max-width: 560px;
}
.delivery-app-picker-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 2px 10px;
  border-bottom: 1px solid rgba(58, 31, 20, 0.08);
}
.delivery-app-picker-head strong {
  color: #111827;
  font-size: 14px;
  font-weight: 950;
}
.delivery-app-picker-head button {
  border: 0;
  background: transparent;
  color: #f97316;
  font-size: 12px;
  font-weight: 900;
}
.delivery-app-picker-list {
  max-height: min(56vh, 420px);
  overflow: auto;
  padding: 8px 0 2px;
}
.delivery-app-picker-item {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: #fff;
  padding: 11px 12px;
  color: #0f172a;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
}
.delivery-app-picker-item.active {
  border-color: rgba(249, 115, 22, 0.22);
  background: rgba(255, 237, 213, 0.45);
  color: #c2410c;
}
.branch-picker-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(58, 31, 20, 0.32);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  padding: 10px;
}
.branch-picker-panel {
  display: flex;
  width: min(440px, calc(100vw - 20px));
  max-height: min(calc(100dvh - 20px), 760px);
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 106, 0, 0.12);
  border-radius: 28px;
  background: #fffaf3;
  box-shadow: 0 24px 72px rgba(58, 31, 20, 0.24);
}
.branch-picker-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px 10px;
}
.branch-picker-head h2 {
  color: #3a1f14;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
}
.branch-picker-head p {
  margin-top: 4px;
  color: rgba(58, 31, 20, 0.56);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
}
.branch-picker-close {
  display: grid;
  min-width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 16px;
  background: #fff1e6;
  color: #ff6a00;
  font-size: 13px;
  font-weight: 950;
}
.branch-picker-list {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0 14px 8px;
}
.branch-picker-footer {
  flex: 0 0 auto;
  padding: 10px 14px calc(14px + env(safe-area-inset-bottom));
  background: linear-gradient(180deg, rgba(255, 250, 243, 0.76), #fffaf3 28%);
}
.branch-card.branch-card-closed {
  opacity: 0.6;
  filter: saturate(0.6);
  cursor: not-allowed;
}
.branch-picker-list .branch-card:disabled {
  pointer-events: none;
}
.branch-card.branch-card-closed .branch-radio {
  border-color: rgba(100, 116, 139, 0.36);
  color: rgba(100, 116, 139, 0.8);
}
.branch-card .branch-closed-warning {
  margin-top: 6px;
  color: #b45309;
  font-weight: 900;
}
@media (max-width: 480px) {
  .branch-picker-overlay {
    align-items: flex-end;
    padding: 0;
  }

  .branch-picker-panel {
    width: 100%;
    max-height: min(92dvh, 760px);
    border-radius: 24px 24px 0 0;
  }
}
.delivery-app-item {
  display: grid;
  min-height: 86px;
  place-items: center;
  gap: 8px;
  border: 1px solid rgba(58, 31, 20, 0.08);
  border-radius: 10px;
  background: #fff;
  padding: 10px;
}
button.delivery-app-item {
  width: 100%;
  cursor: pointer;
}
button.delivery-app-item:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}
.delivery-app-item strong {
  color: #111827;
  font-size: 11px;
  font-weight: 950;
}
.delivery-app-logo {
  display: grid;
  width: 76px;
  min-height: 38px;
  place-items: center;
  border-radius: 9px;
  padding: 4px 7px;
  color: white;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.05;
  text-align: center;
}
.delivery-app-logo-grab {
  background: #00b14f;
  letter-spacing: 0;
}
.delivery-app-logo-shopee {
  background: #ee4d2d;
  font-size: 10px;
}
.delivery-app-logo-xanh {
  background: #57c4d0;
  font-size: 10px;
}
.delivery-app-logo-default {
  background: #334155;
  font-size: 10px;
}
.home2026-countdown {
  border-radius: 999px;
  background: #3a1f14;
  padding: 8px 11px;
  color: white;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0;
}
.home2026-flash-scroll {
  display: flex;
  gap: 11px;
  margin-inline: -16px;
  overflow-x: auto;
  padding: 1px 16px 8px;
  scroll-snap-type: x mandatory;
}
.home2026-flash-card {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 286px;
  scroll-snap-align: start;
  border: 1px solid rgba(255, 106, 0, 0.1);
  border-radius: 22px;
  background: white;
  padding: 10px;
  box-shadow: 0 13px 28px rgba(58, 31, 20, 0.07);
}
.home2026-flash-image {
  position: relative;
  width: 74px;
  height: 74px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 18px;
}
.home2026-flash-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home2026-flash-image span {
  position: absolute;
  left: 7px;
  top: 7px;
  border-radius: 999px;
  background: #ff4f17;
  padding: 3px 6px;
  color: white;
  font-size: 10px;
  font-weight: 900;
}
.home2026-flash-card h3 {
  display: -webkit-box;
  overflow: hidden;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.home2026-flash-card del {
  display: block;
  margin-top: 4px;
  color: rgba(58, 31, 20, 0.36);
  font-size: 11px;
  font-weight: 700;
}
.home2026-flash-card strong {
  display: block;
  margin-top: 1px;
  color: #ff5a1f;
  font-size: 15px;
  font-weight: 900;
}
.home2026-flash-card button {
  flex: 0 0 auto;
  border-radius: 15px;
  background: linear-gradient(135deg, #ffb800, #ff5a1f);
  padding: 10px 12px;
  color: white;
  font-size: 12px;
  font-weight: 850;
}
/* Home 2026 layout corrections */
.home2026-shell {
  overflow-x: hidden;
  gap: 16px;
  padding: 14px 16px 150px;
}
.home2026-flash-scroll {
  margin-inline: 0;
  padding: 0 0 8px;
  gap: 10px;
  overscroll-behavior-x: contain;
}
.home2026-flash-card {
  min-width: min(286px, calc(100vw - 96px));
  max-width: 286px;
  gap: 9px;
}
.home2026-flash-card button {
  padding: 9px 10px;
  white-space: nowrap;
}
@media (max-width: 380px) {
  .home2026-greeting h1 {
    font-size: 22px;
  }

  .home2026-flash-card {
    min-width: 266px;
  }
}
.home2026-flash-deal {
  border: 1px solid rgba(255, 106, 0, 0.08);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  padding: 14px;
  box-shadow: 0 13px 28px rgba(58, 31, 20, 0.06);
}
.home2026-deal-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
}
.home2026-deal-head h2 {
  color: #3a1f14;
  font-size: 18px;
  font-weight: 900;
  white-space: nowrap;
}
.home2026-deal-head > button {
  color: #ff6a00;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}
.home2026-deal-timer {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: rgba(58, 31, 20, 0.45);
  font-size: 11px;
  font-weight: 800;
}
.home2026-deal-timer strong {
  border-radius: 999px;
  background: #fff0f0;
  padding: 5px 8px;
  color: #ff4f17;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  box-shadow: inset 0 0 0 1px rgba(255, 79, 23, 0.08);
}
.home2026-flash-main-card {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  cursor: pointer;
}
.home2026-flash-main-card > img {
  width: 94px;
  height: 74px;
  border-radius: 18px;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0 10px 20px rgba(58, 31, 20, 0.08);
}
.home2026-flash-main-info {
  min-width: 0;
}
.home2026-flash-main-info h3 {
  display: -webkit-box;
  overflow: hidden;
  color: #3a1f14;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.home2026-flash-main-info p {
  margin-top: 5px;
  overflow: hidden;
  color: rgba(58, 31, 20, 0.52);
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home2026-flash-main-info strong {
  margin-right: 7px;
  color: #ff5a1f;
  font-size: 18px;
  font-weight: 950;
}
.home2026-flash-main-info del {
  color: rgba(58, 31, 20, 0.36);
  font-size: 12px;
  font-weight: 700;
}
.home2026-flash-main-card > span {
  border-radius: 999px;
  background: linear-gradient(135deg, #ff6a00, #ff3030);
  padding: 9px 8px;
  color: white;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 10px 18px rgba(255, 79, 23, 0.22);
}
.home2026-flash-sheet {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 70;
  width: min(430px, 100vw);
  max-height: 78vh;
  overflow-y: auto;
  transform: translateX(-50%);
  border-radius: 28px 28px 0 0;
  background: #fff7ec;
  padding: 10px 16px 22px;
  box-shadow: 0 -24px 60px rgba(58, 31, 20, 0.28);
}
.home2026-flash-sheet-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 10px;
  background: #fff7ec;
  padding: 10px 0 12px;
}
.home2026-flash-sheet-head p {
  color: #ff6a00;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.home2026-flash-sheet-head h2 {
  color: #3a1f14;
  font-size: 20px;
  font-weight: 900;
}
.home2026-flash-sheet-head span {
  border-radius: 999px;
  background: #3a1f14;
  padding: 8px 10px;
  color: white;
  font-size: 12px;
  font-weight: 900;
}
.home2026-flash-sheet-head button {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 14px;
  background: white;
  color: #ff6a00;
  font-size: 20px;
  font-weight: 500;
}
.home2026-flash-sheet-list {
  display: grid;
  gap: 11px;
}
.home2026-flash-sheet-list .home2026-flash-card {
  width: 100%;
  max-width: none;
  min-width: 0;
}
@media (max-width: 380px) {
  .home2026-deal-head {
    grid-template-columns: 1fr auto;
  }

  .home2026-deal-timer {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .home2026-flash-main-card {
    grid-template-columns: 82px minmax(0, 1fr) auto;
  }

  .home2026-flash-main-card > img {
    width: 82px;
  }
}
/* Flash sale ShopeeFood-like highlight */
.home2026-flash-deal {
  position: relative;
  overflow: hidden;
  border: 0;
  background: #fff;
  padding: 14px 14px 16px;
  box-shadow: 0 16px 34px rgba(255, 90, 31, 0.09), 0 8px 22px rgba(58, 31, 20, 0.05);
}
.home2026-flash-deal::before {
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  content: "";
  background: linear-gradient(90deg, #ff3200, #ff8a00, #ffd24a);
}
.home2026-deal-head {
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
}
.home2026-deal-head h2 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #f0441d;
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.home2026-deal-head h2::before {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 8px;
  background: #f0441d;
  color: #fff;
  content: "\26A1";
  font-size: 14px;
  line-height: 1;
}
.home2026-deal-head > button {
  color: rgba(58, 31, 20, 0.5);
  font-size: 12px;
  font-weight: 850;
}
.home2026-deal-head > button::after {
  content: " \203A";
  color: #ff6a00;
  font-size: 18px;
  vertical-align: -1px;
}
.home2026-deal-timer {
  justify-content: flex-start;
  gap: 5px;
  min-width: 0;
  color: rgba(58, 31, 20, 0.4);
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.home2026-timer-boxes {
  display: inline-flex;
  gap: 3px;
}
.home2026-timer-boxes em {
  display: grid;
  min-width: 24px;
  height: 22px;
  place-items: center;
  border-radius: 6px;
  background: #1f130f;
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0;
  box-shadow: 0 5px 10px rgba(31, 19, 15, 0.18);
}
.home2026-flash-main-card {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 12px;
  margin-top: 14px;
  border-radius: 22px;
  background: linear-gradient(180deg, #fff5ef, #fff);
  padding: 10px;
  box-shadow: inset 0 0 0 1px rgba(255, 106, 0, 0.08);
}
.home2026-flash-main-image {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: #fff0e9;
}
.home2026-flash-main-image img {
  width: 112px;
  height: 112px;
  -o-object-fit: cover;
     object-fit: cover;
}
.home2026-flash-main-image span {
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 0 0 0 13px;
  background: linear-gradient(135deg, #ffe563, #ffb300);
  padding: 6px 8px;
  color: #f0441d;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 6px 12px rgba(255, 179, 0, 0.22);
}
.home2026-flash-main-info {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
}
.home2026-flash-main-info h3 {
  color: #3a1f14;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.22;
}
.home2026-flash-main-info p {
  margin-top: 4px;
  color: rgba(58, 31, 20, 0.52);
  font-size: 12px;
  font-weight: 700;
}
.home2026-flash-main-price {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin-top: 8px;
}
.home2026-flash-main-price strong {
  color: #e92f23;
  font-size: 21px;
  font-weight: 950;
  line-height: 1;
}
.home2026-flash-main-price del {
  color: rgba(58, 31, 20, 0.34);
  font-size: 12px;
  font-weight: 750;
}
.home2026-flash-main-card > button {
  grid-column: 2;
  width: -moz-max-content;
  width: max-content;
  min-width: 104px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff3200, #ff7a00);
  padding: 9px 14px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 10px 20px rgba(255, 90, 31, 0.2);
}
.home2026-flash-progress {
  overflow: hidden;
  width: 100%;
  height: 24px;
  margin-top: 9px;
  border-radius: 999px;
  background: #ffd4c9;
}
.home2026-flash-progress span {
  display: grid;
  width: 76%;
  height: 100%;
  place-items: center;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff3200, #ff8a66);
  color: white;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
@media (max-width: 380px) {
  .home2026-deal-head {
    grid-template-columns: auto auto;
  }

  .home2026-deal-timer {
    grid-column: 1 / -1;
  }

  .home2026-flash-main-card {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .home2026-flash-main-image img {
    width: 96px;
    height: 104px;
  }

  .home2026-flash-main-price strong {
    font-size: 19px;
  }
}
/* Compact premium flash sale */
.home2026-flash-deal {
  border-radius: 20px;
  padding: 12px;
  box-shadow: 0 12px 26px rgba(58, 31, 20, 0.055);
}
.home2026-deal-head h2 {
  font-size: 16px;
  letter-spacing: 0.01em;
}
.home2026-deal-head h2::before {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  font-size: 12px;
}
.home2026-deal-head > button {
  font-size: 11px;
}
.home2026-deal-timer {
  font-size: 10px;
}
.home2026-timer-boxes em {
  min-width: 22px;
  height: 20px;
  border-radius: 5px;
  font-size: 11px;
}
.home2026-flash-main-card {
  grid-template-columns: 86px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  border-radius: 18px;
  padding: 9px;
  background: #fffaf5;
}
.home2026-flash-main-image {
  border-radius: 15px;
}
.home2026-flash-main-image img {
  width: 86px;
  height: 76px;
}
.home2026-flash-main-image span {
  border-radius: 0 0 0 11px;
  padding: 4px 6px;
  font-size: 11px;
}
.home2026-flash-main-info h3 {
  font-size: 14px;
  line-height: 1.2;
}
.home2026-flash-main-info p {
  margin-top: 3px;
  font-size: 11px;
}
.home2026-flash-main-price {
  margin-top: 5px;
  gap: 6px;
}
.home2026-flash-main-price strong {
  font-size: 17px;
}
.home2026-flash-main-price del {
  font-size: 11px;
}
.home2026-flash-main-card > button {
  grid-column: auto;
  min-width: 0;
  border-radius: 14px;
  padding: 9px 10px;
  font-size: 11px;
  white-space: nowrap;
}
.home2026-flash-progress {
  height: 18px;
  margin-top: 7px;
}
.home2026-flash-progress span {
  font-size: 9px;
  letter-spacing: 0;
}
@media (max-width: 380px) {
  .home2026-flash-main-card {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .home2026-flash-main-image img {
    width: 78px;
    height: 72px;
  }

  .home2026-flash-main-card > button {
    grid-column: 2;
    width: -moz-max-content;
    width: max-content;
  }
}
/* Clean compact deal card */
.home2026-flash-deal {
  border-radius: 18px;
  background: #fff;
  padding: 12px 14px;
  box-shadow: 0 10px 24px rgba(58, 31, 20, 0.045);
}
.home2026-flash-deal::before {
  height: 0;
}
.home2026-deal-head {
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(58, 31, 20, 0.06);
}
.home2026-deal-head h2 {
  color: #3a1f14;
  font-size: 17px;
  font-weight: 850;
  text-transform: none;
}
.home2026-deal-head h2::before {
  display: none;
}
.home2026-deal-head > button {
  color: rgba(58, 31, 20, 0.48);
  font-size: 12px;
  font-weight: 750;
}
.home2026-deal-timer {
  justify-content: flex-start;
  color: rgba(58, 31, 20, 0.38);
  font-size: 10px;
  font-weight: 750;
}
.home2026-timer-boxes em {
  min-width: 22px;
  height: 20px;
  border-radius: 6px;
  background: #fff0f1;
  color: #e74135;
  font-size: 11px;
  box-shadow: none;
}
.home2026-flash-main-card {
  grid-template-columns: 76px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  margin-top: 11px;
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}
.home2026-flash-main-image {
  border-radius: 14px;
  background: #fff4ec;
}
.home2026-flash-main-image img {
  width: 76px;
  height: 66px;
  -o-object-fit: cover;
     object-fit: cover;
}
.home2026-flash-main-image span,
.home2026-flash-main-card > button,
.home2026-flash-progress {
  display: none !important;
}
.home2026-flash-main-info h3 {
  color: #3a1f14;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.22;
}
.home2026-flash-main-info p {
  margin-top: 4px;
  color: rgba(58, 31, 20, 0.48);
  font-size: 11px;
  font-weight: 650;
}
.home2026-flash-main-price {
  margin-top: 7px;
  gap: 7px;
}
.home2026-flash-main-price strong {
  color: #e93b32;
  font-size: 18px;
  font-weight: 850;
}
.home2026-flash-main-price del {
  color: rgba(58, 31, 20, 0.32);
  font-size: 11px;
  font-weight: 650;
}
.home2026-flash-discount {
  display: grid;
  min-width: 48px;
  height: 32px;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff6a5c, #e63b32);
  color: #fff;
  font-size: 12px;
  font-weight: 850;
  box-shadow: 0 7px 15px rgba(230, 59, 50, 0.18);
}
@media (max-width: 380px) {
  .home2026-deal-head {
    grid-template-columns: auto 1fr auto;
  }

  .home2026-deal-timer {
    grid-column: auto;
  }

  .home2026-flash-main-card {
    grid-template-columns: 70px minmax(0, 1fr) auto;
  }

  .home2026-flash-main-image img {
    width: 70px;
    height: 62px;
  }

  .home2026-flash-discount {
    min-width: 42px;
    height: 30px;
    font-size: 11px;
  }
}
.home2026-flash-sheet-head button {
  transform: rotate(-90deg);
  color: #3a1f14;
  box-shadow: 0 8px 18px rgba(58, 31, 20, 0.08);
}
.home2026-backdrop {
  position: fixed;
  inset: 0;
  z-index: 65;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(58, 31, 20, 0.34);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.category-bubble {
  display: grid;
  min-width: 72px;
  gap: 7px;
  place-items: center;
  color: rgba(58, 31, 20, 0.72);
  font-size: 11px;
  font-weight: 800;
}
.stepper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  color: rgba(58, 31, 20, 0.58);
  font-size: 10px;
  font-weight: 900;
  text-align: center;
}
.stepper span {
  border-radius: 999px;
  background: white;
  padding: 8px 4px;
  box-shadow: var(--shadow-soft);
}
.stepper span:first-child,
.stepper span:nth-child(2) {
  background: #fff0df;
  color: #ff5a1f;
}
.fulfillment-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4px;
  border: 1px solid rgba(58, 31, 20, 0.08);
  border-radius: 20px;
  background: white;
  padding: 5px;
  box-shadow: var(--shadow-soft);
}
.fulfillment-tabs button {
  min-height: 48px;
  border-radius: 16px;
  color: rgba(58, 31, 20, 0.64);
  font-size: 14px;
  font-weight: 900;
  transition: all 0.2s ease;
}
.fulfillment-tabs button.active {
  background: linear-gradient(135deg, #ffd000 0%, #ff6a00 78%);
  color: white;
  box-shadow: var(--shadow-orange);
}
.map-preview {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  border-radius: 20px;
  background:
    linear-gradient(45deg, rgba(58, 31, 20, 0.04) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(255, 106, 0, 0.08) 25%, transparent 25%),
    #f8efe3;
  padding: 12px;
  color: rgba(58, 31, 20, 0.45);
  font-size: 12px;
  font-weight: 900;
}
.map-preview button,
.outline-btn {
  border: 1px solid rgba(58, 31, 20, 0.14);
  border-radius: 16px;
  background: white;
  padding: 12px 14px;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 900;
}
@media (max-width: 374px) {
  .hero-food {
    right: -72px;
    width: 228px;
    height: 228px;
  }

  .hero-card h1 {
    font-size: 27px;
  }
}
.home2026-shell {
  display: grid;
  gap: 18px;
  padding: 14px 16px 128px;
}
.home2026-program-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}
.home2026-program-card {
  min-height: 112px;
  border: 1px solid rgba(255, 106, 0, 0.12);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.92);
  padding: 13px;
  box-shadow: 0 12px 26px rgba(58, 31, 20, 0.055);
}
.home2026-program-card > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 14px;
  background: #fff1df;
  color: #ff6a00;
}
.home2026-program-card strong {
  display: block;
  margin-top: 10px;
  color: #3a1f14;
  font-size: 13px;
  font-weight: 850;
}
.home2026-program-card p {
  margin-top: 4px;
  color: rgba(58, 31, 20, 0.55);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.34;
}
.home2026-section {
  display: grid;
  gap: 12px;
}
.home2026-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}
.home2026-section-head p {
  color: #ff6a00;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.home2026-section-head h2 {
  color: #3a1f14;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.1;
}
.home2026-section-head button {
  color: #ff6a00;
  font-size: 12px;
  font-weight: 800;
}
.home2026-section .product-card {
  width: 100%;
  max-width: 100%;
}
.home2026-section .product-image-wrap {
  width: 100%;
}
.checkout-cart-item {
  cursor: pointer;
}
.checkout-cart-item:active {
  transform: scale(0.995);
}
.modal-topping {
  position: relative;
  min-height: 58px;
  padding-bottom: 12px;
}
.modal-topping-count {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  border-radius: 999px;
  background: #fff6ec;
  padding: 4px;
  color: #ff6a00;
  font-style: normal;
}
.modal-topping-count b {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  background: white;
  box-shadow: 0 4px 10px rgba(58, 31, 20, 0.08);
  font-size: 14px;
  font-weight: 850;
}
.modal-topping-count i {
  min-width: 12px;
  text-align: center;
  color: #3a1f14;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}
/* Premium checkout milestone suggestions */
.milestone-box-v2 {
  position: relative;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 106, 0, 0.1);
  border-radius: 22px;
  background:
    radial-gradient(circle at 95% 0%, rgba(255, 106, 0, 0.18), transparent 36%),
    linear-gradient(135deg, #fff8e8, #fff1d7);
  padding: 14px;
  color: #3a1f14;
}
.milestone-copy span {
  display: inline-flex;
  width: -moz-max-content;
  width: max-content;
  border-radius: 999px;
  background: rgba(255, 106, 0, 0.1);
  padding: 4px 8px;
  color: #ff6a00;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}
.milestone-copy strong {
  margin-top: 8px;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.22;
}
.milestone-copy small {
  display: block;
  margin-top: 4px;
  color: rgba(58, 31, 20, 0.55);
  font-size: 12px;
  font-weight: 650;
}
.milestone-gift {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 16px;
  background: white;
  color: #ff6a00;
  box-shadow: 0 10px 20px rgba(58, 31, 20, 0.08);
}
.milestone-box-v2 .milestone-track {
  grid-column: 1 / -1;
  height: 7px;
  background: rgba(255, 255, 255, 0.78);
}
.suggestion-section-v2 {
  margin-top: 16px;
  gap: 8px;
}
.suggestion-section-v2 + .suggestion-section-v2 {
  padding-top: 2px;
}
.suggestion-row-title strong {
  font-size: 14px;
  font-weight: 850;
}
.suggestion-row-title span {
  color: rgba(58, 31, 20, 0.4);
  font-size: 11px;
  font-weight: 700;
}
.suggestion-slider-v2 {
  grid-auto-columns: 106px;
  gap: 9px;
  margin-right: -16px;
  margin-left: -16px;
  padding: 0 16px 8px;
}
.suggestion-chip-v2 {
  min-height: 62px;
  border-color: rgba(255, 106, 0, 0.1);
  border-radius: 18px;
  background: #fffdf9;
  padding: 10px;
  box-shadow: 0 8px 18px rgba(58, 31, 20, 0.045);
}
.suggestion-chip-v2 span {
  color: #3a1f14;
  font-size: 12px;
  font-weight: 750;
}
.suggestion-chip-v2 strong {
  color: #ff6a00;
  font-size: 11px;
  font-weight: 850;
}
.main-suggest-slider {
  grid-auto-columns: 112px;
}
.suggestion-main-chip {
  min-height: 154px;
  align-content: start;
  padding: 8px;
}
.suggestion-main-chip img {
  width: 100%;
  aspect-ratio: 1 / 0.82;
  border-radius: 14px;
  -o-object-fit: cover;
     object-fit: cover;
}
.suggestion-main-chip span {
  margin-top: 4px;
  -webkit-line-clamp: 2;
}
/* Fix suggestion typography and option modal stability */
.suggestion-row-title,
.suggestion-row-title strong,
.suggestion-row-title span,
.milestone-copy,
.milestone-copy * {
  letter-spacing: 0;
}
.option-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 10px;
}
.option-choice-grid .modal-topping {
  width: 100%;
  min-height: 70px;
  justify-content: flex-start;
  gap: 5px;
  border-width: 1px;
  text-align: left;
  transition: background-color 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.option-choice-grid .modal-topping:active {
  transform: scale(0.985);
}
.option-sheet .modal-topping-active {
  box-shadow: inset 0 0 0 1px rgba(255, 106, 0, 0.32), 0 8px 18px rgba(255, 106, 0, 0.08);
}
.option-sheet .option {
  min-width: 0;
  min-height: 46px;
  width: 100%;
  line-height: 1.2;
  vertical-align: top;
}
.option-sheet .option-active {
  box-shadow: inset 0 0 0 1px rgba(255, 106, 0, 0.2);
}
.option-spice-grid {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.option-spice-grid .option {
  display: grid;
  place-items: center;
  padding: 0 8px;
  white-space: normal;
  text-align: center;
}
@media (max-width: 370px) {
  .option-choice-grid {
    grid-template-columns: 1fr;
  }

  .option-spice-grid {
    grid-template-columns: 1fr;
  }
}
.home-popup-card {
  position: relative;
  width: min(92vw, 360px);
  border: 1px solid #ffd6b3;
  border-radius: 22px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 22px 44px rgba(16, 24, 40, 0.24);
}
.home-popup-image-only {
  position: relative;
  width: 100%;
}
.home-popup-overlay {
  display: grid;
  place-items: center;
}
.home-popup-backdrop {
  background: rgba(58, 31, 20, 0.42);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.customer-bottom-sheet.home-popup-sheet {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.customer-bottom-sheet.home-popup-sheet .customer-sheet-scroll {
  overflow: visible !important;
  padding: 0 !important;
}
.home-popup-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #fff4ea;
  color: #ff6b00;
  font-size: 21px;
  line-height: 1;
}
.home-popup-image-wrap {
  width: 100%;
  overflow: visible;
  background: transparent;
}
.home-popup-image {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  -o-object-fit: cover;
     object-fit: cover;
}
.home-popup-copy {
  margin-top: 12px;
  display: grid;
  gap: 5px;
}
.home-popup-copy h3 {
  color: #1f2937;
  font-size: 17px;
  font-weight: 900;
}
.home-popup-copy p {
  color: #6b7280;
  font-size: 13px;
  font-weight: 700;
}
.customer-sheet-open {
  overflow: hidden;
  overscroll-behavior: none;
}
.customer-sheet-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(58, 31, 20, 0.36);
  padding: env(safe-area-inset-top) 0 0;
  animation: customer-sheet-fade 0.18s ease-out;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.customer-bottom-sheet {
  display: flex;
  width: 100%;
  max-height: min(92vh, 760px);
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 106, 0, 0.12);
  border-radius: 28px 28px 0 0;
  background: #fffaf3;
  box-shadow: 0 -24px 64px rgba(58, 31, 20, 0.26);
  animation: customer-sheet-up 0.24s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.customer-bottom-sheet.promo-sheet,
.customer-bottom-sheet.option-sheet,
.customer-bottom-sheet.home2026-flash-sheet {
  position: relative;
  left: auto;
  bottom: auto;
  width: 100%;
  max-width: none;
  max-height: min(92vh, 760px);
  transform: none;
  overflow: hidden;
  padding: 0;
}
.customer-sheet-handle {
  width: 46px;
  height: 5px;
  flex: 0 0 auto;
  margin: 10px auto 6px;
  border-radius: 999px;
  background: rgba(58, 31, 20, 0.16);
}
.customer-sheet-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  min-height: 58px;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  background: #fffaf3;
  padding: 8px 14px 12px;
}
.customer-sheet-title {
  min-width: 0;
}
.customer-sheet-title h2 {
  color: #3a1f14;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
}
.customer-sheet-title p {
  margin-top: 4px;
  color: rgba(58, 31, 20, 0.56);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
}
.customer-sheet-close {
  display: grid;
  min-width: 44px;
  height: 44px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 16px;
  background: #fff1e6;
  color: #ff6a00;
  font-size: 13px;
  font-weight: 950;
}
.customer-sheet-scroll {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0 14px 14px;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.customer-sheet-scroll::-webkit-scrollbar {
  display: none;
}
.customer-sheet-footer {
  flex: 0 0 auto;
  background: linear-gradient(180deg, rgba(255, 250, 243, 0.76), #fffaf3 28%);
  padding: 12px 14px calc(14px + env(safe-area-inset-bottom));
}
.customer-bottom-sheet.option-sheet .customer-sheet-scroll,
.customer-bottom-sheet.promo-sheet .customer-sheet-scroll,
.customer-bottom-sheet.home2026-flash-sheet .customer-sheet-scroll {
  padding: 0 14px 14px;
}
.customer-option-sheet .option-modal-footer {
  bottom: -14px;
  margin-right: -14px;
  margin-left: -14px;
  padding-right: 14px;
  padding-left: 14px;
  padding-bottom: calc(14px + env(safe-area-inset-bottom));
}
.home-popup-sheet {
  width: min(92vw, 360px);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
.home-popup-sheet .customer-sheet-scroll {
  overflow: visible;
  padding: 0;
}
.customer-flash-sheet .customer-sheet-scroll {
  padding-bottom: calc(16px + env(safe-area-inset-bottom));
}
.customer-flash-sheet .home2026-flash-sheet-head {
  margin: 0 -14px;
  padding-right: 14px;
  padding-left: 14px;
}
.customer-bottom-sheet button,
.customer-bottom-sheet [role="button"],
.customer-bottom-sheet select,
.customer-bottom-sheet input,
.customer-bottom-sheet textarea {
  touch-action: manipulation;
}
.customer-bottom-sheet button {
  min-height: 44px;
}
.customer-bottom-sheet button:active,
.customer-bottom-nav__item:active,
.home2026-profile-btn:active,
.home2026-flash-main-card:active,
.delivery-app-card:active,
.home2026-category-pill:active {
  transform: scale(0.985);
}
.floating-cart-bar:active {
  transform: translateX(-50%) scale(0.985);
}
.customer-native-card {
  transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}
.customer-native-card:active {
  transform: scale(0.985);
}
@media (min-width: 768px) {
  .customer-sheet-backdrop {
    align-items: center;
    padding: 24px;
  }

  .customer-bottom-sheet {
    width: min(430px, 100%);
    max-height: min(90vh, 760px);
    border-radius: 28px;
    box-shadow: 0 24px 72px rgba(58, 31, 20, 0.24);
  }

  .customer-bottom-sheet.promo-sheet,
  .customer-bottom-sheet.option-sheet,
  .customer-bottom-sheet.home2026-flash-sheet {
    width: min(430px, 100%);
    border-radius: 28px;
  }

  .customer-bottom-sheet.home-popup-sheet {
    width: min(92vw, 360px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  .customer-bottom-sheet.home-popup-sheet .customer-sheet-scroll {
    overflow: visible;
    padding: 0;
  }
}
@keyframes customer-sheet-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes customer-sheet-up {
  from {
    opacity: 0;
    transform: translateY(24px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, system-ui, Arial; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
.visible {
  visibility: visible;
}
.collapse {
  visibility: collapse;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-x-4 {
  left: 1rem;
  right: 1rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-\[72px\] {
  bottom: 72px;
}
.left-0 {
  left: 0px;
}
.left-4 {
  left: 1rem;
}
.right-0 {
  right: 0px;
}
.top-0 {
  top: 0px;
}
.top-4 {
  top: 1rem;
}
.top-full {
  top: 100%;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-50 {
  z-index: 50;
}
.z-\[110\] {
  z-index: 110;
}
.z-\[200\] {
  z-index: 200;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.-mt-2 {
  margin-top: -0.5rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-\[-4px\] {
  margin-top: -4px;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-3 {
  height: 0.75rem;
}
.h-5 {
  height: 1.25rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-72 {
  height: 18rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}
.h-full {
  height: 100%;
}
.max-h-56 {
  max-height: 14rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-\[320px\] {
  max-height: 320px;
}
.max-h-\[68vh\] {
  max-height: 68vh;
}
.min-h-9 {
  min-height: 2.25rem;
}
.min-h-\[calc\(100vh-96px\)\] {
  min-height: calc(100vh - 96px);
}
.min-h-screen {
  min-height: 100vh;
}
.w-0 {
  width: 0px;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-5 {
  width: 1.25rem;
}
.w-6 {
  width: 1.5rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-full {
  width: 100%;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-11 {
  min-width: 2.75rem;
}
.max-w-\[360px\] {
  max-width: 360px;
}
.max-w-\[430px\] {
  max-width: 430px;
}
.max-w-sm {
  max-width: 24rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.shrink-0 {
  flex-shrink: 0;
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-wait {
  cursor: wait;
}
.resize {
  resize: both;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.place-items-center {
  place-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[14px\] {
  border-radius: 14px;
}
.rounded-\[18px\] {
  border-radius: 18px;
}
.rounded-\[20px\] {
  border-radius: 20px;
}
.rounded-\[22px\] {
  border-radius: 22px;
}
.rounded-\[24px\] {
  border-radius: 24px;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-\[30px\] {
  border-radius: 30px;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-b-\[34px\] {
  border-bottom-right-radius: 34px;
  border-bottom-left-radius: 34px;
}
.border {
  border-width: 1px;
}
.border-4 {
  border-width: 4px;
}
.border-dashed {
  border-style: dashed;
}
.border-brown\/20 {
  border-color: rgb(58 31 20 / 0.2);
}
.border-brown\/5 {
  border-color: rgb(58 31 20 / 0.05);
}
.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-orange-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 237 213 / var(--tw-border-opacity, 1));
}
.border-orange-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}
.border-orange-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}
.border-orange-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}
.border-orange-50 {
  --tw-border-opacity: 1;
  border-color: rgb(255 247 237 / var(--tw-border-opacity, 1));
}
.border-red-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-white\/70 {
  border-color: rgb(255 255 255 / 0.7);
}
.bg-black\/35 {
  background-color: rgb(0 0 0 / 0.35);
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-brown\/30 {
  background-color: rgb(58 31 20 / 0.3);
}
.bg-brown\/5 {
  background-color: rgb(58 31 20 / 0.05);
}
.bg-cream {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 236 / var(--tw-bg-opacity, 1));
}
.bg-cream\/50 {
  background-color: rgb(255 247 236 / 0.5);
}
.bg-cream\/60 {
  background-color: rgb(255 247 236 / 0.6);
}
.bg-cream\/70 {
  background-color: rgb(255 247 236 / 0.7);
}
.bg-cream\/80 {
  background-color: rgb(255 247 236 / 0.8);
}
.bg-cream\/95 {
  background-color: rgb(255 247 236 / 0.95);
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50\/70 {
  background-color: rgb(236 253 245 / 0.7);
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 90 31 / var(--tw-bg-opacity, 1));
}
.bg-orange-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 106 0 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-rose-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/40 {
  background-color: rgb(15 23 42 / 0.4);
}
.bg-transparent {
  background-color: transparent;
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-cream {
  --tw-gradient-from: #FFF7EC var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 236 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-cream {
  --tw-gradient-to: rgb(255 247 236 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #FFF7EC var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-1 {
  padding: 0.25rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-7 {
  padding: 1.75rem;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-24 {
  padding-bottom: 6rem;
}
.pb-28 {
  padding-bottom: 7rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-32 {
  padding-bottom: 8rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.leading-4 {
  line-height: 1rem;
}
.leading-5 {
  line-height: 1.25rem;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[0\.25em\] {
  letter-spacing: 0.25em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-brown {
  --tw-text-opacity: 1;
  color: rgb(58 31 20 / var(--tw-text-opacity, 1));
}
.text-brown\/30 {
  color: rgb(58 31 20 / 0.3);
}
.text-brown\/35 {
  color: rgb(58 31 20 / 0.35);
}
.text-brown\/40 {
  color: rgb(58 31 20 / 0.4);
}
.text-brown\/45 {
  color: rgb(58 31 20 / 0.45);
}
.text-brown\/50 {
  color: rgb(58 31 20 / 0.5);
}
.text-brown\/55 {
  color: rgb(58 31 20 / 0.55);
}
.text-brown\/60 {
  color: rgb(58 31 20 / 0.6);
}
.text-brown\/65 {
  color: rgb(58 31 20 / 0.65);
}
.text-brown\/70 {
  color: rgb(58 31 20 / 0.7);
}
.text-brown\/75 {
  color: rgb(58 31 20 / 0.75);
}
.text-brown\/80 {
  color: rgb(58 31 20 / 0.8);
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(255 90 31 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(255 106 0 / var(--tw-text-opacity, 1));
}
.text-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-rose-700 {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.line-through {
  text-decoration-line: line-through;
}
.opacity-100 {
  opacity: 1;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_18px_44px_rgba\(58\2c 31\2c 20\2c 0\.18\)\] {
  --tw-shadow: 0 18px 44px rgba(58,31,20,0.18);
  --tw-shadow-colored: 0 18px 44px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-orange {
  --tw-shadow: 0 12px 24px rgba(255, 90, 31, 0.24);
  --tw-shadow-colored: 0 12px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-soft {
  --tw-shadow: 0 12px 34px rgba(58, 31, 20, 0.08);
  --tw-shadow-colored: 0 12px 34px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-orange-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 215 170 / var(--tw-ring-opacity, 1));
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.placeholder\:text-brown\/35::-moz-placeholder {
  color: rgb(58 31 20 / 0.35);
}
.placeholder\:text-brown\/35::placeholder {
  color: rgb(58 31 20 / 0.35);
}
.hover\:-translate-y-\[1px\]:hover {
  --tw-translate-y: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:bg-orange-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:border-orange-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-orange-100:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 237 213 / var(--tw-ring-opacity, 1));
}
.active\:scale-\[0\.995\]:active {
  --tw-scale-x: 0.995;
  --tw-scale-y: 0.995;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.99\]:active {
  --tw-scale-x: 0.99;
  --tw-scale-y: 0.99;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media (min-width: 390px) {

  .min-\[390px\]\:block {
    display: block;
  }
}
@media (min-width: 768px) {

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {

  .lg\:grid-cols-\[320px_1fr\] {
    grid-template-columns: 320px 1fr;
  }
}
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-width: 320px;
  font-family: "Inter", system-ui, -apple-system, Arial, sans-serif;
  font-weight: 500;
  letter-spacing: -0.2px;
  background:
    radial-gradient(circle at top left, rgba(255, 106, 0, 0.1), transparent 34%),
    linear-gradient(135deg, #fffaf3, #f3eee6);
  color: #3a1f14;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
}

.price,
[class*="price"] {
  font-weight: 600;
}
