.auth-container{align-items:center;background:var(--gradient-hero);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.auth-container:before{background:var(--gradient-overlay);content:"";inset:0;pointer-events:none;position:absolute}.auth-box{animation:fadeIn .4s ease-out;background:#fff;border:1px solid var(--periwinkle-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);max-width:440px;padding:var(--space-12);position:relative;width:100%}.auth-logo{display:block;height:120px;margin:0 auto var(--space-6);object-fit:contain;width:auto}.auth-box h1{color:var(--indigo-500);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-3);text-align:center}.auth-box h2{color:var(--indigo-900);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin-bottom:var(--space-10);text-align:center}.form-group input{font-family:inherit}button[type=submit]{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-size:var(--text-lg);font-weight:var(--font-semibold);padding:var(--space-4) var(--space-8);transition:var(--transition-all);width:100%}button[type=submit]:hover:not(:disabled){box-shadow:var(--shadow-xl);transform:translateY(-2px)}button[type=submit]:active:not(:disabled){transform:translateY(0) scale(.98)}button[type=submit]:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-link{color:var(--lapis-600);font-size:var(--text-sm);margin-top:var(--space-6);text-align:center}.auth-link a{border-bottom:2px solid #0000;color:var(--moss-600);font-weight:var(--font-semibold);text-decoration:none;transition:var(--transition-base)}.auth-link a:hover{border-bottom-color:var(--moss-700);color:var(--moss-700)}@media (max-width:480px){.auth-box{margin:var(--space-4);padding:var(--space-6)}.auth-box h1{font-size:var(--text-2xl)}.auth-box h2{font-size:var(--text-xl);margin-bottom:var(--space-6)}button[type=submit]{font-size:var(--text-base);padding:var(--space-3) var(--space-6)}}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.tag-input-container{display:flex;flex-direction:column;gap:8px}.tag-input-field{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:4px;display:flex;flex-wrap:wrap;gap:8px;padding:8px;position:relative}.tags-display{display:flex;flex-wrap:wrap;gap:6px}.tag-badge{background-color:#667eea;border-radius:16px;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:4px 10px}.tag-badge,.tag-remove-btn{align-items:center;color:#fff}.tag-remove-btn{background:none;border:none;cursor:pointer;display:flex;font-size:14px;line-height:1;padding:0}.tag-remove-btn:hover{opacity:.8}.tag-input{border:none;flex:1 1;font-family:inherit;font-size:14px;min-width:150px;outline:none;padding:6px 8px}.tag-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.tag-error{color:#d32f2f;font-size:12px;padding:0 4px}.tag-suggestions{background-color:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:150px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.suggestion-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:13px;padding:10px 12px;text-align:left;transition:background-color .2s;width:100%}.suggestion-item:hover{background-color:#f5f5f5}.suggestion-item:active{background-color:#efefef}.tag-help-text{color:#666;font-size:12px;padding:0 4px}.floating-globe-btn,.floating-profile-btn{align-items:center;border:none;border-radius:50%;box-shadow:0 4px 12px #00000026,0 2px 6px #0000001a;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;transition:all .3s ease;width:56px;z-index:100}.floating-globe-btn:hover,.floating-profile-btn:hover{box-shadow:0 6px 16px #0003,0 3px 8px #00000026;transform:translateY(-2px)}.floating-globe-btn:active,.floating-profile-btn:active{transform:translateY(0)}.floating-profile-btn{background:#fff;bottom:24px;color:var(--indigo-600);right:24px}.floating-profile-btn:hover{background:var(--indigo-50);color:var(--indigo-700)}.floating-globe-btn{background:var(--indigo-700);bottom:24px;color:#fff;right:24px}.floating-globe-btn:hover{background:var(--indigo-800)}@media (max-width:768px){.floating-globe-btn,.floating-profile-btn{bottom:16px;height:48px;right:16px;width:48px}.floating-globe-btn svg,.floating-profile-btn svg{height:20px;width:20px}}.dashboard-container{background-color:var(--periwinkle-50);display:flex;flex-direction:column;min-height:100vh}.dashboard-header{align-items:center;background:var(--indigo-600);box-shadow:0 1px 3px #0000001a;display:flex;justify-content:center;max-height:110px;min-height:110px;padding:var(--space-2) var(--space-6);position:-webkit-sticky;position:sticky;top:0;z-index:50}.dashboard-header .header-content{align-items:center;display:flex;flex-direction:row;gap:var(--space-4);height:100%;justify-content:space-between;max-width:100%;width:100%}.dashboard-header .header-left{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:var(--space-2)}.dashboard-header .header-logo{display:block;flex-shrink:0;height:104px;object-fit:contain;width:auto}.dashboard-header h1{color:#fff;font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:1.2;margin:0;padding:0;white-space:nowrap}.dashboard-header .header-right{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:var(--space-6)}.dashboard-header .header-link{color:#fff;cursor:pointer;display:block;font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1;margin:0;opacity:.9;padding:0;text-decoration:none;transition:opacity var(--transition-fast);white-space:nowrap}.dashboard-header .header-link:hover{opacity:1}.dashboard-main{flex:1 1;margin:0 auto;max-width:1200px;padding:var(--space-12) var(--space-6);position:relative;width:100%;z-index:1}.dashboard-intro{margin-bottom:var(--space-10)}.dashboard-intro h2{color:var(--indigo-900);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0}.dashboard-intro .intro-description{color:var(--lapis-600);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0;max-width:700px}.dashboard-controls{align-items:center;display:flex;justify-content:center;margin-bottom:var(--space-10);position:relative;z-index:1}.create-btn{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-6);transition:var(--transition-all)}.create-btn:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.error-message{background:linear-gradient(90deg,#aa234e1a,#aa234e0d);border-left:4px solid var(--rose-700);color:var(--rose-700)}.create-map-form{animation:fadeIn .3s ease-out;background:#fff;border:1px solid var(--periwinkle-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:var(--space-10);padding:var(--space-10);position:relative;z-index:1}.create-map-form h3{color:var(--indigo-900);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin-top:0}.create-map-form h3,.form-group{margin-bottom:var(--space-6)}.form-group input{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--indigo-900);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:var(--transition-base);width:100%}.form-group input:hover{border-color:var(--periwinkle-400)}.form-group input:focus{border-color:var(--indigo-500);box-shadow:0 0 0 4px var(--indigo-50);outline:none}.form-group input:disabled{background-color:var(--periwinkle-50);cursor:not-allowed;opacity:.6}.form-group select{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--indigo-900);cursor:pointer;font-family:inherit;font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:var(--transition-base);width:100%}.form-group select:hover{border-color:var(--periwinkle-400)}.form-group select:focus{border-color:var(--indigo-500);box-shadow:0 0 0 4px var(--indigo-50);outline:none}.form-group select:disabled{background-color:var(--periwinkle-50);cursor:not-allowed;opacity:.6}.form-group textarea{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--indigo-900);font-family:inherit;font-size:var(--text-base);min-height:100px;padding:var(--space-3) var(--space-4);transition:var(--transition-base);width:100%}.form-group textarea:hover{border-color:var(--periwinkle-400)}.form-group textarea:focus{border-color:var(--indigo-500);box-shadow:0 0 0 4px var(--indigo-50);outline:none}.form-group textarea:disabled{background-color:var(--periwinkle-50);cursor:not-allowed;opacity:.6}.bounds-group{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--space-3)}.bounds-hint{color:var(--lapis-600);font-size:var(--text-xs);font-style:italic;line-height:var(--leading-relaxed);margin:var(--space-3) 0 0 0}.submit-btn{background:var(--indigo-600);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-size:var(--text-lg);font-weight:var(--font-semibold);padding:var(--space-4) var(--space-8);transition:var(--transition-all)}.submit-btn:hover:not(:disabled){background:var(--indigo-700);box-shadow:var(--shadow-xl);transform:translateY(-2px)}.submit-btn:active:not(:disabled){transform:scale(.98)}.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.maps-section{animation:fadeIn .3s ease-out;margin-bottom:var(--space-12);position:relative;z-index:1}.section-title{border-bottom:2px solid var(--periwinkle-300);color:var(--indigo-900);font-size:var(--text-2xl);font-weight:var(--font-semibold);letter-spacing:-.01em;margin:0 0 var(--space-6) 0;padding-bottom:var(--space-4)}.maps-grid{grid-gap:var(--space-6);gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.loading,.no-maps{padding:var(--space-16) var(--space-6)}.map-card{background:var(--gradient-card);border:1px solid var(--periwinkle-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:var(--transition-all);z-index:1}.map-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.view-map-btn{background:var(--gradient-header);color:#fff}.view-map-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.map-type-option:hover{background:var(--moss-50);border-color:var(--moss-500)}.map-type-option input[type=radio]:checked~.map-type-option{background:var(--indigo-100);border-color:var(--indigo-500)}.map-type-option input[type=radio]:checked+.map-type-content{color:var(--indigo-900)}.map-type-option input[type=radio]:checked{accent-color:var(--indigo-600)}.field-hint{background:var(--periwinkle-100);border-left:3px solid var(--indigo-500);border-radius:var(--radius-md);color:var(--lapis-700);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4)}.pin-types-list{flex-wrap:wrap;margin-bottom:var(--space-4)}.pin-type-item,.pin-types-list{display:flex;gap:var(--space-2)}.pin-type-item{align-items:center;background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:var(--transition-base)}.pin-type-item:hover{border-color:var(--indigo-400)}.pin-type-icon{font-size:var(--text-xl)}.pin-type-name{color:var(--indigo-900);font-size:var(--text-sm);font-weight:var(--font-medium)}.remove-pin-type-btn{background:#0000;border:none;color:var(--lapis-400);cursor:pointer;font-size:var(--text-lg);padding:0 var(--space-1);transition:var(--transition-base)}.remove-pin-type-btn:hover:not(:disabled){color:var(--rose-600)}.remove-pin-type-btn:disabled{cursor:not-allowed;opacity:.5}.add-pin-type-form{grid-gap:var(--space-3);align-items:center;display:grid;gap:var(--space-3);grid-template-columns:80px 1fr auto}.pin-type-icon-input{border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);font-size:var(--text-xl);order:1;padding:var(--space-3);text-align:center;transition:var(--transition-base);width:100%}.pin-type-icon-input:focus{border-color:var(--indigo-500);box-shadow:0 0 0 4px var(--indigo-50);outline:none}.pin-type-name-input{border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);font-size:var(--text-base);order:2;padding:var(--space-3);transition:var(--transition-base)}.pin-type-name-input:focus{border-color:var(--indigo-500);box-shadow:0 0 0 4px var(--indigo-50);outline:none}.add-pin-type-btn{background:var(--indigo-600);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-weight:var(--font-semibold);order:3;padding:var(--space-3) var(--space-5);transition:var(--transition-all)}.add-pin-type-btn:hover:not(:disabled){background:var(--indigo-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.add-pin-type-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.dashboard-header{max-height:94px;min-height:94px;padding:var(--space-2) var(--space-3)}.dashboard-header .header-content{align-items:center;flex-direction:row;gap:var(--space-2)}.dashboard-header .header-left{gap:var(--space-1)}.dashboard-header .header-logo{height:88px}.dashboard-header h1{font-size:var(--text-lg)}.dashboard-header .header-right{gap:var(--space-2)}}@media (max-width:480px){.dashboard-header{padding:var(--space-1) var(--space-2)}.dashboard-header .header-content{gap:var(--space-1)}.dashboard-header .header-left{gap:4px}.dashboard-header .header-logo{height:64px}.dashboard-header h1{font-size:var(--text-base)}.dashboard-header .header-right{gap:var(--space-1)}.dashboard-intro h2{font-size:var(--text-xl)}.dashboard-intro .intro-description{font-size:var(--text-sm)}.dashboard-header .header-link{font-size:var(--text-xs)}.dashboard-controls{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.create-btn{width:100%}.create-map-form{padding:var(--space-6)}.bounds-group{grid-template-columns:1fr 1fr}.maps-grid{grid-template-columns:1fr}.dashboard-main{padding:var(--space-6) var(--space-4)}}.profile-card{animation:fadeIn .3s ease-out;background:#fff;border:1px solid var(--periwinkle-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-10);overflow:hidden}.profile-card-header{align-items:center;background:var(--gradient-card);border-bottom:1px solid var(--periwinkle-200);cursor:pointer;display:flex;justify-content:space-between;padding:var(--space-6);transition:var(--transition-base)}.profile-card-header:hover{background:var(--periwinkle-50)}.profile-info{display:flex;flex-direction:column;gap:var(--space-1)}.profile-name{color:var(--indigo-900);font-size:var(--text-lg);font-weight:var(--font-semibold)}.profile-email{color:var(--lapis-600);font-size:var(--text-sm)}.profile-toggle-btn{background:var(--indigo-600);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-4);transition:var(--transition-all)}.profile-toggle-btn:hover{background:var(--indigo-700);box-shadow:var(--shadow-md)}.profile-card-form{animation:slideDown .3s ease-out;background:#fff;padding:var(--space-6)}.profile-form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.profile-save-btn{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;flex:1 1;font-size:var(--text-base);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-6);transition:var(--transition-all)}.profile-save-btn:hover:not(:disabled){box-shadow:var(--shadow-xl);transform:translateY(-2px)}.profile-save-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.profile-cancel-btn{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--lapis-700);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-6);transition:var(--transition-all)}.profile-cancel-btn:hover:not(:disabled){background:var(--periwinkle-50);border-color:var(--periwinkle-400)}.profile-cancel-btn:disabled{cursor:not-allowed;opacity:.6}.profile-error{background:linear-gradient(90deg,#aa234e1a,#aa234e0d);border-left:4px solid var(--rose-700);color:var(--rose-700)}.profile-error,.profile-success{border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-4);padding:var(--space-3)}.profile-success{background:linear-gradient(90deg,#4caf501a,#4caf500d);border-left:4px solid #4caf50;color:#2e7d32}.boundary-drawer{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:15px;padding:20px}.drawer-header{text-align:center}.drawer-header h3{color:#333;font-size:18px;margin:0 0 8px}.drawer-status{color:#666;font-size:14px;font-style:italic;margin:0}.drawer-map{background:#f9f9f9;border:1px solid #ddd;border-radius:4px;height:400px;width:100%}.drawer-controls{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.clear-btn{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.clear-btn:hover:not(:disabled){background:#e0e0e0;border-color:#bbb}.clear-btn:disabled{cursor:not-allowed;opacity:.5}.bounds-display{background:#e3f2fd;border-left:4px solid #667eea;border-radius:4px;flex:1 1;min-width:250px;padding:12px}.bounds-display p{color:#1976d2;font-family:monospace;font-size:13px;margin:4px 0}.bounds-display p:first-child{font-family:inherit;font-weight:600;margin-bottom:8px}.public-maps-container{background-color:var(--periwinkle-50);display:flex;flex-direction:column;min-height:100vh}.public-maps-header{align-items:center;background:var(--indigo-600);box-shadow:0 1px 3px #0000001a;display:flex;justify-content:center;max-height:110px;min-height:110px;padding:var(--space-2) var(--space-6);position:-webkit-sticky;position:sticky;top:0;z-index:50}.public-maps-header .header-content{align-items:center;display:flex;flex-direction:row;gap:var(--space-4);height:100%;justify-content:space-between;max-width:100%;width:100%}.public-maps-header .header-left{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:var(--space-2)}.public-maps-header .header-logo{display:block;flex-shrink:0;height:104px;object-fit:contain;width:auto}.public-maps-header h1{color:#fff;font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:1.2;margin:0;padding:0;white-space:nowrap}.public-maps-header .header-right{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:var(--space-6)}.public-maps-header .header-link{color:#fff;cursor:pointer;display:block;font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1;margin:0;opacity:.9;padding:0;text-decoration:none;transition:opacity var(--transition-fast);white-space:nowrap}.public-maps-header .header-link:hover{opacity:1}.back-to-dashboard-btn{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:var(--radius-md);color:#fff;cursor:pointer;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:var(--transition-all);white-space:nowrap}.back-to-dashboard-btn:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-1px)}.auth-btn{flex-shrink:0}.signin-btn{background:#fff;border:2px solid #fff;color:var(--indigo-700)}.signin-btn:hover{background:var(--periwinkle-50);transform:translateY(-1px)}.signup-btn{background:var(--gradient-primary);border:2px solid var(--rose-500);box-shadow:var(--shadow-md);color:#fff}.signup-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.public-maps-main{flex:1 1;margin:0 auto;max-width:1200px;padding:var(--space-12) var(--space-6);position:relative;width:100%;z-index:1}.maps-intro{margin-bottom:var(--space-10)}.maps-intro h2{color:var(--indigo-900);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0}.intro-description{color:var(--lapis-600);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0;max-width:700px}.intro-description strong{color:var(--indigo-700);font-weight:var(--font-semibold)}.search-filter-controls{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-8)}.search-box{width:100%}.search-input{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--indigo-900);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:var(--transition-fast);width:100%}.search-input:focus{border-color:var(--indigo-500);box-shadow:0 0 0 3px #4f46e51a;outline:none}.search-input::placeholder{color:var(--lapis-400)}.filter-controls{display:flex;flex-wrap:wrap;gap:var(--space-4)}.filter-group{align-items:center;display:flex;gap:var(--space-2)}.filter-group label{color:var(--lapis-700);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap}.filter-select{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--indigo-900);cursor:pointer;font-size:var(--text-sm);min-width:150px;padding:var(--space-2) var(--space-3);transition:var(--transition-fast)}.filter-select:focus{border-color:var(--indigo-500);box-shadow:0 0 0 3px #4f46e51a;outline:none}.filter-select:hover{border-color:var(--indigo-400)}.error-message{border-radius:var(--radius-md);margin-bottom:var(--space-6);padding:var(--space-4)}.maps-grid{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));position:relative;z-index:1}.loading,.no-maps{color:var(--lapis-600);font-size:var(--text-lg);grid-column:1/-1;padding:var(--space-20) var(--space-6);text-align:center}.public-map-card{animation:fadeIn .3s ease-out;background:var(--gradient-card);border:1px solid var(--periwinkle-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:var(--transition-all);z-index:1}.public-map-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.map-card-content{display:flex;flex-direction:column;height:100%}.map-thumbnail-container{background:var(--periwinkle-100);border-bottom:1px solid var(--periwinkle-200);height:180px;width:100%}.map-thumbnail{height:100%;width:100%}.thumbnail-placeholder{align-items:center;background:var(--gradient-header);color:#fff;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);height:180px;justify-content:center;width:100%}.thumbnail-pin-icon{font-size:var(--text-xl)!important;line-height:var(--text-2xl)}.map-card-details{display:flex;flex:1 1;flex-direction:column;gap:var(--space-3);padding:var(--space-6)}.map-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.map-title{color:var(--indigo-900);flex:1 1;font-size:var(--text-xl);margin:0}.map-title,.map-type-badge{font-weight:var(--font-semibold)}.map-type-badge{border:1px solid;border-radius:var(--radius-full);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);white-space:nowrap}.map-type-badge.public_wiki{background:var(--periwinkle-50);border-color:var(--periwinkle-200);color:var(--lapis-700)}.map-type-badge.public_gallery{background:var(--periwinkle-100);border-color:var(--periwinkle-300);color:var(--indigo-700)}.map-owner{color:var(--lapis-600);font-weight:var(--font-medium)}.map-description,.map-owner{font-size:var(--text-sm);margin:0}.map-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--lapis-700);display:-webkit-box;line-height:var(--leading-relaxed);overflow:hidden}.map-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0}.tag-label{background:var(--periwinkle-200);border:1px solid var(--periwinkle-300);border-radius:var(--radius-full);color:var(--indigo-700);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3)}.map-card-actions{align-items:stretch;background:#ffffff80;border-top:1px solid var(--periwinkle-200);display:flex;gap:var(--space-2);padding:var(--space-4) var(--space-6)}.star-btn{align-items:center;background:#fff;border:2px solid var(--indigo-300);border-radius:var(--radius-md);color:var(--indigo-500);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-2xl);height:48px;justify-content:center;transition:var(--transition-all);width:48px}.star-btn:hover{background:var(--indigo-50);border-color:var(--indigo-500);transform:scale(1.05)}.star-btn.starred{background:var(--indigo-500);border-color:var(--indigo-600);color:#fff}.star-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.view-map-btn{border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;flex:1 1;font-size:var(--text-base);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-6);transition:var(--transition-all)}.view-map-btn.public_wiki{background:linear-gradient(135deg,var(--moss-500),var(--moss-600));color:#fff}.view-map-btn.public_wiki:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.view-map-btn.public_gallery{background:var(--gradient-primary);color:#fff}.view-map-btn.public_gallery:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (max-width:768px){.public-maps-header{max-height:94px;min-height:94px;padding:var(--space-2) var(--space-3)}.public-maps-header .header-content{gap:var(--space-2)}.public-maps-header .header-left{gap:var(--space-1)}.public-maps-header .header-logo{height:88px}.public-maps-header h1{font-size:var(--text-lg)}.public-maps-header .header-right{gap:var(--space-2)}}@media (max-width:480px){.public-maps-header{padding:var(--space-1) var(--space-2)}.public-maps-header .header-content{gap:var(--space-1)}.public-maps-header .header-left{gap:4px}.public-maps-header .header-logo{height:64px}.public-maps-header h1{font-size:var(--text-base)}.public-maps-header .header-right{gap:var(--space-1)}.public-maps-header .header-link{font-size:var(--text-xs)}.maps-intro h2{font-size:var(--text-xl)}.intro-description{font-size:var(--text-sm)}.maps-grid{gap:var(--space-6);grid-template-columns:1fr}.map-thumbnail-container{height:200px}.public-maps-main{padding:var(--space-6) var(--space-4)}.search-filter-controls{margin-top:var(--space-6)}.filter-controls{align-items:stretch;flex-direction:column}.filter-group{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.filter-select{width:100%}}.pagination-controls{align-items:center;display:flex;gap:var(--space-4);justify-content:center;margin-top:var(--space-10);padding:var(--space-6)}.pagination-btn{background:#fff;border:2px solid var(--indigo-300);border-radius:var(--radius-md);color:var(--indigo-700);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-4);transition:var(--transition-all);white-space:nowrap}.pagination-btn:hover:not(:disabled){background:var(--indigo-50);border-color:var(--indigo-500);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.pagination-btn:disabled{cursor:not-allowed;opacity:.4}.pagination-info{color:var(--lapis-700);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap}@media (max-width:480px){.pagination-controls{flex-direction:column;gap:var(--space-3)}.pagination-info{order:-1;text-align:center}}.bulletin-board-container{background:var(--periwinkle-50);display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.bulletin-header{align-items:center;background:var(--indigo-600);box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;height:56px;justify-content:space-between;padding:var(--space-3) var(--space-6);z-index:100}.bulletin-header .back-btn{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:var(--radius-md);color:#fff;cursor:pointer;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:var(--transition-all);width:auto}.bulletin-header .back-btn:hover{background:#fff3;border-color:#ffffff80}.bulletin-header h1{color:#fff;flex:1 1;font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0;min-width:0;text-align:center}.bulletin-header .header-spacer{flex-shrink:0;width:80px}.bulletin-board{flex:1 1;overflow:hidden;position:relative}.bulletin-board .map-editor-map-container{height:100%;left:0;position:absolute;top:0;width:100%}.bulletin-board .leaflet-map{height:100%;width:100%;z-index:1}.bulletin-board .leaflet-map.placement-mode{cursor:crosshair!important}.floating-panel{background:#fff;border:1px solid var(--periwinkle-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:calc(100vh - 140px);overflow:hidden;position:absolute}.floating-panel-header{align-items:center;background:var(--indigo-600);border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:#fff;cursor:grab;display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4);-webkit-user-select:none;user-select:none}.floating-panel-header:active{cursor:grabbing}.floating-panel-title{font-size:var(--text-base);font-weight:var(--font-semibold);letter-spacing:.01em}.floating-panel-close{align-items:center;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:var(--text-lg);height:28px;justify-content:center;transition:var(--transition-fast);width:28px}.floating-panel-close:hover{background:#ffffff4d}.floating-panel-content{background:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg);flex:1 1;overflow-y:auto;padding:var(--space-4)}.floating-panel-content .panel{gap:var(--space-4)}.floating-panel-content .panel h3{display:none}.floating-panel-content .panel h4{color:var(--indigo-800);font-size:var(--text-base);font-weight:var(--font-semibold);margin:var(--space-4) 0 var(--space-3) 0}.panel-toolbar{background:#fff;border:1px solid var(--periwinkle-200);border-radius:var(--radius-full);bottom:var(--space-4);box-shadow:var(--shadow-lg);display:flex;gap:var(--space-2);left:50%;padding:var(--space-2);position:absolute;transform:translateX(-50%);z-index:50}.toolbar-btn{background:#e5e7eb;border:2px solid #d1d5db;border-radius:var(--radius-full);color:#4b5563;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);min-width:120px;padding:var(--space-2) var(--space-4);text-align:center;transition:var(--transition-all);white-space:nowrap}.toolbar-btn:hover{background:#d1d5db;border-color:#9ca3af;transform:translateY(-2px)}.toolbar-btn.active{background:var(--indigo-600);border-color:var(--indigo-700);color:#fff}.toolbar-btn.active:hover{background:var(--indigo-700)}.error-toast{align-items:center;animation:slideDown .3s ease-out;background:#fff;border:2px solid var(--rose-400);border-left:4px solid var(--rose-600);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--rose-700);display:flex;gap:var(--space-4);left:50%;max-width:500px;padding:var(--space-3) var(--space-6);position:absolute;top:var(--space-4);transform:translateX(-50%);z-index:200}.error-toast button{background:none;border:none;color:var(--rose-600);cursor:pointer;font-size:var(--text-xl);line-height:1;padding:0}.error-toast button:hover{color:var(--rose-800)}.bulletin-loading{color:var(--lapis-700);font-size:var(--text-lg)}.bulletin-error,.bulletin-loading{align-items:center;background:var(--periwinkle-50);display:flex;height:100vh;justify-content:center}.bulletin-error{flex-direction:column;gap:var(--space-4)}.bulletin-error p{color:var(--lapis-700);font-size:var(--text-lg)}.bulletin-error button{background:var(--indigo-600);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-semibold);padding:var(--space-3) var(--space-6)}.map-admin-panel{display:flex;flex-direction:column;height:100%}.admin-section-tabs{border-bottom:2px solid var(--periwinkle-200);display:flex;gap:var(--space-1);margin-bottom:var(--space-4);padding-bottom:var(--space-2)}.admin-tab{background:none;border:none;border-radius:var(--radius-md);color:var(--lapis-600);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);position:relative;transition:var(--transition-fast)}.admin-tab:hover{background:var(--periwinkle-100);color:var(--indigo-700)}.admin-tab.active{background:var(--indigo-100);color:var(--indigo-700);font-weight:var(--font-semibold)}.admin-tab .badge{background:var(--rose-500);border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);margin-left:var(--space-2);padding:2px 6px}.admin-section-content{flex:1 1;overflow-y:auto}.admin-section-content .panel{padding:0}.floating-panel-content .pins-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.floating-panel-content .pin-item{align-items:center;background:var(--periwinkle-50);border:1px solid var(--periwinkle-200);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-3);transition:var(--transition-fast)}.floating-panel-content .pin-item:hover{background:var(--periwinkle-100);border-color:var(--indigo-300)}.floating-panel-content .pin-item .pin-image{display:none}.floating-panel-content .pin-item .pin-content{flex:1 1;min-width:0}.floating-panel-content .pin-item .pin-content h4{color:var(--indigo-800);font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-panel-content .pin-item .pin-type{background:var(--indigo-100);border-radius:var(--radius-full);color:var(--indigo-700);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);margin:0 0 var(--space-1) 0;padding:2px 8px}.floating-panel-content .pin-item .pin-author{color:var(--lapis-500);font-size:var(--text-xs);font-style:italic;margin:0}.floating-panel-content .pin-item .pin-desc{display:none}.floating-panel-content .pin-item .pin-coords{color:var(--lapis-600);font-size:var(--text-xs);margin:var(--space-1) 0 0 0}.floating-panel-content .pin-item .pin-actions{display:flex;flex-shrink:0;gap:var(--space-1)}.floating-panel-content .pin-item .pin-actions button{background:none;border:none;cursor:pointer;font-size:var(--text-base);opacity:.6;padding:var(--space-1);transition:var(--transition-fast)}.floating-panel-content .pin-item .pin-actions button:hover{opacity:1;transform:scale(1.1)}.floating-panel-content .empty{color:var(--lapis-500);font-style:italic;padding:var(--space-4);text-align:center}.floating-panel-content .guest-notice,.floating-panel-content .viewer-notice{background:var(--periwinkle-50);border-radius:var(--radius-md);margin-bottom:var(--space-3);padding:var(--space-3)}.floating-panel-content .add-btn{background:var(--indigo-600);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-semibold);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-4);transition:var(--transition-fast);width:100%}.floating-panel-content .add-btn:hover:not(:disabled){background:var(--indigo-700)}.floating-panel-content .add-btn:disabled{cursor:not-allowed;opacity:.5}.floating-panel-content .add-btn.placement-mode{animation:pulse 1.5s infinite;background:#14b8a6}.floating-panel-content .add-btn.placement-mode:hover{background:#0d9488}.floating-panel-content .add-btn.cancel-mode{background:#f43f5e}.floating-panel-content .add-btn.cancel-mode:hover{background:#e11d48}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.floating-panel-content .filter{margin-bottom:var(--space-3)}.floating-panel-content .filter label{color:var(--lapis-600);display:block;font-size:var(--text-xs);margin-bottom:var(--space-1)}.floating-panel-content .filter select{border:1px solid var(--periwinkle-300);border-radius:var(--radius-md);font-size:var(--text-sm);padding:var(--space-2);width:100%}@media (max-width:768px){.bulletin-header{height:48px;padding:var(--space-2) var(--space-4)}.bulletin-header h1{font-size:var(--text-lg)}.panel-toolbar{flex-wrap:wrap;gap:var(--space-1);justify-content:center;max-width:calc(100vw - var(--space-4));padding:var(--space-1)}.toolbar-btn{font-size:var(--text-xs);min-width:90px;padding:var(--space-2) var(--space-3)}.floating-panel{max-width:calc(100vw - 20px);min-width:280px!important}}.map-editor{background:var(--periwinkle-50);display:flex;flex-direction:column;height:100vh}.map-editor-header{align-items:center;background:var(--indigo-600);box-shadow:0 1px 3px #0000001a;display:flex;height:50px;justify-content:space-between;padding:0 var(--space-6);position:-webkit-sticky;position:sticky;top:0;z-index:50}.map-editor-header h1{color:#fff;flex:1 1;font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:1;margin:0;text-align:center}.map-editor-header .back-link{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-1);opacity:.9;padding:var(--space-2);transition:opacity var(--transition-fast)}.map-editor-header .back-link:hover{opacity:1}.map-editor-header .header-spacer{width:60px}.back-btn{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:var(--transition-all);white-space:nowrap}.back-btn:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-1px)}.auth-btn{background:#fff;border:2px solid #fff;border-radius:var(--radius-md);color:var(--indigo-700);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:var(--transition-all);white-space:nowrap}.auth-btn:hover{background:var(--periwinkle-50);transform:translateY(-1px)}.auth-btn.primary{background:var(--gradient-primary);border:2px solid var(--rose-500);box-shadow:var(--shadow-md);color:#fff}.auth-btn.primary:hover{box-shadow:var(--shadow-lg)}.error-message{align-items:center;background:linear-gradient(90deg,#006b5c1a,#006b5c0d);border-left:4px solid var(--moss-700);color:var(--moss-700);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);justify-content:space-between;padding:var(--space-4) var(--space-6)}.error-message button{background:none;border:none;color:var(--moss-700);cursor:pointer;font-size:var(--text-2xl);padding:0;transition:var(--transition-all)}.error-message button:hover{transform:scale(1.1)}.map-editor-layout{display:flex;flex:1 1;overflow:hidden}.map-editor-map-container{background:var(--periwinkle-100);flex:1 1;position:relative}.leaflet-map{height:100%;width:100%}.map-editor-sidebar{background:linear-gradient(to bottom,var(--periwinkle-50),#fff);border-left:2px solid var(--periwinkle-200);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-width:600px;min-width:320px;overflow:hidden;position:relative;width:380px}.map-editor-sidebar:before{background:#0000;bottom:0;content:"";cursor:col-resize;left:0;position:absolute;top:0;transition:background var(--transition-fast);width:6px;z-index:10}.map-editor-sidebar:before:hover{background:var(--indigo-300)}.sidebar-tabs{background:#fff;border-bottom:2px solid var(--periwinkle-200);display:flex;flex-wrap:wrap;gap:0}.tab-group{display:flex;flex:1 1;min-width:0}.tab-group.content-group{border-right:2px solid var(--periwinkle-300)}.tab-group.admin-group{flex:1.5 1}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:var(--lapis-600);cursor:pointer;flex:1 1;font-size:var(--text-sm);font-weight:var(--font-semibold);min-width:0;padding:var(--space-3) var(--space-4);position:relative;transition:var(--transition-all);white-space:nowrap}.tab-btn.active,.tab-btn:hover{background:var(--periwinkle-50);color:var(--indigo-700)}.tab-btn.active{border-bottom-color:var(--indigo-500)}.content-group .tab-btn.active{border-bottom-color:var(--indigo-600)}.admin-group .tab-btn.active{border-bottom-color:var(--lapis-500)}.sidebar-content{background:#fff;flex:1 1;overflow-y:auto;padding:var(--space-8) var(--space-6)}.panel{display:flex;flex-direction:column;gap:var(--space-6)}.panel h3{border-bottom:3px solid var(--indigo-500);color:var(--indigo-900);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--space-6) 0;padding-bottom:var(--space-3)}.panel h3,.panel h4{letter-spacing:-.01em}.panel h4{color:var(--indigo-800);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:var(--space-6) 0 var(--space-4) 0}.panel p{color:var(--lapis-700);line-height:var(--leading-relaxed)}.add-btn,.panel p{margin-bottom:var(--space-4)}.add-btn{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-4);transition:var(--transition-all)}.add-btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.add-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.guest-notice{background:linear-gradient(to right,var(--periwinkle-100),var(--periwinkle-50));border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:var(--space-4);text-align:center}.guest-notice p{color:var(--indigo-800);font-size:var(--text-sm);font-weight:var(--font-medium);margin:0}.form{background:linear-gradient(to bottom right,#fff,var(--periwinkle-50));border:2px solid var(--periwinkle-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);padding:var(--space-6)}.form-group{margin-bottom:var(--space-5)}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--indigo-900);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.01em;margin-bottom:var(--space-2)}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--indigo-900);font-family:inherit;font-size:var(--text-sm);padding:var(--space-3) var(--space-4);transition:var(--transition-base);width:100%}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--periwinkle-400)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--indigo-500);box-shadow:0 0 0 4px var(--indigo-50);outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--periwinkle-50);cursor:not-allowed;opacity:.6}.form-group textarea{min-height:80px;resize:vertical}.form>button[type=submit]{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-4);transition:var(--transition-all);width:100%}.form>button[type=submit]:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.form>button[type=submit]:disabled{cursor:not-allowed;opacity:.6;transform:none}.cancel-btn,.form-buttons button{background:var(--periwinkle-100);border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--indigo-800);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-top:var(--space-2);padding:var(--space-3) var(--space-4);transition:var(--transition-all);width:100%}.cancel-btn:hover:not(:disabled),.form-buttons button:hover:not(:disabled){background:var(--periwinkle-200);border-color:var(--periwinkle-400)}.coords-info{background:linear-gradient(to right,var(--moss-50),var(--moss-100));border:1px solid var(--moss-300);border-radius:var(--radius-md);color:var(--moss-700);font-size:var(--text-xs);font-weight:var(--font-medium);margin-bottom:var(--space-3);padding:var(--space-3)}.char-count{color:var(--lapis-500);font-size:var(--text-xs);margin-top:var(--space-1);text-align:right}.image-preview{background:var(--periwinkle-100);border:2px solid var(--periwinkle-200);border-radius:var(--radius-md);margin-top:var(--space-2);overflow:hidden}.image-preview img{display:block;height:auto;width:100%}.filter{border-bottom:2px solid var(--periwinkle-200);margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.filter label{color:var(--indigo-900);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.filter select{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);transition:var(--transition-base);width:100%}.filter select:focus{border-color:var(--indigo-500);box-shadow:0 0 0 4px var(--indigo-50);outline:none}.invite-links-list,.members-list,.pins-list,.requests-list,.types-list{display:flex;flex-direction:column;gap:var(--space-3)}.empty,.no-items{color:var(--lapis-500);font-size:var(--text-sm);padding:var(--space-10) var(--space-4);text-align:center}.pin-item{animation:fadeIn .3s ease-out;background:linear-gradient(to bottom right,#fff,var(--periwinkle-50));border:2px solid var(--periwinkle-200);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);transition:var(--transition-all)}.pin-item:hover{border-color:var(--periwinkle-300);box-shadow:var(--shadow-sm)}.pin-image{align-items:center;background:var(--periwinkle-100);border:2px solid var(--periwinkle-200);border-radius:var(--radius-md);display:flex;height:160px;justify-content:center;overflow:hidden;width:100%}.pin-image img{height:100%;object-fit:cover;width:100%}.pin-content{flex:1 1}.pin-content h4{color:var(--indigo-900);font-size:var(--text-base);margin:0 0 var(--space-1) 0}.pin-content h4,.pin-type{font-weight:var(--font-semibold)}.pin-type{background:var(--moss-500);border-radius:var(--radius-full);color:#fff;display:inline-block;margin:0 0 var(--space-2) 0;padding:var(--space-1) var(--space-3)}.pin-author,.pin-type{font-size:var(--text-xs)}.pin-author{color:var(--lapis-500);font-style:italic;margin:var(--space-1) 0}.pin-desc{color:var(--lapis-700);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:var(--space-2) 0}.pin-coords{background:var(--periwinkle-100);border-radius:var(--radius-sm);color:var(--lapis-500);display:inline-block;font-family:monospace;font-size:var(--text-xs);margin:var(--space-1) 0;padding:var(--space-1) var(--space-2)}.pin-actions{align-self:flex-end;display:flex;gap:var(--space-2)}.pin-actions button,.type-item button{background:none;border:none;color:var(--lapis-600);cursor:pointer;font-size:var(--text-lg);padding:var(--space-1);transition:var(--transition-all)}.pin-actions button:hover,.type-item button:hover{color:var(--rose-600);transform:scale(1.3)}.tags-view{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.tag-badge-small{background:var(--periwinkle-200);border:1px solid var(--periwinkle-300);border-radius:var(--radius-full);color:var(--indigo-700);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3)}.type-item{align-items:center;animation:fadeIn .3s ease-out;background:linear-gradient(to bottom right,#fff,var(--periwinkle-50));border:2px solid var(--periwinkle-200);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--space-4);transition:var(--transition-all)}.type-item:hover{border-color:var(--periwinkle-300);box-shadow:var(--shadow-sm)}.type-content{align-items:center;display:flex;gap:var(--space-3)}.type-icon{font-size:var(--text-2xl)}.type-content h4{color:var(--indigo-900);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.member-item,.request-item{align-items:center;animation:fadeIn .3s ease-out;background:linear-gradient(to bottom right,#fff,var(--periwinkle-50));border:2px solid var(--periwinkle-200);border-radius:var(--radius-md);display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-4);transition:var(--transition-all)}.member-item:hover,.request-item:hover{border-color:var(--periwinkle-300);box-shadow:var(--shadow-sm)}.member-info,.request-info{flex:1 1}.username{color:var(--indigo-900);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0}.email{color:var(--lapis-600);font-size:var(--text-sm);margin:0}.request-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.approve-btn,.cancel-request-btn,.deny-btn,.request-btn{border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-3);transition:var(--transition-all)}.approve-btn,.request-btn{background:var(--gradient-primary);color:#fff}.approve-btn:hover:not(:disabled),.request-btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.cancel-request-btn,.deny-btn{background:var(--gradient-primary);color:#fff}.cancel-request-btn:hover:not(:disabled),.deny-btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.approve-btn:disabled,.cancel-request-btn:disabled,.deny-btn:disabled,.request-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.member-role{flex-shrink:0}.member-actions{flex-shrink:0;gap:var(--space-2)}.member-actions,.role-selector{align-items:center;display:flex}.role-dropdown{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--indigo-900);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);transition:var(--transition-base)}.role-dropdown:focus{border-color:var(--indigo-500);box-shadow:0 0 0 4px var(--indigo-50);outline:none}.role-badge{border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-3);text-transform:capitalize;transition:var(--transition-all)}.role-badge.role-viewer{background:var(--periwinkle-200);border:1px solid var(--periwinkle-400);color:var(--indigo-700)}.role-badge.role-viewer:hover{background:var(--periwinkle-300)}.role-badge.role-editor{background:var(--moss-100);border:1px solid var(--moss-300);color:var(--moss-700)}.role-badge.role-editor:hover{background:var(--moss-200)}.role-badge.role-admin,.role-badge.role-owner{background:var(--indigo-100);border:1px solid var(--indigo-300);color:var(--indigo-700);cursor:default}.role-badge.role-admin:hover,.role-badge.role-owner:hover{background:var(--indigo-100)}.role-badge.role-unknown{background:var(--periwinkle-100);border:1px solid var(--periwinkle-300);color:var(--lapis-600)}.remove-btn{background:#fff;border:2px solid var(--moss-300);border-radius:var(--radius-md);color:var(--moss-600);cursor:pointer;font-size:var(--text-lg);font-weight:700;line-height:1;min-width:32px;padding:var(--space-1) var(--space-2);text-align:center;transition:var(--transition-all)}.remove-btn:hover{background:var(--gradient-primary);border-color:var(--moss-500);box-shadow:var(--shadow-sm);color:#fff}.role-select{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);padding:var(--space-2)}.status-badge{border-radius:var(--radius-full);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2);text-transform:uppercase}.status-badge.active{background:var(--moss-100);border:1px solid var(--moss-300);color:var(--moss-700)}.status-badge.used{background:var(--periwinkle-200);border:1px solid var(--periwinkle-400);color:var(--indigo-700)}.status-badge.expired,.status-badge.revoked{background:var(--lapis-100);border:1px solid var(--lapis-300);color:var(--lapis-700)}.setting-item{background:linear-gradient(to bottom right,#fff,var(--periwinkle-50));border:1px solid var(--periwinkle-200);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:var(--space-4)}.setting-item label{color:var(--indigo-900);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.setting-value{color:var(--lapis-700);font-size:var(--text-base);margin:0}.bounds-display{background:#fff;border:2px solid var(--periwinkle-200);border-radius:var(--radius-md);font-size:var(--text-sm);padding:var(--space-3)}.bounds-display p{color:var(--lapis-700);margin:var(--space-1) 0}.bounds-inputs{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr}.map-type-selector{display:flex;flex-direction:column;gap:var(--space-3)}.map-type-option{align-items:flex-start;background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-4);transition:var(--transition-all)}.map-type-option:hover{background:var(--periwinkle-50);border-color:var(--indigo-400)}.map-type-option input[type=radio]{accent-color:var(--indigo-600);cursor:pointer;flex-shrink:0;height:18px;margin-top:var(--space-1);width:18px}.map-type-option:has(input[type=radio]:checked){background:var(--indigo-100);border-color:var(--indigo-600);box-shadow:0 0 0 1px var(--indigo-500)}.map-type-content{flex:1 1}.map-type-content strong{color:var(--indigo-900);display:block;font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.map-type-content p{color:var(--lapis-700);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}fieldset{background:linear-gradient(to bottom right,#fff,var(--periwinkle-50));border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);margin-bottom:var(--space-6);padding:var(--space-6)}legend{color:var(--indigo-700);font-size:var(--text-base);padding:0 var(--space-3)}.edit-btn,legend{font-weight:var(--font-semibold)}.edit-btn{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);transition:var(--transition-all);width:100%}.edit-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.form-buttons{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr}.form-buttons button{margin:0;width:100%}.section{margin-bottom:var(--space-6)}.danger-zone{background:linear-gradient(90deg,#dc26260d,#dc262605);border:2px solid #dc262633;border-left:4px solid #dc2626;border-radius:var(--radius-md);margin-top:var(--space-8);padding:var(--space-6)}.danger-zone h4{color:#991b1b;font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0}.delete-map-btn{background:linear-gradient(135deg,#dc2626,#991b1b);border:2px solid #7f1d1d;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-bold);padding:var(--space-3) var(--space-4);transition:var(--transition-all);width:100%}.delete-map-btn:hover{background:linear-gradient(135deg,#b91c1c,#7f1d1d);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.danger-text{color:#991b1b;font-size:var(--text-xs);font-style:italic;font-weight:var(--font-medium);margin-top:var(--space-3)}.info-box{background:linear-gradient(to right,var(--periwinkle-100),var(--periwinkle-50));border:2px solid var(--periwinkle-300);border-left:4px solid var(--indigo-500);border-radius:var(--radius-md);margin-bottom:var(--space-6);padding:var(--space-4)}.info-box p{color:var(--indigo-800);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-relaxed);margin:0}.access-request{background:linear-gradient(to right,var(--periwinkle-100),var(--periwinkle-50));border:2px solid var(--periwinkle-300);border-left:4px solid var(--indigo-500);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:var(--space-4)}.request-status{color:var(--indigo-700);font-weight:var(--font-semibold)}.no-access,.request-status{font-size:var(--text-sm);margin:0 0 var(--space-3) 0}.no-access{color:var(--lapis-700)}.invite-link-item{align-items:center;animation:fadeIn .3s ease-out;background:linear-gradient(to bottom right,#fff,var(--periwinkle-50));border:2px solid var(--periwinkle-200);border-radius:var(--radius-md);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-4);transition:var(--transition-all)}.invite-link-item:hover{border-color:var(--periwinkle-300);box-shadow:var(--shadow-sm)}.link-info{flex:1 1}.link-header{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.link-details{color:var(--lapis-600);display:flex;font-size:var(--text-xs);gap:var(--space-4)}.link-details span{align-items:center;display:flex}.link-actions{display:flex;gap:var(--space-2)}.copy-btn,.revoke-btn{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--indigo-700);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-3);transition:var(--transition-all)}.copy-btn:hover:not(:disabled){background:var(--gradient-primary);border-color:var(--moss-500);box-shadow:var(--shadow-sm);color:#fff}.revoke-btn{background:#fff;border-color:#dc26264d;color:#dc2626}.revoke-btn:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#991b1b);border-color:#7f1d1d;box-shadow:var(--shadow-sm);color:#fff}.copy-btn:disabled,.revoke-btn:disabled{cursor:not-allowed;opacity:.6}.create-link-btn{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);transition:var(--transition-all)}.create-link-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.invite-link-form{background:linear-gradient(to bottom right,#fff,var(--periwinkle-50));border:2px solid var(--periwinkle-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);padding:var(--space-6)}.invite-link-form .form-group{margin-bottom:var(--space-4)}.invite-link-form .form-group.checkbox{align-items:center;display:flex}.invite-link-form .form-group.checkbox label{align-items:center;cursor:pointer;display:flex;gap:var(--space-2);margin-bottom:0}.invite-link-form .form-group.checkbox input{width:auto}.invite-link-form .form-group label{color:var(--indigo-900);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.invite-link-form .form-group input,.invite-link-form .form-group select{background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);padding:var(--space-3) var(--space-4);transition:var(--transition-base);width:100%}.invite-link-form .form-group input:focus,.invite-link-form .form-group select:focus{border-color:var(--indigo-500);box-shadow:0 0 0 4px var(--indigo-50);outline:none}.invite-link-form .form-group input:disabled,.invite-link-form .form-group select:disabled{background:var(--periwinkle-50);cursor:not-allowed}.invite-link-form .submit-btn{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-4);transition:var(--transition-all);width:100%}.invite-link-form .submit-btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.invite-link-form .submit-btn:disabled{cursor:not-allowed;opacity:.6}.map-editor-error,.map-editor-loading{align-items:center;background:var(--periwinkle-50);color:var(--lapis-700);display:flex;flex-direction:column;font-size:var(--text-lg);gap:var(--space-6);height:100vh;justify-content:center}.map-editor-error button{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-weight:var(--font-semibold);padding:var(--space-3) var(--space-6);transition:var(--transition-all)}.map-editor-error button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}@media (max-width:1024px){.map-editor-sidebar{width:320px}}@media (max-width:768px){.map-editor-header{height:44px;padding:0 var(--space-4)}.map-editor-header h1{font-size:var(--text-base)}.map-editor-header .back-link{font-size:var(--text-xs);padding:var(--space-1)}.map-editor-layout{flex-direction:column}.map-editor-sidebar{border-left:none;border-top:2px solid var(--periwinkle-200);height:50%;width:100%}.map-editor-map-container{height:50%}.sidebar-tabs{overflow-x:auto}.sidebar-content{padding:var(--space-4)}.bounds-inputs,.form-buttons{grid-template-columns:1fr}}.location-search-container{align-items:center;display:flex;flex-direction:column;gap:var(--space-2);left:50%;position:absolute;top:16px;transform:translateX(-50%);z-index:1000}.search-toggle-btn{align-items:center;background:#fff;border:2px solid var(--periwinkle-300);border-radius:var(--radius-full);box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;font-size:var(--text-xl);height:48px;justify-content:center;transition:all var(--transition-base);width:48px}.search-toggle-btn:hover{background:var(--periwinkle-50);border-color:var(--periwinkle-400);box-shadow:0 6px 16px #0003;transform:translateY(-1px)}.search-toggle-btn.active{background:var(--indigo-600);border-color:var(--indigo-600);box-shadow:0 6px 16px #4f46e54d}.location-search-bar{align-items:center;animation:expandSearch .25s ease-out;background:#fff;border:2px solid var(--periwinkle-300);border-radius:9999px;box-shadow:0 4px 12px #00000026;display:flex;gap:var(--space-3);min-width:400px;padding:var(--space-3) var(--space-5);position:relative;transition:all var(--transition-base)}@keyframes expandSearch{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.location-search-bar:focus-within{border-color:var(--indigo-500);box-shadow:0 6px 20px #4f46e540}.location-search-input{background:#0000;border:none;color:var(--indigo-900);flex:1 1;font-size:var(--text-sm);min-width:0;outline:none;padding:0}.location-search-input::placeholder{color:var(--lapis-400)}.search-spinner{animation:spin 1s linear infinite;flex-shrink:0;font-size:var(--text-base);line-height:1}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.search-clear-btn{align-items:center;background:var(--periwinkle-100);border:none;border-radius:var(--radius-full);color:var(--indigo-600);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-base);font-weight:700;height:24px;justify-content:center;line-height:1;padding:0;transition:var(--transition-fast);width:24px}.search-clear-btn:hover{background:var(--indigo-600);color:#fff}.location-search-results{animation:slideDown .2s ease-out;background:#fff;border:2px solid var(--periwinkle-300);border-radius:20px;box-shadow:0 6px 20px #00000026;left:50%;max-height:320px;max-width:500px;min-width:400px;overflow-y:auto;position:absolute;top:calc(100% + var(--space-2));transform:translateX(-50%);z-index:1001}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.location-result-item{border-bottom:1px solid var(--periwinkle-200);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-5);transition:all var(--transition-fast)}.location-result-item:first-child{border-radius:18px 18px 0 0}.location-result-item:last-child{border-bottom:none;border-radius:0 0 18px 18px}.location-result-item:only-child{border-radius:18px}.location-result-item:hover{background:linear-gradient(to right,var(--periwinkle-50),var(--periwinkle-100))}.location-result-item:active{background:var(--indigo-100)}.result-name{color:var(--indigo-900);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.result-type{align-self:flex-start;background:var(--periwinkle-100);border-radius:var(--radius-full);color:var(--lapis-600);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);padding:2px 10px;text-transform:capitalize}@media (max-width:768px){.location-search-bar{padding:var(--space-2) var(--space-4)}.location-search-bar,.location-search-results{max-width:calc(100vw - 32px);min-width:300px}.search-toggle-btn{font-size:var(--text-lg);height:44px;width:44px}}.invite-join-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;justify-content:center;min-height:100vh;padding:20px}.invite-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:500px;padding:40px;text-align:center;width:100%}.invite-card h1{color:#333;font-size:28px;margin-bottom:12px;margin-top:0}.message{color:#666;margin:12px 0}.error-message,.message{font-size:16px;line-height:1.5}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#dc3545;margin:16px 0;padding:12px}.map-info{background:#f9f9f9;border-radius:8px;margin:24px 0;padding:20px;text-align:left}.map-info .creator{color:#667eea;font-size:14px;font-weight:600;margin:0 0 8px}.map-info .description{color:#666;font-size:14px;line-height:1.5;margin:8px 0 0}.role-info{border-top:1px solid #eee;margin-top:16px;padding-top:16px}.role-info p:first-child{color:#999;font-size:13px;margin:0 0 8px}.role-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;display:inline-block;font-size:14px;font-weight:600;margin:0;padding:8px 16px}.back-btn,.decline-btn,.join-btn,.login-btn{border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;margin-top:12px;padding:12px 24px;transition:all .2s;width:100%}.join-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.join-btn:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.join-btn:disabled{cursor:not-allowed;opacity:.6}.back-btn,.decline-btn,.login-btn{background:#f0f0f0;border:1px solid #ddd;color:#333;margin-top:8px}.back-btn:hover:not(:disabled),.decline-btn:hover:not(:disabled),.login-btn:hover:not(:disabled){background:#e0e0e0;border-color:#bbb}.back-btn:disabled,.decline-btn:disabled,.login-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:600px){.invite-card{padding:24px}.invite-card h1{font-size:24px}.message{font-size:14px}.back-btn,.decline-btn,.join-btn,.login-btn{font-size:14px;padding:10px 16px}}.about-container{background:var(--periwinkle-50);display:flex;flex-direction:column;min-height:100vh}.about-header{align-items:center;background:var(--indigo-600);box-shadow:0 1px 3px #0000001a;display:flex;min-height:110px;padding:0 var(--space-6)}.about-header .header-content{align-items:center;display:flex;justify-content:space-between;width:100%}.about-header .header-left{align-items:center;display:flex;gap:var(--space-2)}.about-header .header-logo{display:block;height:104px;width:auto}.about-header h1{color:#fff;font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0;text-align:left}.about-main{flex:1 1;margin:0 auto;max-width:800px;padding:var(--space-8) var(--space-6);width:100%}.about-intro{margin-bottom:var(--space-12)}.about-intro h2{color:var(--indigo-700);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1.3;margin-bottom:var(--space-6)}.about-section{margin-bottom:var(--space-10)}.about-section h3{color:var(--indigo-600);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-4);margin-top:var(--space-8)}.about-main p{color:var(--gray-700);font-size:var(--text-base);line-height:1.7;margin-bottom:var(--space-4)}.about-main strong{color:var(--indigo-700);font-weight:var(--font-semibold)}.about-contact{background:var(--periwinkle-100);border-left:3px solid var(--teal);border-radius:var(--radius-md);margin-top:var(--space-6);padding:var(--space-4)}.about-contact a{color:var(--indigo-600);font-weight:var(--font-medium);text-decoration:underline}.about-contact a:hover{color:var(--indigo-700)}.about-note{color:var(--gray-500);font-size:var(--text-sm);font-style:italic}@media (max-width:768px){.about-header{min-height:94px;padding:0 var(--space-3)}.about-header .header-left{gap:var(--space-1)}.about-header .header-logo{height:88px}.about-header h1{font-size:var(--text-base)}.about-main{padding:var(--space-6) var(--space-4)}.about-intro h2{font-size:var(--text-xl)}.about-section h3{font-size:var(--text-lg)}.about-main p{font-size:var(--text-sm)}}@media (max-width:480px){.about-header{padding:0 var(--space-2)}.about-header .header-left{gap:4px}.about-header .header-logo{height:64px}.about-header h1{font-size:var(--text-sm)}}:root{--moss-50:var(--indigo-50);--moss-100:var(--indigo-100);--moss-200:var(--indigo-200);--moss-300:var(--indigo-300);--moss-400:var(--indigo-400);--moss-500:var(--indigo-500);--moss-600:var(--indigo-600);--moss-700:var(--indigo-700);--moss-800:var(--indigo-800);--moss-900:var(--indigo-900);--rose-50:var(--periwinkle-50);--rose-100:var(--periwinkle-100);--rose-200:var(--periwinkle-200);--rose-300:var(--periwinkle-300);--rose-400:var(--periwinkle-400);--rose-500:var(--periwinkle-500);--rose-600:var(--periwinkle-600);--rose-700:var(--periwinkle-700);--rose-800:var(--periwinkle-800);--rose-900:var(--periwinkle-900);--periwinkle-50:#f4f7fe;--periwinkle-100:#e9effc;--periwinkle-200:#dfe7fb;--periwinkle-300:#d4dff9;--periwinkle-400:#c9d7f8;--periwinkle-500:#c9d7f8;--periwinkle-600:#799cee;--periwinkle-700:#2a62e3;--periwinkle-800:#153e9f;--periwinkle-900:#0a1f4f;--indigo-50:#b9ddfb;--indigo-100:#73bbf6;--indigo-200:#2d99f2;--indigo-300:#0d73c7;--indigo-400:#084b83;--indigo-500:#084b83;--indigo-600:#073c68;--indigo-700:#052d4e;--indigo-800:#031e34;--indigo-900:#020f1a;--lapis-50:#c6e1f0;--lapis-100:#8dc3e1;--lapis-200:#53a5d1;--lapis-300:#2e81ae;--lapis-400:#1f5673;--lapis-500:#1f5673;--lapis-600:#19455d;--lapis-700:#133446;--lapis-800:#0c232f;--lapis-900:#061117;--color-success:var(--indigo-500);--color-warning:#f0c419;--color-error:var(--indigo-700);--color-info:var(--indigo-500);--gradient-primary:linear-gradient(135deg,var(--indigo-500) 0%,var(--indigo-600) 100%);--gradient-header:linear-gradient(to right,var(--indigo-500) 0%,var(--lapis-500) 100%);--gradient-hero:linear-gradient(to bottom right,var(--periwinkle-100) 0%,var(--periwinkle-50) 50%,var(--indigo-50) 100%);--gradient-card:linear-gradient(to bottom right,#fff 0%,var(--periwinkle-50) 100%);--gradient-overlay:linear-gradient(90deg,#084b830d 0%,#1f56731a);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Helvetica Neue",sans-serif;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:28px;--text-4xl:32px;--text-5xl:48px;--text-6xl:56px;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.6;--leading-loose:2;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--transition-all:all 200ms ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--periwinkle-50);color:var(--lapis-700);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed)}#root,body,html{height:100%;width:100%}h1{color:var(--indigo-900);font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:-.01em;line-height:var(--leading-tight)}h2{font-size:var(--text-2xl);letter-spacing:-.01em}h2,h3{color:var(--indigo-800);font-weight:var(--font-semibold);line-height:var(--leading-snug)}h3{font-size:var(--text-xl)}h4{color:var(--indigo-900);font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-normal)}p{color:var(--lapis-700);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}a{color:inherit;text-decoration:none;transition:var(--transition-base)}button{cursor:pointer;font-family:inherit;transition:var(--transition-all)}input,select,textarea{font-family:inherit;font-size:var(--text-base);transition:var(--transition-base)}.gradient-primary{background:var(--gradient-primary)}.gradient-header{background:var(--gradient-header)}.gradient-card{background:var(--gradient-card)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.fade-in{animation:fadeIn .3s ease-out}:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--indigo-500);outline-offset:2px}a:focus-visible,button:focus-visible{outline:4px solid var(--indigo-100);outline-offset:2px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.0a56d11a.css.map*/