.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.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{width:0;height:0;box-sizing:border-box;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{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.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-zoom-anim .leaflet-tile,.leaflet-pan-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-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.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{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{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-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height: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{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.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);width:36px;height: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{width:44px;height: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{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;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{height:0;border-top:1px solid #ddd;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{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.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{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.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{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}*,: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 / .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 / .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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}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}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=url]),input:where([type=password]),input:where([type=number]),input:where([type=date]),input:where([type=datetime-local]),input:where([type=month]),input:where([type=search]),input:where([type=tel]),input:where([type=time]),input:where([type=week]),select:where([multiple]),textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}input:where([type=text]):focus,input:where(:not([type])):focus,input:where([type=email]):focus,input:where([type=url]):focus,input:where([type=password]):focus,input:where([type=number]):focus,input:where([type=date]):focus,input:where([type=datetime-local]):focus,input:where([type=month]):focus,input:where([type=search]):focus,input:where([type=tel]):focus,input:where([type=time]):focus,input:where([type=week]):focus,select:where([multiple]):focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}select:where([multiple]),select:where([size]:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}input:where([type=checkbox]),input:where([type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--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)}input:where([type=checkbox]):checked,input:where([type=radio]):checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media(forced-colors:active){input:where([type=checkbox]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media(forced-colors:active){input:where([type=radio]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):checked:hover,input:where([type=checkbox]):checked:focus,input:where([type=radio]):checked:hover,input:where([type=radio]):checked:focus{border-color:transparent;background-color:currentColor}input:where([type=checkbox]):indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media(forced-colors:active){input:where([type=checkbox]):indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):indeterminate:hover,input:where([type=checkbox]):indeterminate:focus{border-color:transparent;background-color:currentColor}input:where([type=file]){background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}input:where([type=file]):focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.visible{visibility:visible}.\!fixed{position:fixed!important}.fixed{position:fixed}.absolute{position:absolute}.sticky{position:sticky}.table{display:table}.hidden{display:none}.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)}:root{--ink: #172e28;--moss: #346b58;--moss-deep: #285b49;--mint: #dcece5;--paper: #f4f3ee;--coral: #ed795f;--sun: #f3c562;--surface: rgba(255, 255, 255, .8);--surface-solid: #ffffff;--surface-quiet: #eef0e8;--sheet-surface: #faf9f5;--text: var(--ink);--muted: #566a63;--muted-soft: #64776f;--label: #55685f;--line: rgba(23, 46, 40, .09);--line-strong: rgba(23, 46, 40, .14);--field-border: #d3dad4;--accent-quiet: #dcece5;--accent-quiet-text: #23543f;--accent-warm: #8a5416;--positive: #1d6b4b;--negative: #b4432f;--warn-text: #7f5610;--warn-surface: #fff0ca;--danger-text: #8c3021;--danger-surface: #fde4dd;--ok-text: #1f684c;--ok-surface: #e2efe8;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--gap-card: 16px;--pad-card: 20px;--r-xs: 10px;--r-sm: 12px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--r-pill: 999px;--fs-2xs: .6875rem;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .875rem;--fs-base: .9375rem;--fs-lg: 1.0625rem;--fs-xl: 1.1875rem;--fs-2xl: 1.4375rem;--fs-3xl: 1.625rem;--lh-tight: 1.25;--lh-snug: 1.4;--lh-base: 1.55;--fw-medium: 560;--fw-semibold: 680;--fw-bold: 760;--fw-black: 840;--eyebrow-track: .12em;--tap: 44px;--control-h: 48px;--control-h-sm: 44px;--control-pad-x: 14px;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--paper);font-synthesis:none}:root.dark{--surface: rgba(26, 52, 44, .82);--surface-solid: #193129;--surface-quiet: rgba(255, 255, 255, .07);--sheet-surface: #18352c;--text: #edf6f1;--muted: #a9bdb4;--muted-soft: #98ada4;--label: #a9bdb4;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--field-border: rgba(255, 255, 255, .14);--accent-quiet: rgba(158, 224, 195, .14);--accent-quiet-text: #9ee0c3;--accent-warm: #f0cd86;--positive: #81dab4;--negative: #ff9b88;--warn-text: #f0cd86;--warn-surface: rgba(243, 197, 98, .14);--danger-text: #f6b0a0;--danger-surface: rgba(212, 95, 78, .18);--ok-text: #9ee0c3;--ok-surface: rgba(50, 139, 101, .18);color-scheme:dark;color:var(--text);background:#10221d}*{box-sizing:border-box}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}html{min-height:100%;background:#f4f3ee}html.dark{background:#10221d}body{margin:0;min-width:0;min-height:100vh;overflow-x:hidden;font-size:var(--fs-base);line-height:var(--lh-base);background:radial-gradient(circle at 16% -10%,rgba(243,197,98,.24),transparent 34rem),#f4f3ee}.dark body{background:radial-gradient(circle at 16% -10%,rgba(243,197,98,.1),transparent 34rem),#10221d}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,details:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(237,121,95,.55);outline-offset:2px;border-radius:var(--r-xs)}.dark button:focus-visible,.dark a:focus-visible,.dark input:focus-visible,.dark select:focus-visible,.dark textarea:focus-visible,.dark summary:focus-visible,.dark [tabindex]:focus-visible{outline-color:#f3c562b3}input[type=date]:focus-within,input[type=datetime-local]:focus-within,input[type=time]:focus-within,input[type=month]:focus-within{outline:3px solid rgba(237,121,95,.55);outline-offset:2px}.dark input[type=date]:focus-within,.dark input[type=datetime-local]:focus-within,.dark input[type=time]:focus-within,.dark input[type=month]:focus-within{outline-color:#f3c562b3}h1,h2,h3,p,strong,small,em,label,li,dd,dt,summary,figcaption{overflow-wrap:anywhere}td,th{overflow-wrap:anywhere}.app-shell{min-height:100vh;padding-bottom:calc(98px + env(safe-area-inset-bottom))}.page{width:min(100% - 32px,1140px);margin:0 auto}@media(min-width:1280px){.page.page-itinerary{width:min(calc(100% - 32px),1400px)}.page-itinerary>.topbar{width:min(100%,1140px);margin-inline:auto}}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:calc(68px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);gap:var(--sp-3)}.topbar>.top-actions{min-width:0}.brand{min-width:0;display:flex;align-items:center;gap:var(--sp-2);color:inherit;text-decoration:none;font-weight:var(--fw-bold);font-size:var(--fs-lg);letter-spacing:-.03em}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r-sm);background:#172e28;color:#f3c562}.dark .brand-mark{background:#dcece5;color:#172e28}.top-actions{display:flex;align-items:center;gap:var(--sp-2)}.group-profile-chip{min-width:var(--tap);min-height:var(--tap);max-width:190px;flex:0 1 auto;padding:5px 12px 5px 6px;display:inline-flex;align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-pill);background:#ffffffb8;color:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);text-decoration:none;transition:background .16s ease,transform .16s ease}.group-profile-chip:hover{transform:translateY(-1px);background:#fffffff2}.group-profile-chip.active{border-color:#346b5842;background:#dcece5;color:#285b49}.group-profile-chip>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark .group-profile-chip{border-color:var(--line);background:#ffffff0f}.dark .group-profile-chip:hover,.dark .group-profile-chip.active{background:#9ee0c31f;color:#9ee0c3}.profile-nav-link{display:inline-flex;border-radius:50%;text-decoration:none;transition:transform .16s ease}.profile-nav-link:hover{transform:translateY(-1px)}.page-heading,.itinerary-heading,.ebike-map-heading,.private-notes-heading,.memories-heading{padding:var(--sp-6) 0 var(--sp-5)}.page-heading>*:last-child,.itinerary-heading p:last-child,.ebike-map-heading p:last-child{margin-bottom:0}.page-heading small,.eyebrow,.itinerary-heading small,.itinerary-admin-card summary small,.itinerary-card-heading small,.location-consent-card small,.nearby-memory-card span.eyebrow,.memory-section-heading small,.report-intro small,.composer-place small,.place-detail-hero small,.ebike-route-heading small,.route-import-heading small,.private-notes-capture-card small,.memory-result-card small,.planned-place-card small,.ebike-route-timeline small{display:block;color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-black);line-height:var(--lh-tight);text-transform:uppercase;letter-spacing:var(--eyebrow-track);margin-bottom:var(--sp-2)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:var(--sp-2);font-size:clamp(1.9rem,6.4vw,3.1rem);line-height:1.08;letter-spacing:-.04em}h2{margin-bottom:var(--sp-3);font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:-.02em}h3{margin-bottom:var(--sp-1);font-size:var(--fs-lg);line-height:var(--lh-tight);letter-spacing:-.015em}.page-heading p,.itinerary-heading p,.ebike-map-heading p,.private-notes-heading p{margin:0;font-size:var(--fs-base);line-height:var(--lh-base)}.muted{color:var(--muted)}.button{min-height:var(--control-h-sm);min-width:var(--tap);border:0;border-radius:var(--r-md);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:var(--lh-tight);text-align:center;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2)}.button svg{flex:0 0 auto}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:disabled,.icon-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button-primary{color:#fff;background:var(--moss);box-shadow:0 8px 20px #346b5838}.button-primary:hover{background:var(--moss-deep)}.button-secondary{color:var(--accent-quiet-text);background:var(--accent-quiet)}.button-ghost{color:inherit;background:transparent}.button-danger{color:var(--danger-text);background:var(--danger-surface)}.icon-button{width:var(--tap);height:var(--tap);min-width:var(--tap);min-height:var(--tap);flex:0 0 auto;border:0;border-radius:50%;display:inline-grid;place-items:center;background:#ffffffbd;color:inherit;cursor:pointer}.dark .icon-button{background:#ffffff14}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:0 18px 50px #172e2812}.hero-card{color:#fff;background:linear-gradient(145deg,#17382e,#346b58);padding:clamp(22px,5vw,36px);position:relative;overflow:hidden;border:0}.hero-card:after{content:"";position:absolute;right:-70px;top:-80px;width:220px;height:220px;border-radius:50%;background:#f3c5622e}.hero-card .eyebrow{color:#ffffffa6}.hero-total{font-size:clamp(2.4rem,9vw,4.4rem);font-weight:var(--fw-bold);letter-spacing:-.05em;line-height:1.04;margin:var(--sp-2) 0 var(--sp-6)}.next-payer{position:relative;z-index:1;max-width:100%;min-height:var(--tap);display:flex;align-items:center;gap:var(--sp-3);width:-moz-fit-content;width:fit-content;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);padding:10px var(--sp-3);backdrop-filter:blur(10px)}.next-payer>span{min-width:0}.next-payer strong{display:block;font-size:var(--fs-base);line-height:var(--lh-snug)}.next-payer small{display:block;color:#ffffffc2;font-size:var(--fs-xs);line-height:var(--lh-tight)}.dashboard-grid{display:grid;gap:var(--gap-card)}.weather-strip{position:relative;margin:-8px 0 18px;padding:var(--sp-3) var(--sp-4);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-4);overflow:hidden}.weather-strip-heading{min-width:190px;display:flex;align-items:center;gap:var(--sp-3)}.weather-strip-heading>span:last-child,.weather-day>span:last-child{min-width:0}.weather-strip-heading small,.weather-strip-heading strong,.weather-day small,.weather-day strong,.weather-day em{display:block}.weather-strip-heading small,.weather-day small,.weather-source{color:var(--muted);font-size:var(--fs-2xs)}.weather-strip-heading strong{max-width:210px;overflow:hidden;font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap}.weather-strip-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--r-sm);background:#f5e8bd;color:#9a681d}.weather-days{min-width:0;display:flex;align-items:stretch;gap:var(--sp-2);overflow-x:auto;scrollbar-width:thin}.weather-day{min-width:168px;padding:var(--sp-2) var(--sp-3);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--sp-2);border-left:1px solid var(--line)}.weather-symbol{font-size:var(--fs-2xl)}.weather-day strong{margin:0;font-size:var(--fs-md)}.weather-day em{color:var(--muted);font-size:var(--fs-2xs);font-style:normal;line-height:var(--lh-snug)}.weather-source{align-self:end}.dark .weather-strip-icon{background:#f3c56224;color:#f3c562}.dark .weather-day{border-left-color:var(--line)}.section-card,.settings-card,.profile-card,.itinerary-budget-card,.itinerary-members-card{padding:var(--pad-card)}.section-header,.itinerary-card-heading,.memory-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.profile-card-heading{display:flex;align-items:center;justify-content:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-4)}.profile-card-heading>div{min-width:0;flex:1 1 auto}.profile-card-heading p{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug)}.section-header h2,.itinerary-card-heading h2,.memory-section-heading h2,.profile-card-heading h2{min-width:0;margin:0;font-size:var(--fs-xl);line-height:var(--lh-tight)}.section-header>a,.section-header>span:not(.button),.memory-section-heading>span,.itinerary-card-heading>span:not(.eyebrow){flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:var(--lh-tight);white-space:nowrap;text-decoration:none}.section-header>a{min-height:var(--tap);padding-inline:var(--sp-2);margin-right:calc(var(--sp-2) * -1);color:var(--moss-deep);border-radius:var(--r-xs)}.dark .section-header>a{color:var(--accent-quiet-text)}.section-header>a:hover{text-decoration:underline}.balance-list{display:grid}.balance-card{overflow:hidden}.balance-chart{position:relative;display:flex;gap:var(--sp-2);overflow-x:auto;padding:8px 1px 4px;scrollbar-width:none;overscroll-behavior-x:contain}.balance-chart::-webkit-scrollbar{display:none}.balance-chart:before{content:"";position:absolute;inset:8px 0 auto;height:124px;border-radius:var(--r-lg);background:linear-gradient(to top,rgba(23,46,40,.055) 1px,transparent 1px) 0 0 / 100% 33.333%,linear-gradient(145deg,#eef2eae0,#f7f2e099)}.dark .balance-chart:before{background:linear-gradient(to top,rgba(255,255,255,.07) 1px,transparent 1px) 0 0 / 100% 33.333%,linear-gradient(145deg,#ffffff0e,#f3c5620b)}.balance-chart-person{position:relative;z-index:1;flex:1 0 72px;min-width:0;display:grid;justify-items:center;text-align:center}.balance-bar-stage{width:100%;height:132px;display:flex;align-items:flex-end;justify-content:center;padding:24px 5px 8px}.balance-bar-assembly{position:relative;width:min(46px,72%);min-height:10px}.balance-bar{position:absolute;inset:0;border-radius:15px 15px 8px 8px;transform-origin:bottom;animation:balance-bar-rise .52s cubic-bezier(.22,1,.36,1) both}.balance-bar:after{content:"";position:absolute;inset:5px 5px auto;height:24%;min-height:4px;border-radius:var(--r-pill);background:#ffffff4d}.balance-bar-positive .balance-bar{background:linear-gradient(180deg,#54a982,#28735a);box-shadow:0 9px 18px #28735a3b}.balance-bar-negative .balance-bar{background:linear-gradient(180deg,#f29a80,#d45f4e);box-shadow:0 9px 18px #d45f4e3b}.balance-bar-zero .balance-bar{background:linear-gradient(180deg,#f1d483,#d5ad48);box-shadow:0 8px 16px #d5ad4833}.balance-bar-avatar{position:absolute;z-index:2;top:0;left:50%;display:block;transform:translate(-50%,-48%)}.balance-bar-avatar .avatar{border:3px solid #f9fbf8;box-shadow:0 4px 11px #172e2833}.balance-bar-positive .balance-bar-avatar .avatar{box-shadow:0 0 0 2px #28735a8c,0 4px 11px #172e2833}.balance-bar-negative .balance-bar-avatar .avatar{box-shadow:0 0 0 2px #d45f4e8c,0 4px 11px #172e2833}.balance-bar-zero .balance-bar-avatar .avatar{box-shadow:0 0 0 2px #d5ad488c,0 4px 11px #172e2833}.dark .balance-bar-avatar .avatar{border-color:#17362d}.balance-chart-name{width:100%;margin-top:var(--sp-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md)}.balance-chart-amount{margin-top:var(--sp-1);font-size:var(--fs-sm);font-weight:var(--fw-black);white-space:nowrap}.balance-chart-status{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap}.balance-chart-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-3);color:var(--muted);font-size:var(--fs-2xs)}.balance-chart-legend span{display:inline-flex;align-items:center;gap:var(--sp-1)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot-negative{background:#d45f4e}.legend-dot-positive{background:#28735a}@keyframes balance-bar-rise{0%{transform:scaleY(.08);opacity:.35}to{transform:scaleY(1);opacity:1}}.member-row,.settlement-row,.place-expense-row,.profile-session-row{min-height:64px;gap:var(--sp-3);border-bottom:1px solid var(--line)}.member-row:last-child,.settlement-row:last-child,.place-expense-row:last-child,.profile-session-row:last-child{border-bottom:0}.member-row{display:flex;align-items:center}.member-row-main,.settlement-main{flex:1;min-width:0}.member-row-main strong,.member-row-main small,.settlement-main strong,.settlement-main small{display:block;min-width:0}.member-row-main strong,.settlement-main strong{font-size:var(--fs-base);font-weight:var(--fw-bold);line-height:var(--lh-snug)}.member-row-main small,.profile-session-row small,.place-expense-row span small{color:var(--muted);font-size:var(--fs-xs);line-height:var(--lh-snug)}.transaction-amount,.member-row>.amount-positive,.member-row>.amount-negative,.member-row>span:not(.member-row-main):not(.avatar),.place-expense-row>strong{flex:0 0 auto;text-align:right;font-size:var(--fs-base);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;white-space:nowrap}.settlement-main small{margin-top:var(--sp-1);color:var(--text);font-size:var(--fs-base);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;line-height:var(--lh-snug)}.amount-positive{color:var(--positive)}.amount-negative{color:var(--negative)}.avatar{flex:0 0 auto;display:inline-grid;place-items:center;border-radius:50%;background:#dcece5;color:#285b49;font-weight:var(--fw-black);overflow:hidden}.avatar img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.avatar-xs{width:22px;height:22px;font-size:var(--fs-2xs)}.avatar-sm{width:34px;height:34px;font-size:var(--fs-xs)}.avatar-md{width:44px;height:44px;font-size:var(--fs-md)}.avatar-lg{width:54px;height:54px}.transaction-list{display:grid}.transaction-row{width:100%;min-height:72px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);text-align:left;border:0;border-bottom:1px solid var(--line);color:inherit;background:transparent;cursor:pointer;padding:var(--sp-3) 0;overflow:hidden}.transaction-row:last-child{border-bottom:0}.category-icon{width:44px;height:44px;flex:0 0 auto;border-radius:var(--r-md);display:grid;place-items:center;background:#eef0e8;color:#49645a}.dark .category-icon{background:#ffffff14;color:#dcece5}.transaction-main{flex:1;min-width:0}.transaction-main strong,.transaction-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-meta{margin-top:var(--sp-1);color:var(--muted)}.transaction-payer-avatars{display:inline-flex;vertical-align:middle;margin-right:6px}.transaction-payer-avatars .avatar+.avatar{margin-left:-7px;box-shadow:0 0 0 2px #fff}.dark .transaction-payer-avatars .avatar+.avatar{box-shadow:0 0 0 2px #152a24}.transaction-amount{text-align:right;font-weight:var(--fw-semibold);white-space:nowrap}.pending-label{display:inline-flex!important;align-items:center;gap:var(--sp-1);color:var(--accent-warm);font-weight:var(--fw-semibold);font-size:var(--fs-2xs);margin-top:var(--sp-1);max-width:100%}.bottom-nav-dock{position:fixed;z-index:30;inset-inline:0;bottom:0;display:flex;justify-content:center;padding:0 var(--sp-3) var(--sp-3);padding-bottom:max(var(--sp-3),env(safe-area-inset-bottom,0px));pointer-events:none}.bottom-nav{position:relative;left:auto;bottom:auto;transform:none;pointer-events:auto;width:min(calc(100% - 24px),860px);min-height:68px;padding:var(--sp-2) var(--sp-3);display:grid;grid-template-columns:1fr 1fr 1fr 66px 1fr 1fr 1fr;align-items:center;background:#f8f9f5e0;border:1px solid var(--line);box-shadow:0 15px 50px #172e2833;border-radius:var(--r-xl);backdrop-filter:blur(18px);transition:width .28s cubic-bezier(.22,1,.36,1),min-height .28s cubic-bezier(.22,1,.36,1),padding .28s cubic-bezier(.22,1,.36,1),border-radius .28s cubic-bezier(.22,1,.36,1),grid-template-columns .28s cubic-bezier(.22,1,.36,1)}.dark .bottom-nav{background:#152a24e6;border-color:var(--line)}.bottom-nav a{min-width:0;min-height:var(--tap);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);color:var(--muted);text-decoration:none;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);line-height:var(--lh-tight);text-align:center;transition:min-height .24s ease,gap .24s ease,color .16s ease}.bottom-nav a span{max-height:18px;opacity:1;overflow:hidden;transform:translateY(0);transition:max-height .2s ease,opacity .16s ease,transform .2s ease}.bottom-nav a svg{width:21px}.bottom-nav a.active{color:#285b49}.dark .bottom-nav a.active{color:#9ee0c3}.add-button{align-self:start;justify-self:center;width:62px;height:62px;margin-top:-20px;border-radius:var(--r-xl);border:5px solid #f4f3ee;background:#ed795f;color:#fff;box-shadow:0 10px 22px #ed795f59;display:grid;place-items:center;cursor:pointer;transition:width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1),margin .26s cubic-bezier(.22,1,.36,1),border-width .26s ease,border-radius .26s ease,box-shadow .26s ease}.dark .add-button{border-color:#10221d}.add-button svg{width:28px;height:28px;stroke-width:2.6;transition:width .24s ease,height .24s ease}.bottom-nav.bottom-nav-compact,.mobile-device .bottom-nav.bottom-nav-compact{width:min(calc(100% - 38px),650px);min-height:54px;padding:var(--sp-1) var(--sp-2);grid-template-columns:1fr 1fr 1fr 50px 1fr 1fr 1fr;border-radius:28px}.bottom-nav.bottom-nav-compact a{min-height:44px;gap:0}.bottom-nav.bottom-nav-compact a span{max-height:0;opacity:0;transform:translateY(5px)}.bottom-nav.bottom-nav-compact .add-button{align-self:center;width:46px;height:46px;margin-top:0;border-width:3px;border-radius:var(--r-lg);box-shadow:0 7px 16px #ed795f47}.bottom-nav.bottom-nav-compact .add-button svg{width:23px;height:23px}.sheet-layer{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding-top:env(safe-area-inset-top);background:#07141075;backdrop-filter:blur(5px);animation:fade-in .16s ease}.sheet{width:min(100%,680px);max-height:min(92dvh,920px);display:flex;flex-direction:column;background:var(--sheet-surface);color:var(--text);border-radius:30px 30px 0 0;box-shadow:0 -20px 70px #0714103d;animation:sheet-up .24s cubic-bezier(.2,.8,.2,1)}.sheet-handle{width:var(--tap);height:5px;margin:var(--sp-2) auto 0;border-radius:var(--r-xs);background:var(--line-strong)}.sheet-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-5)}.sheet-header h2{min-width:0;margin:0;font-size:var(--fs-xl);line-height:var(--lh-tight)}.sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--sp-3) var(--sp-5) calc(var(--sp-6) + env(safe-area-inset-bottom));overscroll-behavior:contain}.sheet-body>*:last-child{margin-bottom:0}.sheet-body>.button,.sheet-body>form>.button,.sheet-body .settings-actions>.button{width:100%}.sheet-body>.button+.button,.sheet-body>form+.button,.sheet-body>.settings-actions+form{margin-top:var(--sp-3)}.field{min-width:0;display:grid;gap:var(--sp-2);margin-bottom:var(--sp-4)}.field-label,.itinerary-admin-fields label>span,.itinerary-flight-fields label>span,.itinerary-stop label>span,.itinerary-location-settings label span,.route-assistant-settings label>span,.ebike-point-route-fields label>span,.route-import-textarea>span{display:block;color:var(--label);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:0;text-transform:none}.field input,.field select,.field textarea,input.text-input,select.text-input,textarea.text-input,.itinerary-admin-fields input,.itinerary-admin-fields select,.itinerary-flight-fields input,.itinerary-stop input,.itinerary-stop select,.itinerary-stop textarea,.itinerary-location-settings input,.ebike-point-route-fields select,.route-assistant-settings select,.route-assistant-block textarea,.route-import-textarea textarea,.ebike-route-move-day,.allocation-row input,.list-toolbar input,.list-toolbar select,.invite-link input{width:100%;min-width:0;min-height:var(--control-h);border:1px solid var(--field-border);border-radius:var(--r-md);background:var(--surface-solid);color:var(--text);font-size:var(--fs-base);line-height:var(--lh-snug);padding:10px var(--control-pad-x);box-shadow:none}.field textarea,textarea.text-input,.itinerary-stop textarea,.route-assistant-block textarea,.route-import-textarea textarea{line-height:var(--lh-base);resize:vertical}.field input:disabled,.field select:disabled,.field textarea:disabled,input.text-input:disabled,select.text-input:disabled,textarea.text-input:disabled,.itinerary-admin-fields input:disabled,.itinerary-admin-fields select:disabled,.itinerary-flight-fields input:disabled,.itinerary-stop input:disabled,.itinerary-stop select:disabled,.itinerary-stop textarea:disabled{opacity:.55;cursor:not-allowed}.field-label+.chips,.field-label+.quick-chips,.field-label+.allocation-list{margin-top:var(--sp-2)}.field input[type=file]{padding:var(--sp-2) var(--sp-2);line-height:var(--tap)}.field input[type=file]::file-selector-button{min-height:32px;margin-right:var(--sp-3);padding:0 var(--sp-3);border:0;border-radius:var(--r-xs);background:var(--accent-quiet);color:var(--accent-quiet-text);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer}input[type=checkbox],input[type=radio]{width:22px;min-width:22px;height:22px;min-height:22px;flex:0 0 auto;margin:11px;padding:0;border-radius:var(--sp-1);accent-color:var(--moss);cursor:pointer}label:has(>input[type=checkbox]),label:has(>input[type=radio]){min-height:var(--tap);display:inline-flex;align-items:center;gap:var(--sp-1);cursor:pointer}summary{min-height:var(--tap);display:flex;align-items:center;gap:var(--sp-2)}.field-hint,.ebike-point-route-fields small,.itinerary-location-settings>small,.field-error{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug)}.field-error{color:var(--danger-text);font-weight:var(--fw-semibold)}.amount-entry{text-align:center;margin:var(--sp-3) 0 var(--sp-5)}.amount-entry .currency-input{display:flex;align-items:center;justify-content:center;gap:var(--sp-2)}.amount-entry input{width:min(76%,360px);border:0;border-bottom:2px solid #cbd5cf;background:transparent;color:inherit;font-size:clamp(3rem,16vw,5rem);font-weight:var(--fw-bold);letter-spacing:-.07em;text-align:center;padding:0}.amount-entry select{border:0;background:transparent;font-weight:var(--fw-bold);color:inherit}.quick-chips,.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chip{min-height:var(--tap);border:1px solid var(--field-border);background:#ffffffa6;color:inherit;border-radius:var(--r-pill);padding:var(--sp-2) var(--sp-4);display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);cursor:pointer}.chip:disabled{opacity:.55;cursor:not-allowed}.dark .chip{background:#ffffff0f;border-color:var(--line-strong)}.chip.selected{border-color:#346b58;background:#dcece5;color:#1d5542}.advanced-toggle{width:100%;justify-content:space-between;margin:var(--sp-2) 0}.advanced-panel{display:grid;gap:var(--sp-4);margin-top:var(--sp-3);padding-top:15px;border-top:1px solid #dde2dd}.form-grid{display:grid;gap:var(--sp-3)}.allocation-row{display:grid;grid-template-columns:1fr minmax(100px,38%);align-items:center;gap:var(--sp-3)}.allocation-row label{display:flex;align-items:center;gap:var(--sp-2)}.allocation-row input{min-height:44px;border:1px solid #d8ddd8;border-radius:var(--r-sm);text-align:right}.primary-action{width:100%;min-height:54px;margin-top:var(--sp-4);border-radius:var(--r-lg);font-size:1rem}.sync-status{min-height:32px;display:inline-flex;align-items:center;gap:var(--sp-2);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.sync-status.synced{background:#e4efe8;color:#2a654f}.sync-status.offline{background:#fee4dd;color:#963b2a}.sync-status.pending{background:#fff0ca;color:#855711}.spin{animation:spin 1.1s linear infinite}.toast{position:fixed;z-index:90;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 32px),480px);min-height:56px;display:flex;align-items:center;gap:var(--sp-3);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);color:#fff;background:#172e28;box-shadow:0 15px 40px #00000040}.toast span{flex:1}.toast button:not(.icon-button){border:0;background:transparent;color:#f3c562;font-weight:var(--fw-black);cursor:pointer}.toast .icon-button{background:#ffffff1f}.empty-state,.private-notes-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--sp-2);padding:var(--sp-7) var(--sp-5);color:var(--muted)}.empty-icon,.private-notes-empty>span{width:60px;height:60px;display:grid;place-items:center;border-radius:var(--r-lg);margin-bottom:var(--sp-2);background:var(--mint);color:var(--moss)}.empty-state h3,.private-notes-empty h3{margin:0;color:var(--text);font-size:var(--fs-xl)}.empty-state p,.private-notes-empty p{max-width:44ch;margin:0 0 var(--sp-3);font-size:var(--fs-base);line-height:var(--lh-base)}.skeleton-stack{display:grid;gap:var(--sp-3)}.skeleton{height:66px;border-radius:var(--r-lg);background:linear-gradient(100deg,#172e280f 20%,#ffffffb3,#172e280f 70%);background-size:240% 100%;animation:shimmer 1.4s linear infinite}.auth-page{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6)}.auth-layout{width:min(100%,920px);display:grid;gap:var(--sp-5)}.auth-intro{padding:var(--sp-4) var(--sp-2)}.auth-intro .brand-mark{width:58px;height:58px;border-radius:var(--r-lg);margin-bottom:var(--sp-7)}.auth-intro h1{max-width:620px;font-size:clamp(3rem,11vw,6rem)}.auth-intro p{max-width:500px;color:var(--muted);font-size:var(--fs-lg)}.auth-card{padding:var(--sp-6)}.auth-card h2{font-size:var(--fs-2xl)}.error-banner,.offline-banner,.success-banner{min-height:var(--tap);display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid transparent;border-radius:var(--r-md);font-size:var(--fs-md);line-height:var(--lh-snug)}.error-banner{color:var(--danger-text);border-color:#8c30212e;background:var(--danger-surface)}.offline-banner{color:var(--warn-text);border-color:#7f56102e;background:var(--warn-surface)}.success-banner{color:var(--ok-text);border-color:#21725133;background:var(--ok-surface)}.group-list{display:grid;gap:var(--sp-4)}.group-card{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-5);color:inherit;text-decoration:none;transition:transform .16s ease}.group-card:hover{transform:translateY(-2px)}.group-card-with-settings{padding:0;gap:0}.group-card-open{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:var(--sp-3);padding:var(--pad-card);color:inherit;text-decoration:none}.group-card-settings{align-self:stretch;flex:0 0 auto;min-width:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border-left:1px solid var(--line);color:var(--muted);text-decoration:none;font-size:var(--fs-2xs);font-weight:var(--fw-bold)}.group-card-settings:hover,.group-card-settings:focus-visible{background:#285b490f;color:#285b49}.group-card-settings svg{width:20px;height:20px}.dark .group-card-settings{border-left-color:var(--line);color:var(--muted)}.group-emoji{width:60px;height:60px;flex:0 0 60px;display:flex;align-items:center;justify-content:center;place-items:center;border-radius:var(--r-lg);background:#e9e9dd;font-size:var(--fs-xl);line-height:1;white-space:nowrap;overflow:hidden}.group-card-main{flex:1;min-width:0}.group-card-main strong,.group-card-main small{display:block}.group-card-main strong{font-size:var(--fs-lg)}.group-card-main small{margin-top:var(--sp-1);color:var(--muted)}.list-toolbar{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4)}.list-toolbar input{flex:1;min-width:0}.fact-list{margin:0 0 var(--sp-4);display:grid;gap:var(--sp-1)}.fact-list>div{min-height:var(--tap);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--line)}.fact-list>div:last-child{border-bottom:0}.fact-list dt{min-width:0;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.fact-list dd{min-width:0;margin:0;font-size:var(--fs-base);font-weight:var(--fw-bold);line-height:var(--lh-snug);text-align:right}.page-loading{padding-top:var(--sp-8)}.stack-top{margin-top:var(--gap-card)}.stack-bottom{margin-bottom:var(--sp-4)}.stack-section{margin-top:var(--sp-7)}.plus-glyph{font-size:var(--fs-xl);line-height:1}.allocation-list{display:grid;gap:var(--sp-2);margin-top:var(--sp-3)}.item-chips{margin-top:var(--sp-3)}.invite-card{width:min(100%,480px)}.invite-mark{margin-bottom:var(--sp-5)}.invite-title{font-size:clamp(1.75rem,7vw,2.5rem)}.invite-chips{margin:var(--sp-5) 0}.detail-title{font-size:clamp(1.6rem,6vw,2.2rem)}.detail-amount{margin:var(--sp-1) 0 var(--sp-5);font-size:clamp(2rem,8vw,2.75rem);font-weight:var(--fw-bold);line-height:1.04;letter-spacing:-.04em}.detail-summary-card{box-shadow:none}.detail-summary-card p{margin:0 0 var(--sp-2);line-height:var(--lh-base)}.detail-summary-card p:last-child{margin-bottom:0}.itinerary-admin-body{padding:var(--pad-card)}.itinerary-admin-inline-note{padding-inline:var(--pad-card)}@media(max-width:520px){:root{--pad-card: 16px;--gap-card: 12px}.page{width:calc(100% - 20px)}.page-heading,.itinerary-heading,.ebike-map-heading,.private-notes-heading,.memories-heading{padding:var(--sp-5) 0 var(--sp-4)}.topbar{gap:var(--sp-2)}.topbar>.top-actions:last-child{gap:var(--sp-1)}.group-profile-chip{max-width:112px;padding-right:9px}.list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 108px}.list-toolbar input,.list-toolbar select{min-width:0}.settlement-row{display:grid;grid-template-columns:60px minmax(0,1fr);gap:var(--sp-3)}.settlement-row>.button{grid-column:2;justify-self:start}.transaction-row{grid-template-columns:40px minmax(0,1fr) auto;gap:var(--sp-3);min-height:76px}.category-icon{width:40px;height:40px;border-radius:var(--r-md)}.transaction-main strong{font-size:var(--fs-base)}.transaction-main small{font-size:var(--fs-xs)}.transaction-amount{font-size:var(--fs-base)}.bottom-nav{width:calc(100% - 16px);grid-template-columns:1fr 1fr 1fr 54px 1fr 1fr 1fr;padding-inline:6px}.bottom-nav a{font-size:var(--fs-2xs)}.add-button{width:56px;height:56px}}@media(max-width:380px){.group-profile-chip{max-width:none;padding:5px}.group-profile-chip>span:last-child{display:none}.sync-status span{display:none}.sync-status{padding-inline:7px}.bottom-nav a span{max-height:0;opacity:0;overflow:hidden}.bottom-nav a{gap:0}.transaction-main small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}}.stat-grid,.itinerary-overview,.report-stats,.place-detail-stats,.private-notes-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.stat-card,.itinerary-overview .card,.report-stats span,.place-detail-stats span,.private-notes-summary .card{min-width:0;min-height:88px;padding:var(--pad-card);display:grid;align-content:center;gap:var(--sp-1);text-align:left}.stat-card strong,.itinerary-overview strong,.report-stats strong,.place-detail-stats strong,.private-notes-summary strong{display:block;min-width:0;margin:0;overflow-wrap:anywhere;font-size:var(--fs-2xl);font-weight:var(--fw-black);line-height:var(--lh-tight);letter-spacing:-.03em}.stat-card small,.itinerary-overview span,.report-stats small,.place-detail-stats small,.private-notes-summary span{display:block;margin:0;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.bar-list{display:grid;gap:var(--sp-4)}.bar-row{display:grid;gap:var(--sp-2)}.bar-row-head{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-md)}.bar-track{height:9px;border-radius:var(--r-pill);background:#e6ebe6;overflow:hidden}.bar-fill{height:100%;border-radius:inherit;background:#ed795f}.settings-grid{display:grid;gap:var(--sp-4)}.settings-grid>.itinerary-admin-card{grid-column:1 / -1;grid-row:auto}.settings-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.invite-link{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.invite-link input{flex:1;min-width:0}.settlement-row{display:flex;align-items:center;padding:var(--sp-3) 0}.settlement-avatars{position:relative;flex:0 0 60px;width:60px;height:38px}.settlement-avatars .avatar{position:absolute;top:2px}.settlement-avatars .avatar:first-child{left:0}.settlement-avatars .avatar:last-child{right:0;z-index:1;border:2px solid #fff}.dark .settlement-avatars .avatar:last-child{border-color:#18342c}.settlement-hint{margin:var(--sp-1) 0 var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);background:#f3f1e7}.settlement-hint p{margin-top:0}.group-state-card{border-color:#285b493d;background:linear-gradient(145deg,#fff,#f3f7f3)}.dark .settlement-hint,.dark .group-state-card{background:#1d3931}.theme-select{min-height:var(--tap);border:0;border-radius:var(--r-sm);color:inherit;background:#ffffffb3;padding:0 8px}.item-card{border:1px solid #dbe1dc;border-radius:var(--r-lg);padding:var(--sp-3)}.item-head{display:grid;grid-template-columns:1fr 110px 44px;gap:var(--sp-2);align-items:center}.item-head input{min-width:0}@keyframes sheet-up{0%{transform:translateY(24px);opacity:.5}}@keyframes fade-in{0%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position-x:-140%}}@media(min-width:760px){.dashboard-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);align-items:start}.hero-card{min-height:320px;display:flex;flex-direction:column;justify-content:flex-end}.auth-layout{grid-template-columns:1.2fr .8fr;align-items:center}.auth-card{padding:var(--sp-7)}.group-list,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet{border-radius:30px;margin-bottom:var(--sp-6)}.sheet-layer{align-items:center;padding:var(--sp-6)}.sheet-wide{max-width:800px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid,.itinerary-overview,.report-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.place-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.mobile-device .page{width:calc(100% - 20px)}.mobile-device .page-heading{padding:var(--sp-5) 0 var(--sp-4)}.mobile-device .dashboard-grid{grid-template-columns:1fr;align-items:stretch}.mobile-device .hero-card{grid-row:auto;min-height:0;display:block}.mobile-device .auth-layout{grid-template-columns:1fr;align-items:stretch}.mobile-device .auth-card{padding:var(--sp-6)}.mobile-device .group-list,.mobile-device .form-grid,.mobile-device .settings-grid{grid-template-columns:1fr}.mobile-device .stat-grid,.mobile-device .itinerary-overview,.mobile-device .report-stats,.mobile-device .place-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-device .list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 108px}.mobile-device .list-toolbar input,.mobile-device .list-toolbar select{min-width:0}.mobile-device{--pad-card: 16px;--gap-card: 12px}.mobile-device .transaction-row{grid-template-columns:40px minmax(0,1fr) auto;gap:var(--sp-3);min-height:76px}.mobile-device .category-icon{width:40px;height:40px;border-radius:var(--r-md)}.mobile-device .transaction-main strong{font-size:var(--fs-base)}.mobile-device .transaction-main small{font-size:var(--fs-xs)}.mobile-device .transaction-amount{font-size:var(--fs-base)}.mobile-device .bottom-nav{width:calc(100% - 16px);grid-template-columns:1fr 1fr 1fr 54px 1fr 1fr 1fr;padding-inline:6px}.mobile-device .bottom-nav a{font-size:var(--fs-2xs)}.mobile-device .add-button{width:56px;height:56px}.mobile-device .sheet{width:100%;border-radius:30px 30px 0 0;margin-bottom:0}.mobile-device .sheet-layer{align-items:flex-end;padding:env(safe-area-inset-top) 0 0}.mobile-device .sheet-wide{max-width:none}@media(hover:none)and (pointer:coarse)and (max-width:1100px){:root{--pad-card: 16px;--gap-card: 12px}.page{width:calc(100% - 20px)}.page-heading{padding:var(--sp-5) 0 var(--sp-4)}.dashboard-grid,.auth-layout,.group-list,.form-grid,.settings-grid{grid-template-columns:1fr;align-items:stretch}.hero-card{grid-row:auto;min-height:0;display:block}.stat-grid,.itinerary-overview,.report-stats,.place-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card{padding:var(--pad-card)}.list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 108px}.list-toolbar input,.list-toolbar select{min-width:0}.transaction-row{grid-template-columns:40px minmax(0,1fr) auto;gap:var(--sp-3);min-height:76px}.category-icon{width:40px;height:40px;border-radius:var(--r-md)}.bottom-nav{width:calc(100% - 16px);grid-template-columns:1fr 1fr 1fr 54px 1fr 1fr 1fr;padding-inline:6px}.add-button{width:56px;height:56px}.sheet{width:100%;border-radius:30px 30px 0 0;margin-bottom:0}.sheet-layer{align-items:flex-end;padding:env(safe-area-inset-top) 0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.profile-card h2,.profile-card p{margin:0}.guest-account-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.guest-account-tabs,.travel-map-view-switch,.private-notes-view-switch{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-quiet)}.guest-account-tabs>.button,.travel-map-view-switch>button,.private-notes-view-switch>button{min-width:0;min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:8px var(--sp-3);border:0;border-radius:var(--r-xs);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:var(--lh-tight);white-space:nowrap;cursor:pointer}.travel-map-view-switch>button,.private-notes-view-switch>button{background:transparent;color:var(--muted)}.travel-map-view-switch>button.selected,.private-notes-view-switch>button.active{background:var(--moss-deep);color:#fff;box-shadow:0 4px 12px #172e282e}.dark .travel-map-view-switch>button.selected,.dark .private-notes-view-switch>button.active{background:var(--mint);color:var(--ink)}.guest-account-form{display:grid;gap:var(--sp-1)}.guest-account-form>.muted{margin-bottom:var(--sp-3)}.guest-account-notice{padding:var(--sp-4);border:1px solid rgba(139,111,60,.18);border-radius:var(--r-md);background:#faf3df}.guest-account-notice p{margin-top:var(--sp-2)}.guest-account-help{align-self:start}.guest-account-help ul{display:grid;gap:var(--sp-2);margin:0 0 var(--sp-5);padding-left:20px;color:var(--muted)}.dark .guest-account-notice{background:#ffffff0e}.profile-photo-card{display:grid;align-content:start;justify-items:center;gap:var(--sp-4);text-align:center}.profile-photo{position:relative}.profile-photo .avatar-lg{width:112px;height:112px;font-size:var(--fs-3xl);box-shadow:0 0 0 5px #285b4917}.profile-camera{position:absolute;right:-3px;bottom:2px;width:var(--tap);height:var(--tap);display:grid;place-items:center;border:4px solid #fff;border-radius:50%;background:#285b49;color:#fff;cursor:pointer}.dark .profile-camera{border-color:#152a24}.profile-card-heading{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5)}.profile-section-icon{width:42px;height:42px;display:grid;flex:0 0 auto;place-items:center;border-radius:var(--r-md);background:#eef0e8;color:#285b49}.profile-session-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;padding:var(--sp-3) 0}.profile-session-row strong,.profile-session-row small{display:block;min-width:0}.itinerary-page{padding-bottom:22px}.itinerary-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-5);padding:var(--sp-6) 0 var(--sp-5)}.itinerary-heading small{color:var(--muted);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em}.itinerary-heading h1{margin:var(--sp-1) 0;font-size:clamp(2rem,6vw,3.4rem);letter-spacing:-.055em}.itinerary-heading p{margin:0;color:var(--muted)}.itinerary-save-pill{flex:0 0 auto;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-pill);background:#e8f2ec;color:#2c684f;font-size:var(--fs-xs);font-weight:var(--fw-bold)}.itinerary-save-pill.pending{background:#fff0d5;color:#8a5a12}.itinerary-conflict{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid rgba(140,48,33,.2);border-radius:var(--r-md);background:var(--danger-surface);color:var(--danger-text);font-size:var(--fs-md);line-height:var(--lh-snug)}.itinerary-overview{margin-bottom:var(--sp-5)}.itinerary-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-5)}.itinerary-toolbar h2,.itinerary-toolbar p{margin:0}.itinerary-toolbar p{margin-top:var(--sp-1)}.itinerary-details-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.7fr);gap:var(--sp-4);margin-bottom:var(--sp-5)}.itinerary-admin-card{grid-row:span 2;padding:0;overflow:hidden}.itinerary-admin-card summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--pad-card);cursor:pointer;list-style:none}.itinerary-admin-card summary::-webkit-details-marker{display:none}.itinerary-admin-card summary span,.itinerary-admin-card summary small,.itinerary-admin-card summary strong{display:block}.itinerary-admin-card summary small,.itinerary-card-heading small{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.05em;text-transform:uppercase}.itinerary-admin-card summary strong{font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:-.02em}.itinerary-admin-fields,.itinerary-flight-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);padding:0 var(--pad-card) var(--pad-card)}.itinerary-admin-fields label,.itinerary-flight-fields label,.itinerary-stop label{display:grid;gap:var(--sp-2);min-width:0}.itinerary-flight-fields{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:17px;border-top:1px solid var(--line)}.itinerary-flight-fields h3{grid-column:1 / -1;display:flex;align-items:center;gap:var(--sp-2);margin:0;font-size:var(--fs-base)}.route-import-panel{margin:0 var(--pad-card) var(--pad-card);padding:var(--sp-5);border:1px solid rgba(52,115,93,.18);border-radius:var(--r-lg);background:linear-gradient(135deg,#dcece59e,#ffffffc2)}.route-import-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-3)}.route-import-heading>span{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--r-md);background:#285b49;color:#fff}.route-import-heading small,.route-import-heading h3,.route-import-heading p{display:block}.route-import-heading small{color:var(--accent-warm);font-size:var(--fs-2xs);font-weight:var(--fw-black);letter-spacing:.07em;text-transform:uppercase}.route-import-heading h3{margin:var(--sp-1) 0 0;font-size:1rem}.route-import-heading p{max-width:740px;margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-xs);line-height:1.5}.route-import-steps{margin:var(--sp-4) 0 var(--sp-3);padding:0;display:grid;gap:var(--sp-2);list-style:none}.route-import-steps>li{min-height:48px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:var(--sp-2)}.route-import-steps>li>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#e0ebe5;color:#285b49;font-size:var(--fs-2xs);font-weight:var(--fw-black)}.route-import-steps strong,.route-import-steps small{display:block}.route-import-steps strong{font-size:var(--fs-sm)}.route-import-steps small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs)}.route-import-steps .button{min-height:var(--tap)}.route-import-textarea{display:grid;gap:var(--sp-2)}.route-import-textarea textarea{min-height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--fs-sm)}.route-import-actions{margin-top:var(--sp-3);display:flex;flex-wrap:wrap;gap:var(--sp-2)}.route-import-preview{margin-top:var(--sp-3);padding:var(--sp-3);display:grid;gap:var(--sp-1);border:1px solid rgba(52,115,93,.18);border-radius:var(--r-sm);background:#ffffffb3;color:#40564d}.route-import-preview>strong{color:#285b49;font-size:var(--fs-sm)}.route-import-preview>span,.route-import-preview>small,.route-import-preview>em{font-size:var(--fs-2xs);line-height:1.4}.route-import-preview>em{margin-top:var(--sp-1);color:var(--accent-warm);font-style:normal;font-weight:var(--fw-semibold)}.route-import-preview ol{margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-1);list-style:none}.route-import-preview li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--sp-2);font-size:var(--fs-2xs)}.route-import-preview time{color:var(--accent-warm);font-weight:var(--fw-black)}.route-import-privacy{margin:var(--sp-3) 0 0;color:var(--muted);font-size:var(--fs-2xs);line-height:1.45}.dark .route-import-panel{border-color:#9ee0c326;background:linear-gradient(135deg,#285b4929,#ffffff08)}.dark .route-import-preview{border-color:var(--line);background:#10221dc2;color:var(--text)}.dark .route-import-preview>strong{color:#9ee0c3}.itinerary-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.itinerary-card-heading h2{margin:0}.itinerary-card-heading>span{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);background:#eef0e8;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.itinerary-flight-summary{display:grid;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3);border-radius:var(--r-md);background:#f1f4ef}.itinerary-flight-summary>div{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.itinerary-flight-summary>span,.itinerary-budget-lines>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-1) var(--sp-3)}.itinerary-flight-summary small,.itinerary-budget-lines small{color:var(--muted);font-size:var(--fs-2xs)}.itinerary-budget-lines{display:grid;gap:var(--sp-3)}.itinerary-budget-lines>span{color:var(--muted);font-size:var(--fs-sm)}.itinerary-budget-lines strong{color:#172e28}.itinerary-budget-lines small{grid-column:2}.itinerary-budget-total{display:flex;align-items:center;justify-content:space-between;margin-top:var(--sp-4);padding-top:14px;border-top:1px solid var(--line)}.itinerary-budget-total strong{font-size:var(--fs-2xl);color:#285b49}.itinerary-member-list{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.itinerary-member-list>span{display:inline-flex;align-items:center;gap:var(--sp-2);padding:5px 10px 5px 5px;border-radius:var(--r-pill);background:#f1f4ef;font-size:var(--fs-sm)}.itinerary-members-card p{margin:var(--sp-4) 0 0;font-size:var(--fs-xs)}.itinerary-status-legend{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-3) 0 var(--sp-4)}.itinerary-status-legend span,.itinerary-reservation{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);background:#f0f1ed;color:#64766f;font-size:var(--fs-2xs);font-weight:var(--fw-bold)}.itinerary-status-legend i{width:7px;height:7px;border-radius:50%;background:currentColor}.status-pending{color:#8b6f3c!important;background:#faf0d8!important}.status-available{color:#356b8a!important;background:#e6f2f8!important}.status-walkin{color:#6a5c86!important;background:#eeeaf7!important}.status-confirmed{color:#2b7353!important;background:#e1f1e8!important}.itinerary-mobile-tabs{display:none}.itinerary-board{display:grid;grid-template-columns:repeat(4,minmax(300px,1fr));gap:var(--sp-4);align-items:start;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}.itinerary-day{min-width:300px;padding:var(--sp-3);border:1px solid var(--line);border-top:4px solid var(--day-accent);border-radius:var(--r-lg);background:#f4f6f1cc;scroll-snap-align:start}.itinerary-day.stash{background:#f1eff5d1}.itinerary-day>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:var(--sp-2)}.itinerary-day>header>span{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--day-accent);color:#fff;font-weight:var(--fw-black)}.itinerary-day h3,.itinerary-day header p,.itinerary-day-subtitle{margin:0}.itinerary-day h3{font-size:var(--fs-base)}.itinerary-day header p,.itinerary-day-subtitle{color:var(--muted);font-size:var(--fs-2xs)}.itinerary-day-subtitle{margin:var(--sp-3) 0}.itinerary-stop-list{display:grid;gap:var(--sp-3)}.itinerary-stop{padding:var(--sp-3);border:1px solid var(--line);border-left:4px solid #899991;border-radius:var(--r-md);background:#fff;box-shadow:0 8px 22px #172e280f}.itinerary-stop.kind-wine{border-left-color:#9d5b67}.itinerary-stop.kind-food{border-left-color:#c48637}.itinerary-stop.kind-event{border-left-color:#6f6385}.itinerary-stop.kind-travel{border-left-color:#4d7990}.itinerary-stop-top{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.itinerary-stop-top .icon-button{margin-left:auto}.itinerary-kind{color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-black);letter-spacing:.04em;text-transform:uppercase}.itinerary-stop-title{border:0!important;background:transparent!important;padding:2px 0 7px!important;font-size:1rem;font-weight:var(--fw-black)}.itinerary-time-map{display:flex;align-items:end;gap:var(--sp-2)}.itinerary-time-map label{width:104px}.itinerary-time-map a{min-height:var(--tap);display:inline-flex;align-items:center;gap:var(--sp-1);margin-left:auto;padding:var(--sp-2) var(--sp-3);color:#285b49;font-size:var(--fs-xs);font-weight:var(--fw-bold);text-decoration:none}.itinerary-location,.itinerary-notes{display:grid;gap:var(--sp-2);margin-top:var(--sp-3)}.itinerary-notes textarea{min-height:96px;resize:vertical;font-size:var(--fs-sm)}.itinerary-stop-footer{display:grid;gap:var(--sp-2);margin-top:var(--sp-2);padding-top:9px;border-top:1px solid var(--line)}.itinerary-confirm{display:flex!important;grid-auto-flow:column;align-items:center;justify-content:start;color:var(--muted);font-size:var(--fs-xs)}.itinerary-move-controls{display:grid;grid-template-columns:var(--tap) var(--tap) minmax(0,1fr);gap:var(--sp-2)}.itinerary-move-controls select{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs)}.itinerary-empty-day{width:100%;min-height:88px;border:1px dashed #bdc8c2;border-radius:var(--r-md);background:transparent;color:var(--muted);cursor:pointer}.dark .profile-section-icon,.dark .itinerary-card-heading>span,.dark .itinerary-member-list>span,.dark .itinerary-flight-summary{background:#ffffff12}.dark .itinerary-stop{border-color:var(--line);background:var(--surface-solid);color:var(--text)}.dark .itinerary-stop-title{color:#edf6f1}.dark .itinerary-day{border-color:var(--line);background:#ffffff09}.dark .itinerary-budget-lines strong{color:#edf6f1}@media(max-width:900px){.planned-place-card,.finish-day-card{grid-template-columns:auto minmax(0,1fr)}.planned-place-card>.button,.finish-day-card>.button{grid-column:1 / -1;width:100%}.map-place-list>button{grid-template-columns:auto 68px minmax(0,1fr)}.memory-result-card{grid-template-columns:86px minmax(0,1fr)}.memory-result-card>svg{display:none}.profile-grid,.itinerary-details-grid{grid-template-columns:1fr}.itinerary-admin-card{grid-row:auto}.itinerary-admin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.profile-grid{grid-template-columns:1fr}.itinerary-heading,.itinerary-toolbar,.itinerary-conflict{align-items:flex-start;flex-direction:column}.itinerary-heading{padding-top:18px}.itinerary-toolbar .settings-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.itinerary-toolbar .button{justify-content:center}.itinerary-toolbar .settings-actions>.button:last-child:nth-child(odd){grid-column:1 / -1}.itinerary-admin-fields,.itinerary-flight-fields{grid-template-columns:1fr}.itinerary-mobile-tabs{display:flex;gap:var(--sp-1);overflow-x:auto;margin:0 0 var(--sp-3);padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-quiet)}.itinerary-mobile-tabs button{min-width:62px;min-height:var(--tap);flex:1 0 auto;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);border:0;border-radius:var(--r-xs);background:transparent;color:var(--muted);padding:8px var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:var(--lh-tight);cursor:pointer}.itinerary-mobile-tabs button.active{background:var(--moss-deep);color:#fff;box-shadow:0 4px 12px #172e282e}.dark .itinerary-mobile-tabs button.active{background:var(--mint);color:var(--ink)}.itinerary-mobile-tabs small{opacity:.72}.itinerary-board{display:block;overflow:visible}.itinerary-day{display:none;min-width:0}.itinerary-day.mobile-active{display:block}.bottom-nav a{font-size:var(--fs-2xs)}.bottom-nav a svg{width:19px}}@media print{.bottom-nav,.topbar,.itinerary-toolbar .settings-actions,.itinerary-admin-card,.itinerary-mobile-tabs,.itinerary-stop-top .icon-button,.itinerary-move-controls,.itinerary-empty-day{display:none!important}.app-shell,body{background:#fff!important}.page{width:100%;max-width:none;padding:0}.itinerary-board{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.itinerary-day{display:block!important;-moz-column-break-inside:avoid;break-inside:avoid}.itinerary-stop{box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid}.itinerary-stop input,.itinerary-stop textarea,.itinerary-stop select{border:0;padding-left:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}}.memories-page,.travel-map-page{padding-bottom:26px}.memories-heading{position:relative}.memories-heading h1{font-family:Georgia,Times New Roman,serif;font-weight:var(--fw-medium);letter-spacing:-.045em}.memories-alert{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.memories-alert button{width:var(--tap);height:var(--tap);display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.location-consent-card,.nearby-memory-card{margin-bottom:var(--sp-5);padding:clamp(18px,4vw,28px)}.location-consent-card{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-5);border:1px solid rgba(52,107,88,.16);background:linear-gradient(135deg,#f8f3e4,#ecf3ec)}.dark .location-consent-card{background:linear-gradient(135deg,#ab7c2e21,#4a927521)}.location-consent-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:var(--r-lg);background:#285b49;color:#fff}.location-consent-card small,.nearby-memory-card span,.memory-section-heading small,.report-intro small,.composer-place small,.place-detail-hero small{color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-black);letter-spacing:.12em;text-transform:uppercase}.location-consent-card h2{margin:0 0 var(--sp-2);font-size:var(--fs-2xl)}.location-consent-card p{max-width:720px;color:var(--muted);line-height:1.55}.nearby-memory-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);border:1px solid rgba(237,121,95,.28);background:linear-gradient(115deg,#ed795f21,#f3c56226)}.nearby-memory-card h2{margin:var(--sp-1) 0;font-size:var(--fs-2xl)}.nearby-memory-card p{margin:0;color:var(--muted)}.memory-search{min-height:62px;margin:var(--sp-3) 0 var(--sp-6);padding:7px 8px 7px 18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-xl);background:#ffffffbd;box-shadow:0 12px 30px #172e2812}.dark .memory-search{border-color:var(--line);background:#ffffff0e}.memory-search>svg{color:#7a8a83}.memory-search input{min-width:0;min-height:var(--tap);border:0;outline:0;background:transparent;color:inherit}.memory-search:focus-within{outline:3px solid rgba(237,121,95,.55);outline-offset:2px}.dark .memory-search:focus-within{outline-color:#f3c562b3}.memory-search-results,.travel-timeline,.planned-memory-places{margin:var(--sp-7) 0}.memory-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4)}.memory-section-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.375rem,4vw,1.75rem);font-weight:var(--fw-medium)}.memory-section-heading>span{color:var(--muted);font-size:var(--fs-md)}.memory-result-list{display:grid;gap:var(--sp-3)}.memory-result-card{width:100%;min-height:108px;padding:var(--sp-3);display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:#ffffffad;color:inherit;text-align:left;cursor:pointer}.dark .memory-result-card{border-color:var(--line);background:#ffffff0d}.memory-result-card>img,.memory-result-card>span{width:86px;height:86px;display:grid;place-items:center;-o-object-fit:cover;object-fit:cover;border-radius:var(--r-md);background:#e7e9de;font-size:var(--fs-3xl)}.memory-result-card strong,.memory-result-card small,.memory-result-card em{display:block}.memory-result-card small{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase}.memory-result-card strong{margin:var(--sp-1) 0;font-size:var(--fs-lg)}.memory-result-card p{margin:0 0 var(--sp-1);color:var(--muted);line-height:1.4}.memory-result-card em{color:#346b58;font-size:var(--fs-sm);font-style:normal;font-weight:var(--fw-bold)}.memory-day{display:grid;grid-template-columns:minmax(110px,.22fr) minmax(0,1fr);gap:var(--sp-5);margin:0 0 var(--sp-6)}.memory-day>h3{padding-top:17px;color:var(--muted);font-size:var(--fs-md);text-transform:capitalize}.memory-day-line{position:relative;display:grid;gap:var(--sp-3)}.memory-day-line:before{content:"";position:absolute;left:45px;top:20px;bottom:20px;width:2px;border-radius:2px;background:#d9ded7}.dark .memory-day-line:before{background:#ffffff1c}.timeline-place{position:relative;z-index:1;width:100%;min-height:122px;padding:10px 14px 10px 0;display:grid;grid-template-columns:35px 22px 108px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-xl);background:#ffffffb3;color:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.timeline-place:hover{transform:translateY(-2px);box-shadow:0 13px 28px #172e281a}.dark .timeline-place{border-color:var(--line);background:#ffffff0d}.timeline-time{padding-left:8px;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.timeline-dot{width:25px;height:25px;display:grid;place-items:center;border:3px solid #f4f3ee;border-radius:50%;background:#dfe8df;font-size:var(--fs-xs)}.dark .timeline-dot{border-color:#10221d;background:#25463a}.timeline-photo,.timeline-photo img{width:108px;height:98px;border-radius:var(--r-md)}.timeline-photo{display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#ece8d9,#dfe9df)}.timeline-photo img{-o-object-fit:cover;object-fit:cover}.timeline-photo i{font-size:2rem;font-style:normal}.timeline-copy strong,.timeline-copy small,.timeline-copy em{display:block}.timeline-copy strong{margin-bottom:var(--sp-1);font-size:var(--fs-lg)}.timeline-copy small{max-width:620px;color:#5e7169;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.timeline-copy em{margin-top:var(--sp-2);color:#a36e23;font-size:var(--fs-xs);font-style:normal;font-weight:var(--fw-bold)}.planned-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.planned-place-card{padding:var(--sp-4);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-3)}.planned-place-card>span{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--r-md);background:#eceee5;font-size:var(--fs-2xl)}.dark .planned-place-card>span{background:#ffffff14}.planned-place-visual{overflow:hidden}.planned-place-visual img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.planned-place-card small,.planned-place-card strong,.planned-place-card p{display:block}.planned-place-card small{color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-black);text-transform:uppercase}.planned-place-card strong{margin:var(--sp-1) 0}.planned-place-card p{margin:0;color:var(--muted);font-size:var(--fs-sm)}.trip-memory-report{margin:var(--sp-7) 0 var(--sp-4);padding:clamp(20px,5vw,38px);overflow:hidden;background:radial-gradient(circle at 95% 0,rgba(243,197,98,.33),transparent 22rem),linear-gradient(135deg,#f4ead7,#e6efe6)}.dark .trip-memory-report{background:radial-gradient(circle at 95% 0,rgba(243,197,98,.14),transparent 22rem),linear-gradient(135deg,#2b372d,#1c3d32)}.report-intro{display:flex;align-items:center;gap:var(--sp-4)}.report-intro>span{width:52px;height:52px;display:grid;place-items:center;border-radius:var(--r-lg);background:#ed795f;color:#fff}.report-intro h2{margin:var(--sp-1) 0;font-family:Georgia,Times New Roman,serif;font-size:var(--fs-3xl)}.report-intro p{margin:0;color:var(--muted)}.report-stats,.place-detail-stats{margin:var(--sp-6) 0}.report-stats span,.place-detail-stats span{border-radius:var(--r-md);background:#ffffff85}.dark .report-stats span,.dark .place-detail-stats span{background:#ffffff0f}.generated-trip-story{margin-top:var(--sp-5);padding-top:22px;border-top:1px solid var(--line-strong)}.generated-trip-story h3{font-family:Georgia,Times New Roman,serif;font-size:var(--fs-2xl)}.generated-trip-story p,.generated-trip-story li{line-height:1.6}.finish-day-card{padding:var(--sp-5);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-4)}.finish-day-card>svg{color:#755d9a}.finish-day-card p{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-md)}.memory-composer{max-width:620px;margin:auto}.composer-place{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5)}.composer-place>span{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--r-lg);background:#eef0e7;font-size:var(--fs-3xl)}.dark .composer-place>span{background:#ffffff14}.composer-place h2,.composer-place p{margin:var(--sp-1) 0}.composer-place p{color:var(--muted);font-size:var(--fs-sm)}.memory-photo-picker{width:100%;min-height:130px;margin-bottom:var(--sp-5);padding:var(--sp-5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);border:1.5px dashed #aab9b1;border-radius:var(--r-xl);background:#dcece559;color:inherit;cursor:pointer}.memory-photo-picker svg{width:30px;height:30px;color:#346b58}.memory-photo-picker small{color:var(--muted)}.memory-photo-picker.has-photo{border-style:solid;border-color:#7db19c;background:#76b79a1f}.memory-photo-picker em{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs);font-style:normal}.memory-photo-picker.has-photo{position:relative;min-height:190px;padding:0;overflow:hidden;border-style:solid}.memory-photo-preview{width:100%;height:190px;-o-object-fit:cover;object-fit:cover}.memory-photo-selected{position:absolute;inset:auto 10px 10px;padding:var(--sp-2) var(--sp-3);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--sp-1) var(--sp-2);border-radius:var(--r-md);background:#0c1f19d6;color:#fff;text-align:left;backdrop-filter:blur(9px)}.memory-photo-selected svg{grid-row:1 / 3;width:22px;height:22px;color:#bde8d5}.memory-photo-selected small{overflow:hidden;color:#ffffffbf;text-overflow:ellipsis;white-space:nowrap}.memory-question .field-label{color:inherit;font-size:var(--fs-base)}.reaction-picker{margin:0 0 var(--sp-5);padding:0;border:0}.reaction-picker legend{margin-bottom:var(--sp-3);font-weight:var(--fw-semibold)}.reaction-picker legend small{color:var(--muted);font-weight:var(--fw-medium)}.reaction-picker>div{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-2)}.reaction-picker button{min-width:0;min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);border:1px solid #d9ded9;border-radius:var(--r-md);background:transparent;color:inherit;cursor:pointer}.dark .reaction-picker button{border-color:var(--line-strong)}.reaction-picker button.selected{border-color:#ed795f;background:#ed795f21;box-shadow:0 0 0 2px #ed795f24}.reaction-picker button span{font-size:var(--fs-2xl)}.reaction-picker button small{max-width:100%;overflow:hidden;font-size:var(--fs-2xs);text-overflow:ellipsis;white-space:nowrap}.composer-privacy{margin:var(--sp-3) 0 0;color:var(--muted);font-size:var(--fs-xs);text-align:center}.place-memory-detail{display:grid;gap:var(--sp-6)}.place-detail-hero{position:relative;min-height:260px;padding:var(--sp-7);display:flex;align-items:flex-end;overflow:hidden;border-radius:var(--r-xl);background:linear-gradient(135deg,#e8e4d3,#cadfce)}.place-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.place-detail-hero>span{position:absolute;inset:0;display:grid;place-items:center;font-size:5rem;opacity:.72}.place-detail-hero>div{position:relative;z-index:1;max-width:85%}.place-detail-hero.has-image:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#040f0bd1)}.place-detail-hero.has-image>div{color:#fff}.place-detail-hero h2{margin:var(--sp-1) 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,6vw,2.5rem)}.place-detail-hero p{margin:0}.place-meta-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-3)}.place-meta-row span,.place-meta-row a{display:inline-flex;align-items:center;gap:var(--sp-2);color:#687b72;font-size:var(--fs-sm);text-decoration:none}.place-meta-row svg{width:16px}.place-story>p{padding:var(--pad-card);border-left:3px solid #e7a458;border-radius:0 17px 17px 0;background:#f3c5621a;font-family:Georgia,Times New Roman,serif;font-size:var(--fs-lg);line-height:1.65}.traveler-memory-list{display:grid;gap:var(--sp-3)}.traveler-memory{padding:var(--sp-5)}.traveler-memory-head{display:flex;align-items:center;gap:var(--sp-3)}.traveler-memory-head>div{flex:1}.traveler-memory-head strong,.traveler-memory-head small{display:block}.traveler-memory-head small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-xs)}.traveler-memory p{margin:var(--sp-3) 0 0;line-height:1.5}.traveler-memory .memory-highlight{font-family:Georgia,Times New Roman,serif;font-size:var(--fs-lg)}.memory-photo-strip{margin-top:var(--sp-4);display:flex;gap:var(--sp-2);overflow-x:auto}.memory-photo-strip img{width:112px;height:90px;-o-object-fit:cover;object-fit:cover;border-radius:var(--r-sm)}.place-expenses{padding-top:8px}.place-expense-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.place-expense-row>svg{color:var(--muted)}.place-expense-row span strong,.place-expense-row span small{display:block;min-width:0}.expense-suggestions{margin-top:var(--sp-5);padding:var(--sp-4);border-radius:var(--r-lg);background:#f3c5621f}.expense-suggestions>small{display:block;margin-bottom:var(--sp-2);color:var(--accent-warm);font-weight:var(--fw-bold)}.expense-suggestions>div{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) 0}.place-detail-stats{margin:0}.profile-toggle-row{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-2) 0;border-bottom:1px solid var(--line);cursor:pointer}.profile-toggle-row:last-of-type{border-bottom:0}.profile-toggle-row>span{min-width:0}.profile-toggle-row span strong,.profile-toggle-row span small{display:block;min-width:0}.profile-toggle-row span strong{font-size:var(--fs-base);font-weight:var(--fw-bold);line-height:var(--lh-snug)}.profile-toggle-row span small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-xs);line-height:var(--lh-snug)}.profile-toggle-danger{margin-bottom:var(--sp-4);color:#8f4c3f}.itinerary-checkin-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin:var(--sp-2) 0}.itinerary-location-settings{flex:1;max-width:360px}.itinerary-location-settings summary{padding:var(--sp-3) 0;color:#687c73;font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-align:right;cursor:pointer}.itinerary-location-settings>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.itinerary-location-settings input{margin-top:var(--sp-1)}.itinerary-location-settings>small{margin-top:var(--sp-2);line-height:1.35;text-align:right}.travel-map-canvas{position:relative;height:min(62vw,590px);min-height:410px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 20% 20%,rgba(166,194,157,.36),transparent 24%),radial-gradient(circle at 78% 62%,rgba(219,194,138,.35),transparent 25%),#e6eadf}.dark .travel-map-canvas{background:radial-gradient(circle at 20% 20%,rgba(77,124,90,.28),transparent 24%),radial-gradient(circle at 78% 62%,rgba(141,109,54,.22),transparent 25%),#20352c}.travel-map-canvas:before,.travel-map-canvas:after{content:"";position:absolute;border:2px solid rgba(85,116,98,.12);border-radius:48% 52% 64% 36%;transform:rotate(-12deg)}.travel-map-canvas:before{inset:8% 18% 22% 5%}.travel-map-canvas:after{inset:32% 4% 5% 34%;transform:rotate(18deg)}.travel-map-canvas>svg{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}.travel-map-canvas polyline{stroke:#ed795f;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:6 6;opacity:.8}.map-memory-pin{position:absolute;z-index:3;width:58px;height:58px;padding:3px;border:3px solid white;border-radius:50% 50% 50% 15%;background:#285b49;color:#fff;box-shadow:0 8px 18px #172e283d;transform:translate(-50%,-50%) rotate(-45deg);cursor:pointer}.map-memory-pin img,.map-memory-pin>svg{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;transform:rotate(45deg)}.map-memory-pin>span{position:absolute;z-index:2;right:-5px;top:-7px;width:22px;height:22px;display:grid;place-items:center;border:2px solid white;border-radius:50%;background:#ed795f;color:#fff;font-size:var(--fs-2xs);font-weight:var(--fw-black);transform:rotate(45deg)}.map-caption{position:absolute;z-index:4;left:14px;bottom:14px;padding:var(--sp-2) var(--sp-3);display:inline-flex;align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);background:#ffffffd1;color:var(--muted);font-size:var(--fs-xs);backdrop-filter:blur(8px)}.map-place-list{margin-top:var(--sp-4);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.map-place-list>button{min-height:90px;padding:var(--sp-3);display:grid;grid-template-columns:auto 68px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);background:#ffffffab;color:inherit;text-align:left;cursor:pointer}.dark .map-place-list>button{border-color:var(--line);background:#ffffff0d}.map-place-number{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#ed795f;color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-black)}.map-place-list img,.map-place-placeholder{width:68px;height:68px;-o-object-fit:cover;object-fit:cover;border-radius:var(--r-md)}.map-place-placeholder{display:grid;place-items:center;background:#e5e9df;color:var(--muted)}.map-place-list strong,.map-place-list small,.map-place-list em{display:block}.map-place-list small{margin-top:var(--sp-1);overflow:hidden;color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.map-place-list em{margin-top:var(--sp-2);color:var(--accent-warm);font-size:var(--fs-2xs);font-style:normal;font-weight:var(--fw-bold)}.travel-map-view-switch{width:-moz-fit-content;width:fit-content;margin:var(--sp-2) auto var(--sp-5)}.ebike-map-heading{position:relative;padding-bottom:14px}.ebike-map-heading h1{max-width:760px}.ebike-map-heading p{max-width:760px;margin:var(--sp-2) 0 0;color:var(--muted);line-height:1.55}.ebike-day-chip{width:-moz-fit-content;width:fit-content;min-height:40px;margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-3);display:inline-flex;align-items:center;gap:var(--sp-2);border-radius:var(--r-pill);background:#dcece5;color:#285b49;font-size:var(--fs-sm);font-weight:var(--fw-black)}.ebike-day-chip small{padding-left:8px;border-left:1px solid currentColor;font-size:var(--fs-2xs);font-weight:var(--fw-bold);opacity:.7}.dark .ebike-day-chip{background:#9ee0c31f;color:#9ee0c3}.ebike-philosophy-card{padding:var(--sp-5) var(--pad-card);display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-4);border-color:#cd972a33;background:linear-gradient(120deg,#f3c56233,#ffffffbd)}.ebike-philosophy-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--r-md);background:#f3c562;color:#53400f}.ebike-philosophy-card strong,.ebike-philosophy-card p{display:block}.ebike-philosophy-card p{max-width:800px;margin:var(--sp-1) 0 0;color:var(--muted);line-height:1.5}.dark .ebike-philosophy-card{background:linear-gradient(120deg,#f3c5621a,#ffffff0a)}.ebike-map-toolbar{margin:var(--sp-4) 0 var(--sp-3);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.ebike-filter-chips{display:flex;gap:var(--sp-2);overflow-x:auto;scrollbar-width:none}.ebike-filter-chips::-webkit-scrollbar{display:none}.ebike-filter-chips button{min-height:var(--tap);padding:var(--sp-2) var(--sp-4);flex:0 0 auto;border:1px solid var(--line);border-radius:var(--r-pill);background:#ffffffad;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer}.ebike-filter-chips button.selected{border-color:#285b49;background:#285b49;color:#fff}.dark .ebike-filter-chips button{border-color:var(--line);background:#ffffff0d;color:var(--muted)}.dark .ebike-filter-chips button.selected{border-color:#9ee0c3;background:#9ee0c3;color:#16362b}.ebike-recommended-toggle{min-height:var(--tap);display:inline-flex;align-items:center;gap:var(--sp-2);flex:0 0 auto;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);cursor:pointer}.ebike-recommended-toggle input{position:absolute;opacity:0;pointer-events:none}.ebike-recommended-toggle>span{position:relative;width:42px;height:24px;border-radius:var(--r-pill);background:#cdd7d1;transition:background .18s ease}.ebike-recommended-toggle>span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #172e2833;transition:transform .18s ease}.ebike-recommended-toggle input:checked+span{background:#34735d}.ebike-recommended-toggle input:checked+span:after{transform:translate(18px)}.ebike-recommended-toggle input:focus-visible+span{outline:3px solid rgba(237,121,95,.42);outline-offset:2px}.ebike-map-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);align-items:start;gap:var(--sp-4)}.ebike-map-canvas{position:relative;height:610px;overflow:hidden;isolation:isolate;border:1px solid var(--line);background:radial-gradient(circle at 72% 44%,rgba(243,197,98,.25),transparent 27%),radial-gradient(circle at 30% 70%,rgba(91,151,112,.28),transparent 28%),linear-gradient(145deg,#edf0e7,#e1e8dc)}.ebike-map-canvas:before,.ebike-map-canvas:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(56,103,78,.15);border-radius:48% 52% 62% 38%;pointer-events:none}.ebike-map-canvas:before{inset:9% 12% 31% 3%;transform:rotate(-8deg)}.ebike-map-canvas:after{inset:38% 2% 8% 27%;transform:rotate(15deg)}.dark .ebike-map-canvas{border-color:var(--line);background:radial-gradient(circle at 72% 44%,rgba(243,197,98,.12),transparent 27%),radial-gradient(circle at 30% 70%,rgba(91,151,112,.18),transparent 28%),linear-gradient(145deg,#1c3229,#182b24)}.ebike-leaflet-shell{isolation:isolate;background:#e1e8dc}.ebike-leaflet-map{width:100%;height:100%;background:radial-gradient(circle at 30% 70%,rgba(91,151,112,.25),transparent 30%),#e7ebe2;font-family:inherit}.dark .ebike-leaflet-map{background:#1c3229;filter:saturate(.82) brightness(.82) contrast(1.05)}.ebike-leaflet-map .leaflet-control-zoom{margin-top:var(--sp-4);margin-right:14px;overflow:hidden;border:0;border-radius:var(--r-md);box-shadow:0 7px 18px #172e2833}.ebike-leaflet-map .leaflet-control-zoom a{width:var(--tap);height:var(--tap);display:grid;place-items:center;border:0;border-bottom:1px solid var(--line);background:#fffffff0;color:#285b49;font-size:var(--fs-xl);font-weight:var(--fw-black);line-height:1}.ebike-leaflet-map .leaflet-control-zoom a:hover{background:#fff;color:#172e28}.ebike-leaflet-map .leaflet-control-attribution{padding:3px 6px;border-radius:8px 0 0;background:#fffc;color:var(--muted);font-size:var(--fs-2xs);backdrop-filter:blur(7px)}.ebike-leaflet-map .leaflet-control-attribution a{color:#285b49}.spartito-leaflet-marker-host{border:0;background:transparent}.spartito-leaflet-marker{position:relative;width:44px;height:44px;display:grid;place-items:center;border:3px solid rgba(255,255,255,.98);border-radius:16px 16px 16px 5px;background:#34735d;color:#fff;box-shadow:0 8px 18px #172e2842;transform:rotate(-45deg)}.spartito-leaflet-marker>span{font-size:1rem;line-height:1;transform:rotate(45deg)}.spartito-leaflet-marker.category-food,.spartito-leaflet-marker.category-winery{background:#b87828}.spartito-leaflet-marker.category-backup{background:#ed795f}.spartito-leaflet-marker.must-see{border-color:#f3c562;box-shadow:0 0 0 4px #f3c5624d,0 8px 18px #172e2847}.spartito-leaflet-marker.active-stop>b{position:absolute;right:-8px;top:-8px;width:21px;height:21px;display:grid;place-items:center;border:2px solid white;border-radius:50%;background:#285b49;color:#fff;font-size:var(--fs-2xs);transform:rotate(45deg)}.spartito-leaflet-marker.route-on-route{box-shadow:0 0 0 4px #34735d47,0 8px 18px #172e2847}.spartito-leaflet-marker.route-detour{border-color:#f3c562}.spartito-leaflet-marker.route-off-route{filter:saturate(.55);opacity:.72}.spartito-route-order-marker-host{border:0;background:transparent}.spartito-route-order-marker{width:30px;height:30px;display:grid;place-items:center;border:3px solid white;border-radius:50%;background:#ed795f;color:#fff;box-shadow:0 0 0 2px #5c30252e,0 5px 12px #2f282447;font-size:var(--fs-xs);font-weight:var(--fw-black)}.spartito-route-order-marker.off-route{background:var(--muted);opacity:.88}.ebike-leaflet-map .leaflet-tooltip{padding:var(--sp-2) var(--sp-2);border:1px solid var(--line);border-radius:var(--r-xs);background:#fffffff0;color:#172e28;box-shadow:0 6px 16px #172e2826;font-family:inherit;font-size:var(--fs-xs);font-weight:var(--fw-black)}.ebike-leaflet-map .leaflet-tooltip-top:before{border-top-color:#fffffff0}.ebike-terrain{position:absolute;z-index:-1;width:52%;height:42%;border:16px double rgba(52,115,93,.06);border-radius:46% 54% 38% 62%;pointer-events:none}.ebike-terrain.terrain-a{left:-8%;top:18%;transform:rotate(24deg)}.ebike-terrain.terrain-b{right:-9%;bottom:5%;transform:rotate(-17deg)}.ebike-tasting-zone{position:absolute;z-index:0;left:var(--zone-left);top:var(--zone-top);width:calc(var(--zone-right) - var(--zone-left));height:calc(var(--zone-bottom) - var(--zone-top));border:2px dashed rgba(165,107,29,.46);border-radius:32px 48px 28px 44px;background:#f3c5621a;pointer-events:none}.ebike-tasting-zone>span{position:absolute;top:-14px;left:14px;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);background:#fff7e4;color:var(--accent-warm);font-size:var(--fs-2xs);font-weight:var(--fw-black);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.dark .ebike-tasting-zone>span{background:#293b31;color:#f3c562}.ebike-map-segments{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.ebike-map-segments line{vector-effect:non-scaling-stroke;stroke-linecap:round}.ebike-map-segments text{paint-order:stroke;stroke:#f4f3eeeb;stroke-width:3px;stroke-linejoin:round;fill:#285b49;font-size:2.2px;font-weight:var(--fw-black);text-anchor:middle}.dark .ebike-map-segments text{stroke:#10221deb;fill:#d8ebdf}.segment-detour line{stroke:#34735d;stroke-width:3px;stroke-dasharray:6 5}.segment-scenicHighlight line{stroke:#d29a27;stroke-width:6px;filter:drop-shadow(0 3px 4px rgba(119,78,12,.24))}.ebike-map-pin{position:absolute;z-index:3;width:46px;height:46px;padding:0;display:grid;place-items:center;border:3px solid rgba(255,255,255,.96);border-radius:17px 17px 17px 5px;background:#34735d;color:#fff;box-shadow:0 8px 18px #172e2838;transform:translate(-50%,-50%) rotate(-45deg);cursor:pointer}.ebike-map-pin:hover,.ebike-map-pin:focus-visible{z-index:6;transform:translate(-50%,-54%) rotate(-45deg) scale(1.06)}.ebike-pin-symbol{display:grid;place-items:center;transform:rotate(45deg)}.ebike-map-pin.category-food,.ebike-map-pin.category-winery{background:#b87828}.ebike-map-pin.category-backup{background:#ed795f}.ebike-map-pin.category-viewpoint{background:#285b49}.ebike-map-pin.must-see{border-color:#f3c562;box-shadow:0 0 0 4px #f3c56240,0 10px 20px #172e2840}.ebike-pin-label{position:absolute;left:35px;top:37px;max-width:145px;padding:var(--sp-1) var(--sp-2);overflow:hidden;border:1px solid var(--line);border-radius:var(--r-xs);background:#ffffffe6;color:#172e28;box-shadow:0 4px 12px #172e281f;font-size:var(--fs-2xs);font-weight:var(--fw-black);line-height:1.2;text-overflow:ellipsis;white-space:nowrap;transform:rotate(45deg);pointer-events:none}.dark .ebike-map-pin{border-color:#dfece6}.dark .ebike-pin-label{border-color:var(--line);background:#10221de6;color:#edf6f1}.ebike-user-position{position:absolute;z-index:8;width:26px;height:26px;display:grid;place-items:center;border:3px solid white;border-radius:50%;background:#397dab;color:#fff;box-shadow:0 0 0 7px #397dab2e;transform:translate(-50%,-50%)}.ebike-user-position svg{width:15px}.ebike-locate-button{position:absolute;z-index:8;top:14px;left:14px;min-height:var(--tap);background:#ffffffe6;backdrop-filter:blur(9px)}.dark .ebike-locate-button{background:#10221de0}.ebike-map-caption{position:relative;z-index:1;width:100%;min-height:46px;margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);display:flex;align-items:center;gap:var(--sp-2);border-radius:var(--r-md);border:1px solid var(--line);background:#ffffffab;color:var(--muted);font-size:var(--fs-2xs);line-height:1.4}.ebike-map-caption svg{flex:0 0 auto;color:#285b49}.dark .ebike-map-caption{background:#10221de0;color:var(--muted)}.ebike-location-message{margin-top:var(--sp-2);color:var(--muted);font-size:var(--fs-xs)}.ebike-map-legend{padding:var(--sp-3) 0 0;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-semibold)}.ebike-map-legend span{display:inline-flex;align-items:center;gap:var(--sp-1)}.ebike-map-legend svg{width:14px;color:#34735d}.ebike-map-legend .route-status-on{color:var(--moss-deep)}.ebike-map-legend .route-status-detour{color:var(--accent-warm)}.ebike-map-legend .route-status-off{color:var(--muted)}.ebike-route-panel{position:sticky;top:12px;padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-xl);background:#ffffffb0;box-shadow:0 14px 32px #172e280f}.dark .ebike-route-panel{border-color:var(--line);background:#ffffff0a}.ebike-route-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.ebike-route-heading small{color:var(--accent-warm);font-size:var(--fs-2xs);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase}.ebike-route-heading h2{margin:0;font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:-.02em}.ebike-route-heading>svg{color:#34735d}.ebike-route-day-select{min-height:45px;margin-top:var(--sp-4);padding:0 var(--sp-3);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:#ffffffb8;color:#285b49}.ebike-route-day-select select{width:100%;min-width:0;min-height:var(--tap);border:0;background:transparent;color:inherit;font-size:var(--fs-base);font-weight:var(--fw-bold);line-height:var(--lh-tight)}.ebike-route-help{margin:var(--sp-3) 0;color:var(--muted);font-size:var(--fs-2xs);line-height:1.45}.ebike-editable-route{max-height:min(47vh,430px);padding-right:3px;display:grid;gap:var(--sp-2);overflow-y:auto;scrollbar-width:thin}.ebike-route-stop{padding:var(--sp-3);display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:#ffffff9e}.ebike-route-stop[draggable=true]{cursor:grab}.ebike-route-stop[draggable=true]:active{cursor:grabbing}.ebike-route-stop.is-fixed{border-color:#b878283d;background:#fff7e4bd}.ebike-route-stop.excluded{opacity:.7}.ebike-route-stop.excluded .ebike-route-stop-number{background:var(--muted)}.ebike-route-stop-number{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#ed795f;color:#fff;font-size:var(--fs-2xs);font-weight:var(--fw-black)}.ebike-route-stop-main{min-width:0;padding:var(--sp-1) 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ebike-route-stop-main:disabled{cursor:default}.ebike-route-stop-main strong,.ebike-route-stop-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ebike-route-stop-main strong{font-size:var(--fs-sm)}.ebike-route-stop-main small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs)}.ebike-route-stop-actions{grid-column:2;display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-1)}.ebike-route-stop-actions>svg{width:16px;margin-right:auto;color:var(--muted)}.ebike-route-move-day{grid-column:2;font-size:var(--fs-sm)}.ebike-route-empty{min-height:160px;padding:var(--sp-5);display:grid;place-items:center;align-content:center;gap:var(--sp-2);border:1px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--muted);text-align:center}.ebike-route-empty svg{color:var(--moss)}.ebike-route-empty strong{color:var(--text);font-size:var(--fs-base)}.ebike-route-empty span{max-width:34ch;font-size:var(--fs-sm);line-height:var(--lh-snug)}.ebike-add-route-stop{width:100%;min-height:var(--tap);margin-top:var(--sp-3)}.route-assistant{margin-top:var(--sp-3);overflow:hidden;border:1px solid rgba(52,115,93,.18);border-radius:var(--r-lg);background:#eff7f2b8}.route-assistant>summary{min-height:58px;padding:var(--sp-3);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);color:#285b49;cursor:pointer;list-style:none}.route-assistant>summary::-webkit-details-marker{display:none}.route-assistant>summary>span{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs)}.route-assistant>summary>small{color:#71847b;font-size:var(--fs-2xs)}.route-assistant-body{padding:0 var(--sp-3) var(--sp-3);display:grid;gap:var(--sp-3)}.route-assistant-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.route-assistant-settings label:not(.route-assistant-check){display:grid;gap:var(--sp-1)}.route-assistant-settings label>span{color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-bold)}.route-assistant-settings select{font-size:var(--fs-sm)}.route-assistant-check{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-semibold)}.route-assistant-block{padding:var(--sp-3);display:grid;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:#ffffffa3}.route-assistant-block-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.route-assistant-block-heading>span{display:inline-flex;align-items:center;gap:var(--sp-2);color:#2f6351;font-size:var(--fs-2xs)}.route-assistant-block-heading>small{color:var(--muted);font-size:var(--fs-2xs);text-align:right}.route-assistant-block textarea{min-height:96px;font-size:var(--fs-sm)}.route-assistant-inline-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.route-assistant-inline-actions .button,.route-assistant-optimize .button{padding-inline:var(--sp-3);font-size:var(--fs-sm)}.route-assistant-note{margin:0;color:var(--muted);font-size:var(--fs-2xs);line-height:1.45}.route-assistant-preview{padding:var(--sp-3);display:grid;gap:var(--sp-2);border:1px solid rgba(184,120,40,.22);border-radius:var(--r-sm);background:#fff7e4c7}.route-assistant-preview>strong{color:#704b19;font-size:var(--fs-xs)}.route-assistant-preview>span,.route-assistant-preview>small,.route-assistant-preview>em{color:var(--muted);font-size:var(--fs-2xs);line-height:1.4}.route-assistant-preview ol{max-height:210px;margin:0;padding:0;display:grid;gap:var(--sp-1);overflow-y:auto;list-style:none}.route-assistant-preview li{min-height:34px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);border-bottom:1px solid rgba(112,75,25,.08);font-size:var(--fs-2xs)}.route-assistant-preview li b{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#b87828;color:#fff;font-size:var(--fs-2xs)}.route-assistant-preview li small{max-width:96px;overflow:hidden;color:var(--muted);font-size:var(--fs-2xs);text-overflow:ellipsis;white-space:nowrap}.route-assistant-preview .button{justify-self:start;font-size:var(--fs-sm)}.dark .route-assistant{border-color:#6baa8f2e;background:#28493d47}.dark .route-assistant-block{border-color:var(--line);background:#ffffff0b;color:var(--text)}.dark .route-assistant-preview,.dark .ebike-route-stop.is-fixed{border-color:#f3c5622e;background:#79531a2e}.dark .route-assistant-preview>strong{color:#f3c562}.ebike-suggested-route{margin-top:var(--sp-3);padding-top:12px;border-top:1px solid var(--line)}.ebike-suggested-route>summary{color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-black);cursor:pointer}.ebike-suggested-route[open]>summary{color:#285b49}.dark .ebike-route-day-select,.dark .ebike-route-stop{border-color:var(--line);background:#ffffff0b;color:var(--text)}.ebike-route-timeline{position:relative;margin-top:var(--sp-4)}.ebike-route-timeline:before{content:"";position:absolute;left:20px;top:24px;bottom:24px;width:2px;background:linear-gradient(#34735d,#f3c562,#ed795f)}.ebike-route-timeline button{position:relative;width:100%;min-height:72px;padding:var(--sp-2) 0;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ebike-route-timeline button:hover strong{color:#285b49}.ebike-timeline-icon{position:relative;z-index:1;width:42px;height:42px;display:grid;place-items:center;border:5px solid rgba(255,255,255,.96);border-radius:50%;background:#e4eee8;font-size:1rem}.dark .ebike-timeline-icon{border-color:#172d26;background:#29483c}.ebike-route-timeline small,.ebike-route-timeline strong,.ebike-route-timeline em{display:block}.ebike-route-timeline small{color:var(--accent-warm);font-size:var(--fs-2xs);font-weight:var(--fw-black);letter-spacing:.045em;text-transform:uppercase}.ebike-route-timeline strong{margin-top:var(--sp-1);font-size:var(--fs-md)}.ebike-route-timeline em{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs);font-style:normal;line-height:1.35}.ebike-route-timeline button>svg{width:15px;color:var(--muted)}.ebike-point-detail{padding-bottom:8px}.ebike-detail-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:var(--r-lg);background:#dcece5;color:#285b49}.ebike-detail-icon.category-winery,.ebike-detail-icon.category-food{background:#fff0d0;color:#946015}.ebike-detail-icon.category-backup{background:#ffe2dc;color:#a94d39}.ebike-detail-badges{margin-top:var(--sp-4);display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ebike-detail-badges span{padding:var(--sp-2) var(--sp-2);border-radius:var(--r-pill);background:#e8eee9;color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-bold)}.ebike-detail-badges span.featured{background:#fff0d0;color:var(--accent-warm)}.ebike-detail-badges span.route-match-on_route{background:#dcece5;color:#285b49}.ebike-detail-badges span.route-match-detour{background:#fff0d0;color:var(--accent-warm)}.ebike-detail-badges span.route-match-off_route{background:#e8ebe9;color:#66756e}.dark .ebike-detail-badges span{background:#ffffff12;color:#c4d5cd}.dark .ebike-detail-badges span.featured{background:#f3c56221;color:#f3c562}.ebike-detail-note{margin:var(--sp-5) 0;color:#40564d;font-family:Georgia,Times New Roman,serif;font-size:var(--fs-xl);line-height:1.5}.dark .ebike-detail-note{color:#dfece6}.ebike-detail-facts{margin:0;padding:var(--sp-4) 0;border-block:1px solid var(--line)}.ebike-detail-facts>div{padding:var(--sp-2) 0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:var(--sp-3)}.ebike-detail-facts dt{color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase}.ebike-detail-facts dd{margin:0;color:#40564d;font-size:var(--fs-md);line-height:1.45}.dark .ebike-detail-facts dd{color:#d4e2db}.ebike-coordinate-note{margin:var(--sp-3) 0 0;color:var(--muted);font-size:var(--fs-2xs);line-height:1.45}.ebike-point-route-fields{margin-top:var(--sp-4);padding:var(--sp-3);display:grid;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:#e7eee9a8}.ebike-point-route-fields label{display:grid;gap:var(--sp-1)}.ebike-point-route-fields label>span{color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase}.ebike-point-route-fields select{font-size:var(--fs-base)}.ebike-point-route-fields small{color:var(--muted);font-size:var(--fs-2xs);line-height:1.45}.dark .ebike-point-route-fields{border-color:var(--line);background:#ffffff0a}.ebike-add-stop-form{display:grid;gap:var(--sp-4)}.ebike-add-stop-hint{margin:-2px 0 0;font-size:var(--fs-2xs);line-height:1.45}.ebike-detail-actions{margin-top:var(--sp-5);display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ebike-detail-actions .button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);text-decoration:none}@media(max-width:900px){.ebike-map-layout{grid-template-columns:1fr}.ebike-route-panel{position:static}.ebike-map-canvas{height:min(70vh,620px);min-height:500px}}@media(max-width:650px){.route-import-panel{margin-inline:12px;padding:var(--sp-4)}.route-import-steps>li{grid-template-columns:28px minmax(0,1fr)}.route-import-steps .button{width:100%;grid-column:2}.route-import-actions{display:grid}.route-import-actions .button{width:100%}.ebike-map-heading{padding-top:18px}.ebike-philosophy-card{padding:var(--sp-4)}.ebike-map-toolbar{align-items:stretch;flex-direction:column}.ebike-filter-chips{width:100%;padding-bottom:2px}.ebike-recommended-toggle{justify-content:space-between;flex-direction:row-reverse}.ebike-map-canvas{height:min(67dvh,570px);min-height:470px;margin-inline:-8px;border-radius:var(--r-xl)}.ebike-map-pin{width:44px;height:44px}.ebike-pin-label{max-width:105px;font-size:var(--fs-2xs)}.ebike-map-segments text{display:none}.ebike-locate-button{top:10px;left:10px;min-height:var(--tap);padding-inline:11px;font-size:var(--fs-xs)}.ebike-map-caption{font-size:var(--fs-2xs)}.ebike-route-panel{padding:var(--sp-4)}.ebike-editable-route{max-height:none}.route-assistant-settings{grid-template-columns:1fr}.route-assistant-inline-actions{align-items:stretch;flex-direction:column}.route-assistant-inline-actions .button,.route-assistant-optimize .button,.route-assistant-preview .button{width:100%}.route-assistant-preview li{grid-template-columns:22px minmax(0,1fr)}.route-assistant-preview li small{grid-column:2}.ebike-route-timeline button{min-height:82px}.ebike-detail-actions{display:grid}.ebike-detail-actions .button{width:100%}}@media(max-width:390px){.ebike-map-canvas{min-height:450px}.ebike-pin-label{display:none}.ebike-tasting-zone>span{max-width:165px;overflow:hidden;text-overflow:ellipsis}.ebike-map-caption span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}}.ebike-tour-hero{padding-bottom:var(--sp-5);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--sp-6);border-bottom:1px solid var(--line)}.ebike-tour-title{min-width:0}.ebike-tour-stats{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-4)}.ebike-tour-stats>span:not(.ebike-difficulty-chip){min-width:92px;display:flex;align-items:center;gap:var(--sp-2)}.ebike-tour-stats svg{width:20px;color:var(--moss)}.ebike-tour-stats strong,.ebike-tour-stats small{display:block;white-space:nowrap}.ebike-tour-stats strong{color:var(--text);font-size:var(--fs-sm)}.ebike-tour-stats small{margin-top:2px;color:var(--muted);font-size:var(--fs-2xs)}.ebike-difficulty-chip{min-height:30px;padding:var(--sp-1) var(--sp-3);display:inline-flex;align-items:center;border-radius:var(--r-pill);background:#9ba817;color:#fff;font-size:var(--fs-2xs);font-weight:var(--fw-black)}.ebike-komoot-layout{grid-template-columns:minmax(330px,.78fr) minmax(0,1.42fr);gap:var(--sp-5);margin-top:var(--sp-5)}.ebike-route-sidebar{min-width:0}.ebike-map-stage{position:sticky;top:12px;min-width:0;order:2}.ebike-route-sidebar{order:1}.ebike-map-stage .ebike-map-canvas{height:min(74vh,760px);min-height:610px;padding:0;border-radius:28px;box-shadow:0 20px 48px #172e2821}.ebike-map-sections{margin-bottom:var(--sp-4);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-1);border-bottom:1px solid var(--line)}.ebike-map-sections button{position:relative;min-height:50px;padding:var(--sp-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border:0;background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);cursor:pointer}.ebike-map-sections button:after{content:"";position:absolute;left:var(--sp-2);right:var(--sp-2);bottom:-1px;height:3px;border-radius:var(--r-pill) var(--r-pill) 0 0;background:transparent}.ebike-map-sections button.selected{color:var(--moss-deep)}.ebike-map-sections button.selected:after{background:var(--moss)}.dark .ebike-map-sections button.selected{color:#9ee0c3}.ebike-route-sidebar .ebike-map-toolbar{margin:0 0 var(--sp-4);padding:var(--sp-3);align-items:stretch;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-quiet)}.ebike-route-sidebar .ebike-recommended-toggle{justify-content:space-between;flex-direction:row-reverse}.ebike-komoot-overview,.ebike-route-points-panel{display:grid;gap:var(--sp-4)}.ebike-komoot-overview .ebike-philosophy-card{margin:0;padding:var(--sp-4)}.ebike-overview-section,.ebike-route-points-panel{padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:0 12px 32px #172e280d}.ebike-overview-section>p,.ebike-route-points-intro{margin:var(--sp-3) 0 0;color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-relaxed)}.ebike-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.ebike-section-heading small{display:block;margin-bottom:var(--sp-1);color:var(--accent-warm);font-size:var(--fs-2xs);font-weight:var(--fw-black);letter-spacing:.08em;text-transform:uppercase}.ebike-section-heading h2{margin:0;font-size:var(--fs-xl)}.ebike-section-heading>svg{color:var(--moss)}.ebike-overview-facts{margin-top:var(--sp-4);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.ebike-overview-facts span{padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-quiet);color:var(--muted);font-size:var(--fs-2xs)}.ebike-overview-facts strong{display:block;margin-bottom:3px;color:var(--text);font-size:var(--fs-sm)}.ebike-highlight-list{margin-top:var(--sp-3);display:grid}.ebike-highlight-list button{width:100%;min-height:76px;padding:var(--sp-3) 0;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer}.ebike-highlight-list button>span:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--moss-deep);font-size:var(--fs-2xs);font-weight:var(--fw-black)}.ebike-highlight-list small,.ebike-highlight-list strong,.ebike-highlight-list em{display:block}.ebike-highlight-list small{color:var(--accent-warm);font-size:var(--fs-2xs);font-weight:var(--fw-black);text-transform:uppercase}.ebike-highlight-list strong{margin-top:3px;font-size:var(--fs-sm)}.ebike-highlight-list em{margin-top:3px;color:var(--muted);font-size:var(--fs-2xs);font-style:normal;line-height:var(--lh-snug)}.ebike-highlight-list svg{width:16px;color:var(--muted)}.ebike-komoot-point-list{position:relative;margin:var(--sp-4) 0 0;padding:0;display:grid;list-style:none}.ebike-komoot-point-list:before{content:"";position:absolute;left:17px;top:25px;bottom:25px;width:2px;background:#a8c9bc}.ebike-komoot-point-list button{position:relative;width:100%;min-height:66px;padding:var(--sp-2) 0;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ebike-komoot-point-list button:disabled{cursor:default;opacity:.72}.ebike-komoot-point-number{position:relative;z-index:1;width:34px;height:34px;display:grid;place-items:center;border:3px solid var(--surface);border-radius:50%;background:#246fd2;color:#fff;font-size:var(--fs-2xs);font-weight:var(--fw-black)}.ebike-komoot-point-list strong,.ebike-komoot-point-list small{display:block}.ebike-komoot-point-list strong{font-size:var(--fs-sm)}.ebike-komoot-point-list small{margin-top:3px;color:var(--muted);font-size:var(--fs-2xs)}.ebike-komoot-point-list button>svg{width:17px;color:var(--muted)}.ebike-route-warning{margin:var(--sp-3) 0 0;padding:var(--sp-3);border-radius:var(--r-md);background:#f3c5622b;color:var(--muted);font-size:var(--fs-xs);line-height:var(--lh-snug)}.ebike-route-sidebar>.ebike-route-panel{position:static;padding:var(--sp-5);background:var(--surface)}.ebike-map-primary-actions{position:absolute;z-index:800;top:14px;left:14px;display:flex;align-items:center;gap:var(--sp-2)}.ebike-map-primary-actions .ebike-locate-button{position:static}.ebike-map-primary-actions .icon-button{border:1px solid rgba(23,46,40,.08);background:#fffffff0;color:var(--moss-deep);box-shadow:0 7px 18px #172e2829;backdrop-filter:blur(9px)}.spartito-leaflet-marker.selected-point{border-color:#fff;box-shadow:0 0 0 6px #246fd259,0 10px 24px #172e284d;transform:rotate(-45deg) scale(1.08)}.spartito-route-order-marker{background:#246fd2}.ebike-map-stage.is-expanded{position:fixed;z-index:1200;inset:0;padding:0;background:#e7ebe2}.ebike-map-stage.is-expanded .ebike-map-canvas{width:100%;height:100dvh;min-height:100dvh;border:0;border-radius:0;box-shadow:none}.ebike-map-stage.is-expanded .ebike-map-primary-actions{top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left))}.dark .ebike-overview-section,.dark .ebike-route-points-panel,.dark .ebike-route-sidebar>.ebike-route-panel{background:#ffffff0b}.dark .ebike-map-primary-actions .icon-button{border-color:var(--line);background:#10221deb;color:#9ee0c3}@media(max-width:1060px){.ebike-tour-hero{grid-template-columns:1fr}.ebike-tour-stats{justify-content:flex-start}.ebike-komoot-layout{grid-template-columns:minmax(310px,.88fr) minmax(0,1.12fr)}}@media(max-width:900px){.ebike-komoot-layout{grid-template-columns:1fr}.ebike-map-stage{position:relative;top:auto;order:1}.ebike-route-sidebar{order:2}.ebike-map-stage .ebike-map-canvas{height:min(66dvh,620px);min-height:480px}}@media(max-width:650px){.ebike-tour-hero{gap:var(--sp-4)}.ebike-tour-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.ebike-difficulty-chip{width:-moz-fit-content;width:fit-content}.ebike-tour-stats>span:not(.ebike-difficulty-chip){min-width:0}.ebike-komoot-layout{margin-top:var(--sp-4)}.ebike-map-stage .ebike-map-canvas{height:min(58dvh,520px);min-height:390px;margin-inline:0;border-radius:22px}.ebike-map-primary-actions{top:10px;left:10px}.ebike-map-primary-actions .ebike-locate-button{padding-inline:12px}.ebike-map-primary-actions .ebike-locate-button span{display:none}.ebike-map-sections{overflow-x:auto;grid-template-columns:repeat(3,minmax(112px,1fr));scrollbar-width:none}.ebike-map-sections::-webkit-scrollbar{display:none}.ebike-map-sections button{white-space:nowrap}.ebike-route-sidebar .ebike-map-toolbar,.ebike-overview-section,.ebike-route-points-panel,.ebike-route-sidebar>.ebike-route-panel{padding:var(--sp-4)}.ebike-overview-facts{grid-template-columns:1fr}.ebike-map-caption{margin-inline:0}}@media(max-width:720px){.weather-strip{grid-template-columns:1fr;gap:var(--sp-2)}.weather-strip-heading{min-width:0}.weather-strip-heading strong{max-width:min(70vw,360px)}.weather-source{display:none}.location-consent-card{grid-template-columns:1fr}.nearby-memory-card,.memory-section-heading{align-items:flex-start}.nearby-memory-card{flex-direction:column}.memory-search{grid-template-columns:auto minmax(0,1fr)}.memory-search .button{grid-column:1 / -1}.memory-day{grid-template-columns:1fr;gap:var(--sp-1)}.memory-day>h3{padding:0 2px}.timeline-place{grid-template-columns:29px 20px 78px minmax(0,1fr);padding-right:9px}.timeline-place>svg{display:none}.timeline-photo,.timeline-photo img{width:78px;height:80px}.memory-day-line:before{left:38px}.planned-place-grid,.map-place-list{grid-template-columns:1fr}.reaction-picker>div{grid-template-columns:repeat(5,minmax(58px,1fr));overflow-x:auto}.itinerary-checkin-row{flex-direction:column}.itinerary-checkin-row>.button,.itinerary-location-settings{width:100%;max-width:none}.itinerary-location-settings summary,.itinerary-location-settings>small{text-align:left}.travel-map-canvas{height:68vh;min-height:420px}.map-caption{top:14px;bottom:auto}}@media(max-width:480px){.memory-result-card{grid-template-columns:68px minmax(0,1fr)}.memory-result-card>img,.memory-result-card>span{width:68px;height:78px}.memory-result-card>svg{display:none}.timeline-place{grid-template-columns:25px 18px 66px minmax(0,1fr);gap:var(--sp-2)}.timeline-photo,.timeline-photo img{width:66px;height:72px}.timeline-copy strong{font-size:var(--fs-base)}.timeline-copy small{font-size:var(--fs-xs)}.memory-day-line:before{left:32px}.finish-day-card{grid-template-columns:auto minmax(0,1fr)}.finish-day-card .button{grid-column:1 / -1}.place-detail-hero{min-height:230px;padding:var(--pad-card)}.place-detail-stats{grid-template-columns:1fr}}.private-notes-page{display:grid;gap:var(--sp-5)}.private-notes-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-6)}.private-notes-heading>div{min-width:0}.private-notes-heading p{max-width:680px}.private-notes-lock{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--sp-3);max-width:310px;padding:var(--sp-3) var(--sp-4);border:1px solid #bcd9cd;border-radius:var(--r-lg);color:#285b49;background:#eff8f3;box-shadow:0 8px 22px #346b5817}.private-notes-lock>span,.private-notes-lock strong,.private-notes-lock small{display:block}.private-notes-lock strong{font-size:var(--fs-md)}.private-notes-lock small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:var(--lh-snug);letter-spacing:normal;text-transform:none}.private-notes-capture-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-4);padding:var(--sp-5);border-color:#e3d0b5;background:radial-gradient(circle at 88% 18%,rgba(237,121,95,.16),transparent 30%),linear-gradient(135deg,#fffaf0,#f8f4e8)}.private-notes-capture-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:var(--r-lg);color:#8c4d35;background:#f6ddca}.private-notes-capture-card>span:nth-child(2),.private-notes-capture-card small,.private-notes-capture-card strong{display:block}.private-notes-capture-card small{margin-bottom:var(--sp-1);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.055em;text-transform:uppercase}.private-notes-capture-card strong{line-height:1.35}.private-notes-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.private-notes-summary strong{color:#285b49}.private-notes-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-5)}.private-notes-toolbar h2,.private-notes-toolbar p{margin:0}.private-notes-toolbar p{margin-top:var(--sp-1)}.private-notes-view-switch{flex:0 0 auto}.private-notes-empty>span{color:#8c4d35;background:#f7e6d9}.private-notes-groups,.private-shopping-groups{display:grid;gap:var(--sp-6)}.private-notes-group{display:grid;gap:var(--sp-3)}.private-notes-group>header{display:flex;align-items:center;gap:var(--sp-3)}.private-notes-group>header>span,.private-shopping-place-icon{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;border-radius:var(--r-sm);color:#7f563f;background:#f2e5d8}.private-notes-group h2,.private-notes-group small{display:block;margin:0}.private-notes-group h2{font-size:var(--fs-lg)}.private-notes-group small{margin-top:var(--sp-1);color:var(--muted)}.private-note-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.private-note-card{min-width:0;display:grid;grid-template-columns:minmax(132px,.7fr) minmax(0,1.3fr);padding:0;overflow:hidden}.private-note-card.is-purchased{border-color:#cbd9d1;background:#f7faf8}.private-note-photo-grid,.private-note-photo-placeholder{min-height:225px}.private-note-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(104px,1fr);gap:var(--sp-1);background:#e3e7e2}.private-note-photo-grid.photos-1{grid-template-columns:1fr}.private-note-photo-grid.photos-3 .private-note-photo:first-child{grid-row:span 2}.private-note-photo{position:relative;min-width:0;min-height:0;overflow:hidden}.private-note-photo a,.private-note-photo img{width:100%;height:100%;display:block}.private-note-photo img{-o-object-fit:cover;object-fit:cover;transition:transform .2s ease}.private-note-photo:hover img{transform:scale(1.025)}.private-note-photo .private-note-photo-delete{position:absolute;top:7px;right:7px;color:#fff;background:#18211eb3;backdrop-filter:blur(8px)}.private-note-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--muted);background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.82),transparent 25%),#efe8dd}.private-note-photo-placeholder svg{width:36px;height:36px}.private-note-photo-placeholder span{font-size:var(--fs-2xs);font-weight:var(--fw-bold)}.private-note-copy{min-width:0;display:flex;flex-direction:column;padding:var(--sp-4)}.private-note-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}.private-note-meta time{color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap}.private-note-quantity{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-xs);color:#7a4b34;background:#f5e4d6;font-size:var(--fs-xs);font-weight:var(--fw-black)}.private-note-copy h3{margin:0;font-size:var(--fs-lg);line-height:1.25}.private-note-copy>p{flex:1;margin:var(--sp-2) 0 var(--sp-4);color:#60736c;font-size:var(--fs-sm);line-height:1.48;white-space:pre-wrap}.private-note-card.is-purchased .private-note-copy h3,.private-shopping-row.is-purchased .private-shopping-copy strong{color:#788780;text-decoration:line-through}.private-note-actions{display:flex;align-items:center;gap:var(--sp-2)}.private-note-actions .button{min-height:var(--tap);flex:1;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-xs)}.private-note-actions .icon-button{flex:0 0 auto;color:#a24839}.private-shopping-groups{max-width:920px;width:100%;margin-inline:auto}.private-shopping-group{padding:0;overflow:hidden}.private-shopping-group>header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid #e1e7e2;background:#f8faf8}.private-shopping-group>header>span:nth-child(2),.private-shopping-group>header strong,.private-shopping-group>header small{display:block}.private-shopping-group>header>span:nth-child(2){min-width:0}.private-shopping-group>header small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-xs)}.private-shopping-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto 40px;align-items:center;gap:var(--sp-3);min-height:64px;padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);border-bottom:1px solid #e8ece8}.private-shopping-row:last-child{border-bottom:0}.private-shopping-row.is-purchased{background:#f7f9f7}.private-shopping-check{width:var(--tap);height:var(--tap);display:grid;place-items:center;border:2px solid #a7b8b0;border-radius:var(--r-xs);color:#fff;background:transparent;cursor:pointer}.private-shopping-check[aria-pressed=true]{border-color:#4b7967;background:#4b7967}.private-shopping-check:disabled{opacity:.52;cursor:wait}.private-shopping-copy{min-width:0}.private-shopping-copy strong,.private-shopping-copy small{display:block}.private-shopping-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.private-shopping-copy small{margin-top:var(--sp-1);overflow:hidden;color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.private-shopping-quantity{min-width:48px;padding:var(--sp-2) var(--sp-2);border-radius:var(--r-xs);color:#764930;background:#f5e5d8;font-size:var(--fs-xs);text-align:center;white-space:nowrap}.private-shopping-delete{width:var(--tap);height:var(--tap);color:#a24839}.private-note-form{display:grid;gap:var(--sp-1)}.private-note-form-privacy{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-3);border:1px solid #c5ded3;border-radius:var(--r-md);color:#285b49;background:#eff8f3}.private-note-form-privacy span,.private-note-form-privacy strong,.private-note-form-privacy small{display:block}.private-note-form-privacy small{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-2xs)}.private-note-photo-picker{display:grid;gap:var(--sp-2);margin:0 0 var(--sp-5)}.private-note-camera{width:100%;min-height:142px;display:flex;align-items:center;justify-content:center;gap:var(--sp-4);margin:0;padding:var(--sp-5);overflow:hidden;border:1px dashed #c5ad91;border-radius:var(--r-lg);color:#6f4b37;background:#faf3e8;font:inherit;cursor:pointer}.private-note-camera:focus-visible{outline:3px solid rgba(36,111,210,.32);outline-offset:3px}.private-note-camera>span,.private-note-camera strong,.private-note-camera small{display:block;text-align:left}.private-note-camera small{margin-top:var(--sp-1);color:var(--muted)}.private-note-camera-icon{width:54px;height:54px;display:grid!important;flex:0 0 auto;place-items:center;border-radius:var(--r-lg);color:#8d5338;background:#efdac5}.private-note-camera.has-photo{min-height:190px;justify-content:flex-start;padding:0 18px 0 0;border-style:solid}.private-note-camera.has-photo>img{width:min(44%,280px);align-self:stretch;-o-object-fit:cover;object-fit:cover}.private-note-camera.has-photo>span>svg{margin-bottom:var(--sp-2);color:#3e725e}.private-note-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:var(--sp-3)}.private-note-form textarea{resize:vertical}.private-note-form-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-1)}.dark .private-notes-lock,.dark .private-note-form-privacy{border-color:#84cdaf47;color:#a8e0c7;background:#437a6333}.dark .private-notes-capture-card{border-color:#e7b78833;background:radial-gradient(circle at 88% 18%,rgba(237,121,95,.13),transparent 30%),#24352e}.dark .private-notes-capture-icon,.dark .private-notes-group>header>span,.dark .private-shopping-place-icon{color:#edbb98;background:#e1a17026}.dark .private-notes-summary strong{color:var(--accent-quiet-text)}.dark .private-notes-empty>span,.dark .private-note-quantity,.dark .private-shopping-quantity{color:#edbb98;background:#e1a17024}.dark .private-note-card.is-purchased,.dark .private-shopping-row.is-purchased,.dark .private-shopping-group>header{border-color:var(--line);background:#ffffff09}.dark .private-note-photo-placeholder{color:var(--muted);background:#33423b}.dark .private-note-photo-grid{background:#172720}.dark .private-note-actions .icon-button,.dark .private-shopping-delete{color:#f1a18f}.dark .private-shopping-check{border-color:#718a7f}.dark .private-shopping-check[aria-pressed=true]{border-color:#77ad96;background:#4f846d}.dark .private-note-camera{border-color:#e0b28659;color:#e8c4a9;background:#dfa87514}.dark .private-note-camera-icon{color:#efbb98;background:#e1a17029}@media(max-width:980px){.private-note-card-grid{grid-template-columns:1fr}}@media(max-width:720px){.private-notes-heading{align-items:stretch;flex-direction:column;gap:var(--sp-4)}.private-notes-lock{max-width:none}.private-notes-capture-card{grid-template-columns:auto minmax(0,1fr)}.private-notes-capture-card .button{grid-column:1 / -1;width:100%}.private-note-card{grid-template-columns:minmax(118px,.58fr) minmax(0,1.42fr)}.private-note-photo-grid,.private-note-photo-placeholder{min-height:210px}}@media(max-width:560px){.private-notes-page{gap:var(--sp-4)}.private-notes-summary{gap:var(--sp-2)}.private-notes-summary .card{padding:var(--sp-3);text-align:center}.private-notes-summary strong{font-size:var(--fs-2xl)}.private-notes-summary span{font-size:var(--fs-2xs)}.private-notes-toolbar{align-items:stretch;flex-direction:column}.private-notes-view-switch{width:100%}.private-note-card{grid-template-columns:1fr}.private-note-photo-grid,.private-note-photo-placeholder{min-height:178px;max-height:260px}.private-note-actions .button{font-size:var(--fs-2xs)}.private-shopping-row{grid-template-columns:34px minmax(0,1fr) auto 36px;gap:var(--sp-2);padding-left:12px}.private-shopping-copy strong{font-size:var(--fs-md)}.private-shopping-quantity{min-width:43px;padding-inline:6px;font-size:var(--fs-2xs)}.private-shopping-delete{width:34px;height:34px}.private-note-form-grid{grid-template-columns:minmax(0,1fr) 105px}.private-note-camera.has-photo{min-height:220px;align-items:stretch;flex-direction:column;padding:0 0 var(--sp-4)}.private-note-camera.has-photo>img{width:100%;height:155px;align-self:auto}.private-note-camera.has-photo>span{padding-inline:15px}.private-note-form-actions{display:grid;grid-template-columns:.75fr 1.25fr}}@media(max-width:390px){.private-notes-capture-card{gap:var(--sp-3)}.private-notes-capture-icon{width:46px;height:46px}.private-shopping-copy small{display:none}.private-note-form-grid{grid-template-columns:1fr;gap:0}}@media(min-width:640px){.sm\:inline{display:inline}}
