@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700&family=Roboto:wght@500&display=swap";.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;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.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{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.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{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.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{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);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:-webkit-grab;cursor:-moz-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:-webkit-grabbing;cursor:-moz-grabbing;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{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position: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:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.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-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);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{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;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{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.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{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.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{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.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{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;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{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--canvas:#101510;--paper:#171d17;--surface:#202820;--surface-raised:#293329;--field:#1c231c;--ink:#f8f1e6;--muted:#aeb8a8;--muted-strong:#d9ddcf;--line:#f8f1e617;--line-strong:#f8f1e62b;--accent:#f07a3e;--accent-hover:#ff8b50;--accent-soft:#f07a3e21;--accent-line:#f07a3e4f;--on-accent:#1c130d;--accent-secondary:#8fb06b;--accent-secondary-soft:#8fb06b21;--accent-secondary-line:#8fb06b4d;--on-secondary:#101510;--focus:#f475a0;--accent-tertiary:#f475a0;--accent-tertiary-soft:#f475a021;--accent-tertiary-line:#f475a04d;--on-tertiary:#2b111b;--accent-sun:#e2ac4a;--accent-sun-soft:#e2ac4a21;--accent-sun-line:#e2ac4a4d;--on-sun:#211706;--danger:#ff7181;--danger-soft:#ff71811f;--danger-line:#ff718147;--success:#70c795;--success-soft:#70c79521;--success-line:#70c7954d;--chrome:#171d17;--overlay:#070a07c2;--map-background:#171d17;--shadow-card:0 .45rem 1.4rem #0000001f;--shadow-float:0 1.1rem 3rem #0000004d;--shadow-modal:0 2rem 6rem #0000007a;--radius-sm:.75rem;--radius-md:1rem;--radius-lg:1.4rem;--font-display:"Manrope", "Inter", sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-spring:cubic-bezier(.2, 1.25, .35, 1);--motion-fast:.14s;--motion-base:.2s;--motion-slow:.28s;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--surface-solid:var(--surface);--muted-bright:var(--muted-strong);--violet:var(--accent);--mint:var(--accent-secondary);--sea:var(--accent-secondary);--sun:var(--accent-sun);--rose:var(--accent-tertiary);--primary-solid:var(--accent);--primary-solid-hover:var(--accent-hover);--on-primary:var(--on-accent);--on-danger:#2d0e12;--brand:var(--accent);--brand-soft:var(--accent-soft);--location:var(--accent-secondary);--location-soft:var(--accent-secondary-soft);--positive:var(--success);--positive-soft:var(--success-soft);--favorite:var(--accent-tertiary);--favorite-soft:var(--accent-tertiary-soft);--warm-info:var(--accent-sun);--warm-info-soft:var(--accent-sun-soft);--reorder:var(--accent);--reorder-soft:var(--accent-soft);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f5f1e8;--paper:#fffcf6;--surface:#fffdf8;--surface-raised:#ede5d7;--field:#f4ede2;--ink:#182019;--muted:#687064;--muted-strong:#414a40;--line:#3a382b1f;--line-strong:#3a382b36;--accent:#c24c22;--accent-hover:#a9401b;--accent-soft:#c24c2218;--accent-line:#c24c2242;--on-accent:#fff;--accent-secondary:#446044;--accent-secondary-soft:#44604418;--accent-secondary-line:#44604445;--on-secondary:#fff;--focus:#b13c65;--accent-tertiary:#b13c65;--accent-tertiary-soft:#b13c6517;--accent-tertiary-line:#b13c653d;--on-tertiary:#fff;--accent-sun:#946213;--accent-sun-soft:#94621317;--accent-sun-line:#9462133d;--on-sun:#fff;--danger:#b33a43;--danger-soft:#b33a4314;--danger-line:#b33a4338;--success:#397153;--success-soft:#39715318;--success-line:#39715345;--chrome:#fffcf6;--overlay:#18201970;--map-background:#e8e2d6;--shadow-card:0 .45rem 1.35rem #4930180e;--shadow-float:0 1rem 2.8rem #4930181c;--shadow-modal:0 2rem 5rem #2d231833;--on-danger:#fff}*{box-sizing:border-box}html{background:var(--canvas);overscroll-behavior:none;width:100%;min-width:320px;min-height:100%;overflow-x:hidden}body{width:100%;min-width:320px;min-height:100dvh;color:var(--ink);background:var(--canvas);margin:0;line-height:1.5;overflow-x:hidden}body,button,input,textarea,select{font:inherit}button,input,textarea,select,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img,svg{display:block}button,a,input,textarea,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{color:var(--on-accent);background:var(--accent)}h1,h2,h3,h4,p{text-wrap:pretty}h1,h2,h3,h4{color:var(--ink);font-family:var(--font-display);margin:0;font-style:normal}p{margin:0}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{width:100%;min-height:100dvh;color:var(--ink);background:var(--paper);position:relative}.card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);border:0}.eyebrow,.section-title,.day-heading p{color:var(--muted);letter-spacing:.04em;font-size:.75rem;font-weight:700}.section-title{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.section-title>span:last-child:not(:first-child){color:var(--muted);font-weight:600}.save-trip-button,.add-trip-button,.confirm-primary,.oauth-button,.secondary-pill,.manage-program-button,.calendar-export-button,.exit-edit-mode-button,.cancel-edit-button,.add-checklist-item,.secondary-button,.document-button,.map-chip,.home-priority-maps,.summary-map,.invite-code-panel button,.member-actions button,.logout-button,.confirm-cancel,.confirm-delete,.delete-edit-button,.danger-zone button,.settings-button,.icon-action,.day-map-button,.map-sheet-close,.mobile-modal-header button{border-radius:var(--radius-sm);cursor:pointer;min-height:2.75rem;transition:transform .16s var(--ease-out), color .16s ease, border-color .16s ease, background .16s ease, opacity .16s ease;border:1px solid #0000;font-size:.82rem;font-weight:650}.save-trip-button,.add-trip-button,.confirm-primary{color:var(--on-accent);background:var(--accent);padding:.7rem 1rem}.add-trip-button{justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.add-trip-button>span{font-size:1rem;line-height:1}.secondary-pill,.manage-program-button,.calendar-export-button,.exit-edit-mode-button,.cancel-edit-button,.add-checklist-item,.secondary-button,.confirm-cancel,.invite-code-panel button,.member-actions button,.logout-button,.document-button,.map-chip,.home-priority-maps,.summary-map{border-color:var(--line-strong);color:var(--ink);background:0 0;padding:.65rem .9rem}.manage-program-button.active,.settings-tabs button.active,.time-mode-switch button.active,.emoji-presets button.active,.theme-options>button.active{color:var(--accent);background:var(--accent-soft);box-shadow:none;border-color:#0000}.places-view-switch button.active,.map-day-filters button.active,.destination-suggestions>button.active{color:var(--accent-secondary);background:var(--accent-secondary-soft);box-shadow:none;border-color:#0000}.settings-button,.icon-action,.map-sheet-close,.mobile-modal-header button{border-color:var(--line);width:2.75rem;min-width:2.75rem;height:2.75rem;color:var(--muted-strong);background:0 0;place-items:center;padding:0;display:grid}.settings-icon{width:1.25rem;height:1.25rem}.icon-action.active{color:var(--accent);background:var(--accent-soft)}.favorite-action.active{color:var(--accent-tertiary);background:var(--accent-tertiary-soft)}.visited-action.active{color:var(--accent-secondary);background:var(--accent-secondary-soft)}.delete-edit-button,.danger-zone button,.member-actions button:last-child,.confirm-delete,.checklist-remove-button,.logout-button{border-color:var(--danger-line);color:var(--danger);background:var(--danger-soft)}.confirm-delete{color:var(--on-danger);background:var(--danger);padding:.7rem 1rem}.edit-danger-action{width:100%;margin-top:1rem;padding:.65rem .8rem}button:disabled{opacity:.45;cursor:default}button:not(:disabled):active,a:active{transform:scale(.975)}.loading-shell{text-align:center;align-content:center;justify-items:center;gap:.75rem;padding:2rem;display:grid}.loading-shell h2{max-width:22rem;font-size:1rem;font-weight:600}.loading-mark{place-items:center;width:3.5rem;height:3.5rem;display:grid}.loading-mark img{border-radius:1rem;width:100%;height:100%}.loading-brand{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem;font-weight:700}.loading-spinner{color:var(--accent);animation:.9s linear infinite spin}.library-intro{z-index:500;color:var(--ink);background:radial-gradient(circle at 18% 14%, var(--warm-info-soft), transparent 17rem), radial-gradient(circle at 88% 86%, var(--location-soft), transparent 20rem), var(--paper);place-items:center;animation:.3s .7s both intro-out;display:grid;position:fixed;inset:0}.library-intro-brand{animation:intro-mark .65s var(--ease-out) both;justify-items:center;gap:.75rem;display:grid;position:relative}.library-intro-brand img{border-radius:1.1rem;width:4rem;height:4rem}.library-intro-brand strong{color:var(--ink);font-family:var(--font-display);font-size:1.2rem}.library-intro-ring{border:1px solid var(--accent-line);width:5.2rem;height:5.2rem;animation:intro-ring .65s var(--ease-out) both;border-radius:1.45rem;position:absolute;top:-.6rem}.auth-shell{padding:calc(2rem + var(--safe-top)) 1.25rem calc(2rem + var(--safe-bottom));background:radial-gradient(circle at 14% 12%, var(--warm-info-soft), transparent 19rem), radial-gradient(circle at 92% 88%, var(--location-soft), transparent 22rem), var(--paper);place-items:center;display:grid}.auth-main{gap:1.5rem;width:min(100%,28rem);display:grid}.auth-brand{text-align:center;justify-items:center;gap:.6rem;display:grid}.auth-logo{width:3.75rem;height:3.75rem}.auth-logo img{border-radius:1rem;width:100%;height:100%}html[data-theme=dark] .auth-static-fallback .auth-logo img{content:url(/icons/compass-mark.svg)}.auth-brand h1{color:var(--ink);letter-spacing:-.04em;font-size:2.15rem;font-weight:700}.auth-brand h2{max-width:24rem;color:var(--ink);font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.35rem,7vw,1.65rem);line-height:1.15}.auth-description{max-width:27rem;color:var(--muted-strong);font-size:.88rem;line-height:1.55}.auth-capabilities{flex-wrap:wrap;justify-content:center;gap:.45rem;max-width:28rem;margin-top:.15rem;list-style:none;display:flex}.auth-capabilities li{border:1px solid var(--line);min-height:2rem;color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;gap:.3rem;padding:.38rem .62rem;font-size:.68rem;line-height:1.2;display:inline-flex}.auth-capabilities strong{color:var(--ink);font-weight:700}.auth-static-google{border:1px solid var(--line);background:var(--surface);text-align:center;gap:.35rem;padding:.9rem 1rem;display:grid}.auth-static-google h3{color:var(--ink);font-size:.82rem}.auth-card{background:0 0;gap:1rem;padding:0;display:grid}.auth-card form{gap:.65rem;display:grid}.auth-card label{color:var(--muted-strong);font-size:.8rem;font-weight:600}.oauth-button{color:#1f1f1f;background:#fff;border-color:#747775;justify-content:center;align-items:center;gap:.625rem;width:100%;min-height:3rem;padding:.75rem;font-family:Roboto,Arial,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25rem;display:flex}.oauth-button:hover:not(:disabled){background:#f8fafd;box-shadow:0 1px 2px #3c40432e}.oauth-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.google-brand-icon{flex:none;width:1.125rem;height:1.125rem}html[data-theme=dark] .oauth-button{color:#e3e3e3;background:#131314;border-color:#8e918f}html[data-theme=dark] .oauth-button:hover:not(:disabled){background:#202124}.auth-google-block{gap:.65rem;display:grid}.auth-google-note{color:var(--muted);text-align:center;font-size:.75rem;line-height:1.5}.auth-separator{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;font-size:.72rem;display:grid}.auth-separator:before,.auth-separator:after{content:"";background:var(--line);height:1px}.auth-message{border-radius:var(--radius-sm);color:var(--danger);background:var(--danger-soft);padding:.8rem .9rem;font-size:.8rem}.auth-message.success{color:var(--success);background:var(--success-soft)}.auth-legal-links{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;font-size:.72rem;display:flex}.auth-legal-links a{min-height:2.25rem;color:var(--muted-strong);padding:.55rem .2rem;font-weight:600}.library-page-locked,.library-page-locked body{height:100%;overflow:hidden}.library-shell{overscroll-behavior:none;grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}.library-hero{z-index:4;padding:calc(.75rem + var(--safe-top)) 1rem 1rem;border-bottom:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(18px);position:relative}.brand-line,.library-title-row{justify-content:space-between;align-items:center;gap:1rem;max-width:42rem;margin:0 auto;display:flex}.brand-line{min-height:2.75rem}.brand-identity{align-items:center;gap:.55rem;min-width:0;display:flex}.brand-identity img{border-radius:.55rem;width:1.8rem;height:1.8rem}.brand-identity span{font-family:var(--font-display);letter-spacing:-.02em;font-size:.95rem;font-weight:700}.library-account{align-items:center;gap:.4rem;display:flex}.library-title-row{align-items:flex-end;margin-top:.9rem}.library-title-row>div:first-child{min-width:0}.library-title-row small{color:var(--muted);margin-bottom:.1rem;font-size:.72rem;font-weight:600;display:block}.library-title-row h1{letter-spacing:-.045em;font-size:clamp(1.75rem,8vw,2.3rem);font-weight:700;line-height:1.05}.library-action-buttons{align-items:center;gap:.45rem;display:flex}.library-main{width:100%;min-height:0;padding:1rem 1rem max(1rem, var(--safe-bottom));overscroll-behavior-y:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 100% 0, var(--brand-soft), transparent 16rem), var(--paper);overflow:hidden auto}.library-main::-webkit-scrollbar{display:none}.trip-scroll-region::-webkit-scrollbar{display:none}.mobile-modal-form::-webkit-scrollbar{display:none}.trip-list{gap:.55rem;width:min(100%,42rem);margin:0 auto;display:grid}.trip-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.trip-open{width:100%;min-height:4.8rem;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:2.7rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem .75rem;display:grid}.trip-emoji{background:color-mix(in srgb, var(--surface-raised) 84%, var(--brand-soft));border-radius:.85rem;place-items:center;width:2.7rem;height:2.7rem;font-size:1.25rem;display:grid}.trip-card-copy,.trip-card-side{min-width:0;display:grid}.trip-card-copy{gap:.16rem}.trip-card-copy b{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.trip-card-copy>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.trip-card-side{justify-items:end;gap:.15rem}.trip-card-side small{color:var(--muted);white-space:nowrap;font-size:.66rem;font-weight:650}.trip-status-current .trip-card-side small{color:var(--accent-secondary)}.trip-arrow{color:var(--muted);font-size:1.15rem}.empty-trips,.empty-editor{width:min(100%,26rem);color:var(--muted);text-align:center;background:0 0;justify-items:center;gap:.55rem;margin:12vh auto 0;padding:1rem;display:grid}.empty-trips>span,.empty-editor>span{width:2.75rem;height:2.75rem;color:var(--accent);background:var(--accent-soft);border-radius:.9rem;place-items:center;font-size:1.2rem;display:grid}.empty-trips h3,.empty-editor h3{font-size:1rem}.empty-trips p,.empty-editor p{max-width:24ch;font-size:.8rem}.empty-trips .add-trip-button{margin-top:.35rem}.trip-shell{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.trip-workspace{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.desktop-trip-sidebar,.desktop-toolbar-title,.toolbar-tab-action-label{display:none}.trip-toolbar{z-index:20;min-height:calc(3.75rem + var(--safe-top));padding:var(--safe-top) .75rem 0;border-bottom:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(18px);flex:none;grid-template-columns:5.9rem minmax(0,1fr) 5.9rem;align-items:center;gap:.5rem;display:grid;position:relative}.trip-toolbar>button,.trip-toolbar .settings-button{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--muted-strong);cursor:pointer;background:0 0;border:0;border-radius:.85rem;padding:0}.toolbar-back{place-items:center;font-size:1.8rem;font-weight:400;line-height:1;display:grid}.trip-toolbar-title{justify-content:center;align-items:center;gap:.45rem;min-width:0;display:flex}.trip-toolbar-title>span{flex:none;font-size:.95rem}.trip-toolbar-title strong{font-family:var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700;overflow:hidden}.toolbar-actions{justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.toolbar-tab-actions{align-items:center;gap:.35rem;display:flex}.toolbar-tab-action{width:2.75rem;min-width:2.75rem;height:2.75rem;color:var(--on-accent);background:var(--accent);cursor:pointer;border:0;border-radius:.85rem;place-items:center;padding:0;display:grid}.toolbar-tab-action.edit{color:var(--accent);background:var(--accent-soft)}.toolbar-tab-action.done{color:var(--on-secondary);background:var(--accent-secondary)}.toolbar-tab-action svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.trip-scroll-region{width:100%;min-height:0;padding:1rem 1rem calc(6.4rem + var(--safe-bottom));overscroll-behavior-y:contain;scroll-padding:1rem 0 calc(7rem + var(--safe-bottom));scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:auto;overflow:hidden auto}.trip-tab-program .inner-page-main,.trip-tab-places .inner-page-main{padding-top:0;scroll-padding-top:0}.view-frame,.home-view{width:min(100%,42rem);margin:0 auto}.home-view{grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;gap:.75rem;min-width:0;max-width:100%;display:grid}.home-view>*,.home-grid,.home-grid>*{min-width:0;max-width:100%}.home-grid{grid-template-columns:minmax(0,1fr);display:grid}.home-overview-strip{display:none}.home-card-title{color:inherit;font:inherit;letter-spacing:inherit;margin:0}.bottom-nav{z-index:30;width:min(100%,42rem);min-height:calc(4.25rem + var(--safe-bottom));padding:.35rem .45rem var(--safe-bottom);border-top:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(20px);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -.8rem 2.4rem #0000000f}.bottom-nav button{min-width:0;min-height:3.65rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:.8rem;align-content:center;place-items:center;gap:.15rem;padding:.3rem .1rem;display:grid;position:relative}.bottom-nav button.active{color:var(--nav-active,var(--brand));background:0 0}.bottom-nav button:first-child,.bottom-nav button:nth-child(2){--nav-active:var(--brand);--nav-active-soft:var(--brand-soft)}.bottom-nav button:nth-child(3){--nav-active:var(--location);--nav-active-soft:var(--location-soft)}.bottom-nav button:nth-child(4){--nav-active:var(--warm-info);--nav-active-soft:var(--warm-info-soft)}.bottom-nav button.active:after{display:none}.nav-icon{width:1.22rem;height:1.22rem;transition:transform .18s var(--ease-out), background .16s ease;border-radius:999px}.bottom-nav button.active .nav-icon{box-sizing:content-box;background:var(--nav-active-soft,var(--brand-soft));padding:.22rem .5rem;transform:translateY(-1px)scale(1.06)}.bottom-nav small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.66rem;font-weight:600;overflow:hidden}.summary-card,.home-priorities,.weather-card,.notes-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-width:0;max-width:100%;box-shadow:var(--shadow-card)}.summary-card{padding:.9rem}.summary-card-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.75rem;display:flex}.summary-card-heading,.summary-row,.summary-row-main,.home-priorities-header>*,.weather-message>div{min-width:0}.summary-card-heading small{color:var(--muted);text-transform:capitalize;margin-bottom:.12rem;font-size:.68rem;font-weight:600;display:block}.summary-card-heading h2{font-size:1.05rem;font-weight:700}.summary-weather{color:var(--warm-info);background:var(--warm-info-soft);border-radius:.7rem;align-items:center;gap:.45rem;padding:.4rem .55rem;display:flex}.summary-weather>span:first-child{font-size:1.05rem}.summary-weather>span:last-child{display:grid}.summary-weather strong{font-size:.82rem}.summary-weather small{color:var(--muted);font-size:.58rem}.summary-weather-loading>span:first-child,.weather-loading>span:first-child{animation:.9s linear infinite spin}.summary-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;padding-top:.75rem;display:grid}.summary-row-main{min-width:0;min-height:3.6rem;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:0;display:grid}.summary-time{color:var(--accent);overflow-wrap:anywhere;font-size:.76rem;font-weight:700}.summary-copy{gap:.08rem;min-width:0;display:grid}.summary-copy small,.summary-copy>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.summary-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.summary-chevron{color:var(--muted)}.summary-map,.home-priority-maps{border-color:var(--accent-secondary-line);width:2.75rem;min-width:2.75rem;height:2.75rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:.8rem;place-items:center;padding:0;display:grid}.summary-empty{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;font-size:.78rem;display:flex}.summary-empty button{border:1px solid var(--line-strong);min-height:2.5rem;color:var(--ink);background:0 0;border-radius:.7rem;padding:.5rem .75rem}.home-priority-copy strong,.weather-message p,.note-status{overflow-wrap:anywhere}.home-priorities{padding:.9rem}.home-priorities-header,.home-priorities-title,.home-priority-item{align-items:center;display:flex}.home-priorities-header{justify-content:space-between;gap:1rem;margin-bottom:.5rem}.home-priorities-title{gap:.55rem}.home-priorities-title>span{width:1.7rem;height:1.7rem;color:var(--accent-tertiary);background:var(--accent-tertiary-soft);border-radius:.55rem;place-items:center;font-weight:800;display:grid}.home-priorities-title small{color:var(--muted);font-size:.62rem;display:block}.home-priorities-title h2{font-size:.9rem}.home-priorities-header>button{min-height:2.5rem;color:var(--muted-strong);background:0 0;border:0;padding:.4rem .55rem;font-size:.68rem}.home-priority-list{display:grid}.home-priority-item{border-top:1px solid var(--line);justify-content:space-between;gap:.65rem;min-height:3.8rem;padding:.6rem 0}.home-priority-main,.home-priority-copy{min-width:0}.home-priority-copy{gap:.08rem;display:grid}.home-priority-copy small,.home-priority-place{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.home-priority-copy strong{font-size:.84rem}.quick-grid{display:none}.weather-card,.notes-card{padding:.9rem}.weather-days{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.5rem;width:100%;min-width:0;max-width:100%;padding-bottom:.15rem;display:flex;overflow-x:auto}.weather-days::-webkit-scrollbar{display:none}.weather-day{background:var(--surface-raised);text-align:center;border-radius:.8rem;flex:0 0 5.8rem;justify-items:center;gap:.25rem;padding:.65rem .45rem;display:grid}.weather-day>div:first-child{display:grid}.weather-day small,.weather-day b,.weather-temperatures span{color:var(--muted);font-size:.62rem;font-weight:600}.weather-icon{font-size:1.2rem}.weather-temperatures{align-items:baseline;gap:.2rem;display:flex}.weather-temperatures strong{font-size:.85rem}.weather-rain{color:var(--muted);font-size:.65rem}.weather-message{align-items:center;gap:.75rem;min-height:4rem;display:flex}.weather-message>span{width:2.5rem;height:2.5rem;color:var(--warm-info);background:var(--warm-info-soft);border-radius:.75rem;flex:none;place-items:center;display:grid}.weather-message b{font-size:.82rem;display:block}.weather-message p{color:var(--muted);margin-top:.1rem;font-size:.7rem}.notes-card textarea{resize:none;width:100%;min-width:0;max-width:100%;min-height:6.5rem}.note-status{color:var(--muted);margin-top:.45rem;font-size:.65rem;display:block}.note-status.failed{color:var(--danger)}.note-status.pending{color:var(--accent)}.note-conflict{background:var(--surface-raised);border-radius:.8rem;margin-top:.7rem;padding:.75rem}.note-conflict b{font-size:.78rem}.note-conflict p{color:var(--muted);margin-top:.1rem;font-size:.7rem}.note-conflict>div{gap:.45rem;margin-top:.65rem;display:flex}.note-conflict button{border:1px solid var(--line-strong);min-height:2.5rem;color:var(--ink);background:0 0;border-radius:.65rem;padding:.45rem .65rem;font-size:.68rem}.collection-toolbar{z-index:6;border-bottom:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:.75rem;min-height:3.3rem;margin:0 0 .75rem;padding:.7rem 0;display:flex;position:sticky;top:0}.collection-toolbar>span{color:var(--muted);font-size:.7rem;font-weight:650}.program-toolbar-summary{gap:.08rem;min-width:0;display:grid}.program-toolbar-summary strong{color:var(--ink);font-size:.82rem;font-weight:700}.program-toolbar-summary small{color:var(--muted);font-size:.7rem;font-weight:550}.collection-toolbar-actions{align-items:center;gap:.4rem;display:flex}.collection-toolbar .manage-program-button,.collection-toolbar .calendar-export-button,.collection-toolbar .exit-edit-mode-button,.places-toolbar-row .manage-program-button,.places-toolbar-row .exit-edit-mode-button{justify-content:center;align-items:center;gap:.4rem;min-height:2.75rem;padding:.5rem .75rem;display:inline-flex}.manage-program-button svg,.calendar-export-button svg,.exit-edit-mode-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.places-toolbar-row .manage-program-button .drag-handle-icon{fill:currentColor;stroke:none}.calendar-export-button{color:var(--muted-strong);justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.collection-toolbar .program-calendar-button{border-color:var(--line);background:var(--surface);border-radius:.85rem;width:2.75rem;min-width:2.75rem;padding:0}.exit-edit-mode-button{border-color:var(--line-strong);color:var(--muted-strong);background:var(--surface)}.editor-heading{justify-content:flex-end;align-items:center;gap:.5rem;min-height:2.75rem;margin:0 0 .65rem;display:flex}.day-heading{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.editor-heading-actions{justify-content:flex-end;align-items:center;gap:.45rem;width:100%;display:flex}.editor-heading .add-trip-button,.editor-heading .manage-program-button{min-height:2.65rem}.edit-mode-hint,.drag-instruction,.form-intro{color:var(--muted);background:var(--surface-raised);border-radius:.75rem;align-items:center;gap:.5rem;margin:0 0 .75rem;padding:.65rem .75rem;font-size:.7rem;display:flex}.edit-mode-notice{border:1px solid var(--accent-secondary-line);background:var(--accent-secondary-soft);border-radius:.85rem;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:.65rem;margin:0 0 .75rem;padding:.65rem .7rem;display:grid}.edit-mode-notice-icon{width:2.25rem;height:2.25rem;color:var(--accent-secondary);background:var(--surface);border-radius:.68rem;place-items:center;display:grid}.edit-mode-notice-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.05rem;height:1.05rem}.edit-mode-notice-copy{gap:.08rem;min-width:0;display:grid}.edit-mode-notice-copy strong{font-size:.8rem}.edit-mode-notice-copy small{color:var(--muted-strong);font-size:.7rem;line-height:1.35}.edit-mode-notice>.drag-handle-icon{color:var(--accent-secondary)}.drag-handle-icon{width:.8rem;height:1.1rem;color:var(--muted)}.program-days{gap:0;padding-bottom:.5rem;display:grid}.program-day:not(.is-unscheduled){border-top:1px solid var(--line);padding:1rem 0 1.2rem}.program-day:not(.is-unscheduled):first-child,.program-day.is-unscheduled+.program-day{border-top:0;padding-top:.1rem}.program-day.is-unscheduled{border:1px solid var(--accent-sun-line);background:linear-gradient(135deg, var(--warm-info-soft), transparent 72%), var(--paper);border-radius:1.15rem;margin:0 0 1rem;padding:.78rem}.program-day-header{justify-content:space-between;align-items:center;gap:.75rem;min-height:2.75rem;margin:0 0 .55rem;padding:0 .1rem;display:flex}.program-day-title{gap:.02rem;min-width:0;display:grid}.program-day-title h3{letter-spacing:-.01em;text-transform:capitalize;align-items:center;gap:.42rem;font-size:.9rem;font-weight:720;display:flex}.program-unscheduled-marker{background:var(--warm-info);width:.48rem;height:.48rem;box-shadow:0 0 0 4px var(--warm-info-soft);border-radius:50%;flex:none;display:block}.program-day-title p{color:var(--muted);font-size:.72rem;font-weight:550}.day-map-button{border:1px solid var(--line);width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--muted-strong);background:var(--surface);cursor:pointer;border-radius:.85rem;flex:none;place-items:center;padding:0;display:grid}.day-map-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.05rem;height:1.05rem}.program-list{gap:.5rem;display:grid;overflow:visible}.plan-card{border:1px solid var(--line);width:100%;min-height:4.75rem;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-card);text-align:left;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, opacity var(--motion-fast) ease, transform var(--motion-fast) var(--ease-out);border-radius:1rem;grid-template-columns:3.1rem minmax(0,1fr) .8rem;align-items:center;gap:.7rem;padding:.76rem .8rem;display:grid;position:relative;overflow:visible}.plan-card:not(:disabled):active{transform:none}.plan-card:focus-visible{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:2px}.plan-card.is-pressing{border-color:var(--line-strong);background:var(--surface-raised);transform:scale(.988)}.plan-card.is-pressing:not(:disabled):active{transform:scale(.988)}.plan-card.is-dragging{z-index:1;opacity:.18;border-color:var(--accent-line);background:var(--surface);transform:none}.place-card.is-dragging{z-index:1;opacity:.24;background:var(--reorder-soft);box-shadow:inset 0 0 0 1px var(--accent-line);transform:none}.plan-card.is-drop-target:after,.place-card.is-drop-target:after,.check-row.is-drop-target:after{content:"";z-index:4;background:var(--reorder);height:3px;box-shadow:0 0 0 3px var(--reorder-soft);pointer-events:none;border-radius:999px;position:absolute;left:.65rem;right:.65rem}.plan-card.is-drop-target.drop-before:after,.place-card.is-drop-target.drop-before:after,.check-row.is-drop-target.drop-before:after{top:1px}.plan-card.is-drop-target.drop-after:after,.place-card.is-drop-target.drop-after:after,.check-row.is-drop-target.drop-after:after{bottom:1px}.reorder-drag-ghost{z-index:19;border:1px solid var(--accent-line);border-radius:var(--radius-md);color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-float);pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;will-change:transform;grid-template-columns:3rem minmax(0,1fr) 2.75rem;align-items:center;gap:.65rem;padding:.75rem;display:grid;position:fixed;overflow:hidden}.program-reorder-drag-ghost{border-color:var(--line-strong);background:var(--surface-raised);min-height:4.75rem;box-shadow:var(--shadow-float);border-radius:1rem;grid-template-columns:3.1rem minmax(0,1fr);padding:.76rem .8rem}.reorder-drag-ghost-meta{color:var(--reorder);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:750;overflow:hidden}.reorder-drag-ghost>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:700;overflow:hidden}.reorder-drag-ghost-handle{width:2.75rem;height:2.75rem;color:var(--on-accent);background:var(--reorder);border-radius:.75rem;place-items:center;display:grid}.reorder-drag-ghost-handle svg{fill:currentColor;width:1.15rem;height:1.15rem}.plan-time{color:var(--muted-strong);letter-spacing:-.01em;white-space:nowrap;align-self:center;font-size:.76rem;font-weight:720}.plan-time:not(.flexible){min-height:1.8rem;color:var(--brand);background:var(--brand-soft);border-radius:.58rem;place-items:center;padding:.25rem .3rem;display:grid}.plan-time.flexible{border:1px solid var(--line);width:1.8rem;height:1.8rem;color:var(--accent-secondary);background:0 0;border-radius:.6rem;place-items:center;padding:0;font-size:.95rem;display:grid}.plan-copy{gap:.18rem;min-width:0;display:grid}.plan-title-row{align-items:center;gap:.35rem;min-width:0;display:flex}.plan-title-row>strong{min-width:0;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.93rem;font-weight:700;line-height:1.35;overflow:hidden}.plan-card-meta{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:.38rem;font-size:.74rem;line-height:1.35;display:flex;overflow:hidden}.plan-card-meta>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.plan-card-meta>span+span:before{content:"·";color:var(--line-strong);margin-right:.38rem}.plan-important-mark{width:1.25rem;height:1.25rem;color:var(--accent-tertiary);background:var(--accent-tertiary-soft);border-radius:.4rem;flex:none;place-items:center;margin-top:.02rem;display:grid}.plan-important-mark svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;width:.78rem;height:.78rem}.plan-card-chevron{color:var(--muted);align-self:center;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.35rem;font-weight:350;line-height:1}.item-actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;display:flex}.map-chip,.document-button{justify-content:center;align-items:center;min-height:2.35rem;padding:.4rem .62rem;font-size:.67rem;display:inline-flex}.card-drag-handle{border:1px solid var(--line-strong);width:2.75rem;height:2.75rem;color:var(--muted-strong);background:var(--surface);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;z-index:2;border-radius:.75rem;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.card-drag-handle:active{cursor:grabbing;transform:translateY(-50%)scale(.96)}.card-view-target{z-index:1;border-radius:inherit;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.card-view-target.with-drag-handle{right:3.75rem}.card-view-target:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.card-view-target:active{background:var(--accent-soft);transform:none}.place-card .item-actions{z-index:2;position:relative}.hotel-card.is-editable .item-actions{display:none}.check-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.check-row{border-bottom:1px solid var(--line);min-height:3.8rem;transition:background .16s ease, opacity .16s ease, transform .2s var(--ease-out), box-shadow .2s var(--ease-out);grid-template-columns:2.8rem minmax(0,1fr);align-items:center;display:grid;position:relative}.check-row:last-child{border-bottom:0}.check-row.is-pressing{z-index:1;background:var(--surface-raised);box-shadow:var(--shadow-card);transform:scale(.99)}.check-row.is-dragging{opacity:.18;background:var(--surface-raised)}.check-toggle{width:2.8rem;min-width:2.8rem;height:2.8rem;min-height:2.8rem;color:var(--on-secondary);cursor:pointer;background:0 0;border:0;border-radius:.8rem;place-items:center;margin-left:.2rem;padding:0;display:grid}.check-toggle-mark,.toggle-field input{appearance:none;border:1.5px solid var(--muted);width:1.35rem;height:1.35rem;transition:border-color .15s ease, background .15s ease, transform .18s var(--ease-out);background:0 0;border-radius:.45rem;place-items:center;margin:0;display:grid}.check-toggle-mark:after,.toggle-field input:after{content:"";border-left:2px solid var(--on-secondary);border-bottom:2px solid var(--on-secondary);opacity:0;width:.55rem;height:.3rem;transition:opacity var(--motion-fast) ease, transform var(--motion-fast) var(--ease-spring);transform:translateY(-1px)rotate(-45deg)scale(.7)}.check-toggle[aria-checked=true] .check-toggle-mark,.toggle-field input:checked{border-color:var(--positive);background:var(--positive)}.check-toggle[aria-checked=true] .check-toggle-mark:after,.toggle-field input:checked:after{opacity:1;transform:translateY(-1px)rotate(-45deg)scale(1)}.check-toggle:active .check-toggle-mark{transform:scale(.88)}.check-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.check-row-main{min-width:0;min-height:3.8rem;color:var(--ink);text-align:left;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;grid-template-columns:minmax(0,1fr) .8rem;align-self:stretch;align-items:center;gap:.65rem;padding:.65rem .8rem .65rem .15rem;display:grid}.check-row-main:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.check-row-title{min-width:0;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:620;line-height:1.35;overflow:hidden}.check-row-chevron{color:var(--muted);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.25rem;font-weight:350}.check-row.done .check-row-title{color:var(--muted);text-decoration:line-through}.checklist-reorder-drag-ghost{border-color:var(--line-strong);border-radius:var(--radius-md);grid-template-columns:2.8rem minmax(0,1fr);min-height:3.8rem;padding:.5rem .8rem .5rem .2rem}.checklist-ghost-check{border:1.5px solid var(--muted);width:1.35rem;height:1.35rem;color:var(--on-secondary);border-radius:.45rem;place-items:center;margin-left:.72rem;font-size:.62rem;font-weight:800;display:grid}.checklist-ghost-check.checked{border-color:var(--positive);background:var(--positive)}.secondary-button{width:100%;margin-top:.65rem}.checklist-editor-form{scroll-padding-bottom:calc(7rem + var(--safe-bottom))}.places-editor{width:100%;min-width:0}.places-view-switch,.settings-tabs,.time-mode-switch{background:var(--surface-raised);border-radius:.85rem;gap:.2rem;padding:.25rem;display:grid}.places-view-switch,.time-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.places-view-switch{margin-bottom:.75rem}.places-toolbar-row{z-index:6;border-bottom:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(18px);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;margin:0 0 .75rem;padding:.7rem 0;display:grid;position:sticky;top:0}.places-toolbar-row .places-view-switch{margin-bottom:0}.places-toolbar-row .manage-program-button,.places-toolbar-row .exit-edit-mode-button{padding-inline:.75rem}.places-view-switch button,.settings-tabs button,.time-mode-switch button,.map-day-filters button,.emoji-presets button,.theme-options>button{min-height:2.6rem;color:var(--muted);cursor:pointer;transition:color var(--motion-fast) ease, background var(--motion-fast) ease, transform var(--motion-fast) var(--ease-out);background:0 0;border:0;border-radius:.65rem;padding:.5rem .65rem;font-size:.72rem;font-weight:650}.hotel-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.hotel-card{border-bottom:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr);gap:.7rem;min-height:5rem;padding:.8rem .85rem;display:grid;position:relative}.hotel-card:last-child{border-bottom:0}.hotel-card.is-editable{background:var(--surface-raised);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding-right:3.8rem}.hotel-icon{width:2.5rem;height:2.5rem;color:var(--muted-strong);background:var(--surface-raised);border-radius:.75rem;place-items:center;font-size:1rem;display:grid}.place-card.visited .hotel-icon{color:var(--on-secondary);background:var(--accent-secondary)}.place-card.favorite .hotel-icon,.place-detail-hero.favorite .hotel-icon{color:var(--favorite);background:var(--favorite-soft)}.hotel-copy{align-content:start;gap:.12rem;min-width:0;display:grid}.hotel-copy h3{font-size:.88rem}.hotel-copy>small,.hotel-copy>span,.hotel-copy>p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.hotel-copy>p{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.place-schedule{flex-wrap:wrap;gap:.3rem;margin:.22rem 0 .12rem;display:flex}.place-schedule>span{color:var(--accent-secondary);background:var(--accent-secondary-soft);text-transform:capitalize;border-radius:999px;padding:.16rem .42rem;font-size:.61rem;font-weight:650}.linked-program-summary{border:1px solid var(--line);background:var(--surface-raised);border-radius:.85rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-top:.85rem;padding:.7rem .75rem;display:grid}.linked-program-summary>div{min-width:0}.linked-program-summary>div>span{color:var(--muted-strong);font-size:.74rem;font-weight:650}.linked-program-summary .place-schedule{margin-bottom:0}.linked-program-summary>button{border:1px solid var(--line-strong);min-height:2.75rem;color:var(--ink);background:var(--surface);border-radius:.72rem;padding:.5rem .7rem;font-size:.74rem;font-weight:650}.hotel-copy .item-actions{margin-top:.4rem}.reservation-list{gap:.5rem;padding-bottom:1.5rem;display:grid}.reservation-card{border:1px solid var(--line);width:100%;min-height:5rem;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-card);text-align:left;cursor:pointer;border-radius:1rem;grid-template-columns:2.8rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.72rem .75rem;transition:border-color .16s,background .16s,transform .16s;display:grid;overflow:hidden}.reservation-card-icon{width:2.8rem;height:2.8rem;color:var(--muted-strong);background:var(--surface-raised);border-radius:.85rem;place-items:center;font-size:1rem;font-weight:750;display:grid}.reservation-card-icon.transport{color:var(--accent-secondary);background:var(--accent-secondary-soft)}.reservation-card-icon.lodging{color:var(--accent);background:var(--accent-soft)}.reservation-card-icon.activity{color:var(--accent-tertiary);background:var(--accent-tertiary-soft)}.reservation-card-copy{gap:.08rem;min-width:0;display:grid}.reservation-card-copy small,.reservation-card-copy>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;font-weight:600;overflow:hidden}.reservation-card-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:720;overflow:hidden}.reservation-card-tail{color:var(--muted);align-items:center;gap:.45rem;display:flex}.reservation-card-tail>span{width:1.55rem;height:1.55rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:.5rem;place-items:center;font-size:.7rem;display:grid}.reservation-card-tail b{font-size:1.2rem;font-weight:450}.reservation-detail-modal{scroll-padding-bottom:calc(6rem + var(--safe-bottom))}.reservation-detail-content{gap:.75rem;padding-bottom:1.25rem;display:grid}.reservation-detail-hero{grid-template-columns:3.25rem minmax(0,1fr);align-items:center;gap:.8rem;padding:.25rem 0 .5rem;display:grid}.reservation-detail-hero .reservation-card-icon{border-radius:1rem;width:3.25rem;height:3.25rem;font-size:1.15rem}.reservation-detail-hero>div{gap:.12rem;min-width:0;display:grid}.reservation-detail-hero small,.reservation-detail-location small,.reservation-detail-route small,.reservation-detail-notes>small,.reservation-detail-link small{color:var(--muted);font-size:.66rem;font-weight:650}.reservation-detail-hero h2{overflow-wrap:anywhere;font-size:1.25rem;font-weight:740;line-height:1.18}.reservation-detail-route,.reservation-detail-location,.reservation-detail-facts,.reservation-detail-notes,.reservation-detail-link{border:1px solid var(--line);background:var(--surface);border-radius:1rem}.reservation-detail-route{gap:.18rem;padding:.85rem;display:grid}.reservation-detail-route>div:not(.reservation-route-line){grid-template-columns:.7rem minmax(0,1fr);align-items:center;gap:.6rem;display:grid}.reservation-detail-route>div>span{border:2px solid var(--accent-secondary);background:var(--surface);border-radius:50%;width:.55rem;height:.55rem}.reservation-detail-route p{gap:.08rem;min-width:0;display:grid}.reservation-detail-route strong,.reservation-detail-location strong{overflow-wrap:anywhere;font-size:.82rem;line-height:1.3}.reservation-route-line{background:var(--accent-secondary-line);width:1px;height:.65rem;margin-left:.26rem}.reservation-detail-location{grid-template-columns:2.35rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.75rem;display:grid}.reservation-detail-location>span{width:2.35rem;height:2.35rem;color:var(--accent);background:var(--accent-soft);border-radius:.72rem;place-items:center;font-size:.9rem;display:grid}.reservation-detail-location>div{gap:.08rem;min-width:0;display:grid}.reservation-detail-facts{margin:0;display:grid;overflow:hidden}.reservation-detail-facts>div{grid-template-columns:minmax(4.8rem,.75fr) minmax(0,1.6fr);gap:.75rem;padding:.78rem .85rem;display:grid}.reservation-detail-facts>div+div{border-top:1px solid var(--line)}.reservation-detail-facts dt{color:var(--muted);font-size:.68rem;font-weight:620}.reservation-detail-facts dd{overflow-wrap:anywhere;min-width:0;color:var(--ink);text-align:right;margin:0;font-size:.75rem;font-weight:650}.reservation-reference-value{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.reservation-detail-file{margin-top:0}.reservation-detail-file .reservation-file-row{grid-template-columns:2.35rem minmax(0,1fr) auto}.reservation-detail-link{min-height:3.6rem;color:var(--ink);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;text-decoration:none;display:flex}.reservation-detail-link>span{gap:.08rem;min-width:0;display:grid}.reservation-detail-link strong{font-size:.76rem}.reservation-detail-link b{color:var(--accent-secondary);font-size:.9rem}.reservation-detail-notes{gap:.35rem;padding:.85rem;display:grid}.reservation-detail-notes p{overflow-wrap:anywhere;color:var(--muted-strong);white-space:pre-wrap;font-size:.76rem;line-height:1.55}.reservation-detail-actions .save-trip-button{min-height:3rem}.program-detail-hero,.place-detail-hero{grid-template-columns:3.25rem minmax(0,1fr);align-items:center;gap:.8rem;padding:.25rem 0 .5rem;display:grid}.program-detail-hero>div,.place-detail-hero>div{gap:.12rem;min-width:0;display:grid}.program-detail-hero h2,.place-detail-hero h2{overflow-wrap:anywhere;font-size:1.25rem;font-weight:740;line-height:1.18}.program-detail-time{width:3.25rem;height:3.25rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:1rem;place-items:center;font-size:.82rem;font-weight:760;display:grid}.program-detail-time.flexible{font-size:1.15rem}.program-detail-priority{width:fit-content;color:var(--accent-tertiary);background:var(--accent-tertiary-soft);border-radius:999px;align-items:center;gap:.25rem;padding:.18rem .42rem;font-size:.61rem;font-weight:700;display:inline-flex}.program-detail-priority svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:.7rem;height:.7rem}.program-detail-shortcuts,.place-detail-links{margin-top:0}.place-detail-hero .hotel-icon{border-radius:1rem;width:3.25rem;height:3.25rem;font-size:1.1rem}.place-detail-hero small,.place-detail-schedule>small{color:var(--muted);font-size:.66rem;font-weight:650}.place-detail-statuses{flex-wrap:wrap;gap:.3rem;margin-top:.15rem;display:flex}.place-detail-statuses>span{color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:999px;padding:.16rem .42rem;font-size:.6rem;font-weight:680}.place-detail-schedule{border:1px solid var(--line);background:var(--surface);border-radius:1rem;gap:.35rem;padding:.8rem .85rem;display:grid}.place-detail-schedule .place-schedule{margin:0}.reservation-editor-form{scroll-padding-bottom:calc(8rem + var(--safe-bottom))}.reservation-type-picker{border:0;margin:.15rem 0 .35rem;padding:0}.reservation-type-picker legend{color:var(--muted-strong);margin-bottom:.45rem;font-size:.78rem;font-weight:600}.reservation-type-picker>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.reservation-editor-form .reservation-type-picker label{border:1px solid var(--line);min-width:0;min-height:4rem;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:.8rem;place-items:center;gap:.25rem;margin:0;padding:.45rem .2rem;display:grid;position:relative;overflow:hidden}.reservation-editor-form .reservation-type-picker label.active{border-color:var(--accent-secondary-line);color:var(--ink);background:var(--accent-secondary-soft)}.reservation-editor-form .reservation-type-picker label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.reservation-editor-form .reservation-type-picker input{opacity:0;width:1px;min-height:1px;position:absolute}.reservation-editor-form .reservation-type-picker label>span{font-size:1rem;line-height:1}.reservation-editor-form .reservation-type-picker label>small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.61rem;font-weight:680;overflow:hidden}.reservation-reference-fields{gap:0;display:grid}.flight-ticket-import{border:1px solid var(--accent-secondary-line);background:var(--accent-secondary-soft);border-radius:1rem;gap:.65rem;margin:.25rem 0 .75rem;padding:.75rem;display:grid}.flight-ticket-import-intro{grid-template-columns:2.35rem minmax(0,1fr) auto;align-items:center;gap:.65rem;display:grid}.flight-ticket-import-icon{width:2.35rem;height:2.35rem;color:var(--on-secondary);background:var(--accent-secondary);border-radius:.75rem;place-items:center;font-size:.9rem;display:grid}.flight-ticket-import-intro>span:nth-child(2),.flight-ticket-analyzing p,.flight-ticket-review header>span:first-child{gap:.08rem;min-width:0;display:grid}.flight-ticket-import-intro strong,.flight-ticket-review header strong{font-size:.78rem}.flight-ticket-import-intro small,.flight-ticket-analyzing small,.flight-ticket-review header small{color:var(--muted);font-size:.62rem}.flight-ticket-import-intro>button{border:1px solid var(--accent-secondary-line);min-height:2.5rem;color:var(--accent-secondary);background:var(--surface);border-radius:.7rem;padding:.45rem .65rem;font-size:.66rem;font-weight:720}.flight-ticket-import-intro>button:disabled{color:var(--muted);opacity:.72}.flight-ticket-analyzing{background:var(--surface);border-radius:.75rem;grid-template-columns:1.8rem minmax(0,1fr);align-items:center;gap:.5rem;padding:.6rem;display:grid}.flight-ticket-analyzing>span{width:1.8rem;height:1.8rem;color:var(--accent-secondary);place-items:center;animation:.9s linear infinite spin;display:grid}.flight-ticket-analyzing strong{font-size:.7rem}.flight-ticket-review{border:1px solid var(--line);background:var(--surface);border-radius:.85rem;gap:.65rem;padding:.75rem;display:grid}.flight-ticket-review>header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.flight-ticket-private{color:var(--positive);background:var(--positive-soft);border-radius:999px;flex:none;padding:.18rem .42rem;font-size:.58rem;font-weight:750}.flight-segment-picker{scrollbar-width:none;gap:.35rem;display:flex;overflow-x:auto}.flight-segment-picker::-webkit-scrollbar{display:none}.flight-segment-picker button{border:1px solid var(--line);min-height:2.3rem;color:var(--muted-strong);background:var(--surface-raised);border-radius:999px;flex:none;padding:.4rem .6rem;font-size:.62rem;font-weight:680}.flight-segment-picker button.active{color:var(--accent-secondary);border-color:var(--accent-secondary-line);background:var(--accent-secondary-soft)}.flight-ticket-review-route{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;display:grid}.flight-ticket-review-route>span{gap:.08rem;min-width:0;display:grid}.flight-ticket-review-route>span:last-child{text-align:right}.flight-ticket-review-route small{color:var(--muted);font-size:.58rem}.flight-ticket-review-route strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.flight-ticket-review-route em{color:var(--muted-strong);font-size:.59rem;font-style:normal}.flight-ticket-review-route>b{color:var(--accent-secondary);font-size:.75rem}.flight-ticket-warning,.flight-ticket-review-note,.flight-ticket-import-message{color:var(--muted-strong);font-size:.64rem;line-height:1.45}.flight-ticket-warning{color:var(--warm-info);background:var(--warm-info-soft);border-radius:.65rem;padding:.5rem .6rem}.flight-ticket-review-actions{grid-template-columns:auto minmax(0,1fr);gap:.45rem;display:grid}.flight-ticket-review-actions button{border:1px solid var(--line-strong);min-height:2.65rem;color:var(--muted-strong);background:var(--surface);border-radius:.72rem;padding:.5rem .65rem;font-size:.66rem;font-weight:700}.flight-ticket-review-actions button:last-child{color:var(--on-secondary);background:var(--accent-secondary);border-color:#0000}.flight-itinerary-fields{gap:.65rem;margin-top:.8rem;display:grid}.flight-leg-card{border:1px solid var(--line);background:var(--surface);border-radius:1rem;gap:0;padding:.75rem;display:grid}.flight-leg-card>header{grid-template-columns:2.15rem minmax(0,1fr);align-items:center;gap:.55rem;padding-bottom:.1rem;display:grid}.flight-leg-card>header>span{width:2.15rem;height:2.15rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:.7rem;place-items:center;font-size:.8rem;font-weight:760;display:grid}.flight-leg-card.arrival>header>span{color:var(--warm-info);background:var(--warm-info-soft)}.flight-leg-card>header>div{gap:.04rem;display:grid}.flight-leg-card>header strong{font-size:.8rem}.flight-leg-card>header small{color:var(--muted);font-size:.62rem}.flight-leg-card .date-fields{gap:.5rem}.flight-leg-card label{margin-top:.65rem;font-size:.72rem}.flight-timezone-field select{background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) calc(100% - 1rem) 50% / .32rem .32rem no-repeat, linear-gradient(135deg, var(--muted) 50%, transparent 50%) calc(100% - .68rem) 50% / .32rem .32rem no-repeat, var(--field);padding-right:2rem;font-size:.9rem}.flight-local-time-help{color:var(--muted);padding:0 .2rem;font-size:.64rem;line-height:1.45}.reservation-day-offset{color:var(--warm-info);background:var(--warm-info-soft);vertical-align:.08rem;border-radius:999px;margin-left:.35rem;padding:.12rem .32rem;font-size:.56rem;display:inline-flex}.reservation-date-fields{align-items:end}.reservation-file-section{border:1px solid var(--line);background:var(--surface);border-radius:1rem;gap:.6rem;margin-top:1rem;padding:.8rem;display:grid}.reservation-section-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.reservation-section-heading>span:first-child{gap:.08rem;min-width:0;display:grid}.reservation-section-heading strong{font-size:.78rem}.reservation-section-heading small{color:var(--muted);font-size:.64rem}.reservation-file-ready{width:1.5rem;height:1.5rem;color:var(--on-secondary);background:var(--accent-secondary);border-radius:50%;flex:none;place-items:center;font-size:.65rem;font-weight:800;display:grid}.reservation-file-empty{color:var(--muted);padding:.5rem 0;font-size:.7rem}.reservation-file-row{background:var(--surface-raised);border-radius:.8rem;grid-template-columns:2.35rem minmax(0,1fr) auto;align-items:center;gap:.6rem;min-height:3.3rem;padding:.45rem;display:grid}.reservation-file-icon{width:2.35rem;height:2.35rem;color:var(--accent-secondary);background:var(--surface);border-radius:.68rem;place-items:center;font-size:.8rem;font-weight:750;display:grid}.reservation-file-row>span:nth-child(2){gap:.06rem;min-width:0;display:grid}.reservation-file-row strong,.reservation-file-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reservation-file-row strong{font-size:.72rem}.reservation-file-row small{color:var(--muted);font-size:.62rem}.reservation-file-row>button{width:2.5rem;min-width:2.5rem;height:2.5rem;color:var(--muted);background:0 0;border-color:#0000;place-items:center;padding:0;font-size:1rem;display:grid}.reservation-file-row>a{color:var(--accent-secondary);font-size:.68rem;font-weight:700}.reservation-file-picker,.reservation-file-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.reservation-file-picker button,.reservation-file-actions button,.reservation-external-link{border:1px solid var(--line-strong);min-height:2.75rem;color:var(--muted-strong);background:var(--field);border-radius:.75rem;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .65rem;font-size:.68rem;font-weight:700;display:inline-flex}.reservation-file-picker button:last-child{color:var(--on-secondary);background:var(--accent-secondary);border-color:#0000}.reservation-file-actions button{background:var(--surface)}.reservation-more-fields{margin-bottom:1rem}.reservation-external-link{color:var(--accent-secondary);background:var(--accent-secondary-soft);margin-top:.75rem}.trip-map-view{gap:.55rem;min-width:0;min-height:0;display:grid}.map-day-filters{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;gap:.35rem;width:100%;min-width:0;padding:.1rem .05rem .3rem;scroll-padding-inline:.05rem;display:flex;overflow-x:auto}.map-day-filters::-webkit-scrollbar{display:none}.map-day-filters button{border:1px solid var(--line-strong);background:var(--surface);scroll-snap-align:start;text-transform:capitalize;flex:none;min-height:2.75rem}.trip-map-stage{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--map-background);isolation:isolate;min-width:0;height:clamp(17rem,42dvh,22rem);min-height:0;position:relative;overflow:hidden}.trip-map-canvas,.trip-map-canvas.leaflet-container{z-index:0;background:var(--map-background);width:100%;height:100%;font-family:inherit;position:absolute;inset:0}.trip-map-canvas .leaflet-tile-pane{filter:saturate(.9)contrast(1.02)}html:not([data-theme=light]) .trip-map-canvas .leaflet-tile-pane{filter:saturate(.86)contrast(1.04)}.map-recenter-button{z-index:4;border:1px solid var(--line-strong);width:2.75rem;height:2.75rem;color:var(--accent-secondary);background:var(--chrome);box-shadow:var(--shadow-float);cursor:pointer;-webkit-backdrop-filter:blur(12px);border-radius:.75rem;place-items:center;padding:0;display:grid;position:absolute;top:6.65rem;right:.6rem}.map-recenter-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:1.2rem;height:1.2rem}.trip-map-canvas .leaflet-control-zoom{border:1px solid var(--line-strong);box-shadow:var(--shadow-float);border-radius:.75rem;overflow:hidden}.trip-map-canvas .leaflet-control-zoom a{border:0;border-bottom:1px solid var(--line);width:2.75rem;height:2.75rem;color:var(--ink);background:var(--chrome);place-items:center;display:grid}.trip-map-canvas .leaflet-control-zoom a:last-child{border-bottom:0}.trip-map-canvas .leaflet-control-zoom a.leaflet-disabled{color:var(--muted);background:var(--surface-raised);opacity:.62}.trip-map-canvas .leaflet-control-attribution{max-width:calc(100% - .5rem);color:var(--muted);background:var(--chrome);border-radius:.35rem;padding:.15rem .3rem;font-size:.625rem;margin:0 .25rem .25rem 0!important}.trip-map-canvas .leaflet-control-attribution a{color:var(--muted-strong);text-underline-offset:2px;text-decoration:underline}.compass-map-marker-shell{place-items:start center;display:grid;background:0 0!important;border:0!important}.compass-map-marker{z-index:1;border:2px solid var(--surface);width:2.15rem;height:2.15rem;color:var(--on-accent);background:var(--brand);transition:color var(--motion-fast) ease, background var(--motion-fast) ease, transform var(--motion-base) var(--ease-out);border-radius:50%;place-items:center;font-size:.68rem;font-weight:800;display:grid;position:relative;box-shadow:0 .35rem .9rem #0000004d}.compass-map-marker:after{content:"";z-index:-1;border-right:2px solid var(--surface);border-bottom:2px solid var(--surface);background:inherit;width:.7rem;height:.7rem;position:absolute;bottom:-.35rem;left:50%;transform:translate(-50%)rotate(45deg)}.compass-map-marker.important{color:var(--on-tertiary);background:var(--accent-tertiary)}.compass-map-marker-shell.is-active .compass-map-marker:not(.important){color:var(--on-secondary);background:var(--location)}.compass-map-marker-shell.is-active .compass-map-marker{box-shadow:0 0 0 4px var(--accent-secondary-soft), 0 .5rem 1.2rem #00000059;transform:scale(1.12)}.map-status-stack{z-index:2;pointer-events:none;justify-items:start;gap:.3rem;max-width:calc(100% - 4.5rem);display:grid;position:absolute;top:.6rem;left:.6rem}.map-status-badge{border:1px solid var(--line-strong);min-height:2.2rem;color:var(--muted-strong);background:var(--chrome);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:.4rem .6rem;font-size:.62rem;font-weight:650;box-shadow:0 .4rem 1rem #00000029}button.map-status-badge{pointer-events:auto}.map-offline-status,.map-tiles-status{color:var(--danger)}.map-geocoding-status>span{color:var(--accent-secondary);animation:.9s linear infinite spin;display:inline-block}.map-empty-state{z-index:2;border-radius:var(--radius-md);background:var(--chrome);width:min(100% - 2rem,18rem);box-shadow:var(--shadow-float);text-align:center;justify-items:center;gap:.55rem;padding:1rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-empty-state>span{width:2.5rem;height:2.5rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:.75rem;place-items:center;display:grid}.map-empty-state b{font-size:.78rem}.map-empty-state button{border:1px solid var(--line-strong);min-height:2.5rem;color:var(--ink);background:0 0;border-radius:.7rem;padding:.45rem .65rem;font-size:.68rem}.map-selection-sheet{z-index:3;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--chrome);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(16px);gap:.2rem;padding:.85rem 3.2rem .85rem .9rem;display:grid;position:absolute;bottom:.6rem;left:.6rem;right:.6rem}.map-selection-sheet>small,.map-sheet-entries span{color:var(--muted);font-size:.62rem}.map-selection-sheet h3{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.map-sheet-address{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.map-sheet-entries,.map-sheet-entries>div{display:grid}.map-sheet-entries b{font-size:.7rem}.map-sheet-more{color:var(--accent-secondary)!important}.map-selection-sheet>a{min-height:2.4rem;color:var(--on-secondary);background:var(--accent-secondary);border-radius:.7rem;justify-content:center;justify-self:start;align-items:center;margin-top:.35rem;padding:.45rem .65rem;font-size:.68rem;font-weight:700;display:inline-flex}.map-sheet-close{position:absolute;top:.65rem;right:.65rem}.modal-portal-layer{z-index:1000;background:var(--overlay);overscroll-behavior:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.modal-portal-layer:has(.app-settings-dialog){place-items:end center}.mobile-modal-form{width:min(100%,32rem);height:100dvh;color:var(--ink);background:var(--paper);box-shadow:var(--shadow-modal);overscroll-behavior-y:contain;scroll-padding:calc(5rem + var(--safe-top)) 0 calc(7rem + var(--safe-bottom));scrollbar-width:none;-webkit-overflow-scrolling:touch;border:0;border-radius:0;flex-direction:column;margin:0;padding:0 1rem;display:flex;position:relative;overflow:hidden auto}.mobile-modal-form>*{flex-shrink:0}.mobile-modal-header{z-index:8;min-height:calc(4rem + var(--safe-top));padding:var(--safe-top) 1rem 0;border-bottom:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(18px);outline:none;justify-content:space-between;align-items:center;gap:1rem;margin:0 -1rem 1rem;display:flex;position:sticky;top:0}.mobile-modal-header>div{min-width:0}.mobile-modal-header p{color:var(--muted);margin-bottom:.05rem;font-size:.65rem;font-weight:650}.mobile-modal-header h2{text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;font-weight:700;line-height:1.2;overflow:hidden}.mobile-modal-header button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:1.1rem;height:1.1rem}.mobile-modal-form label,.destination-field>label,.time-mode-field>span,.emoji-field>label{color:var(--muted-strong);gap:.4rem;margin:.75rem 0 0;font-size:.78rem;font-weight:600;display:grid}.mobile-modal-form input,.mobile-modal-form textarea,.mobile-modal-form select,.auth-card input,.notes-card textarea{border:1px solid var(--line-strong);width:100%;min-width:0;min-height:3.25rem;color:var(--ink);background:var(--field);appearance:none;border-radius:.8rem;outline:none;padding:.75rem .85rem;font-size:1rem;line-height:1.3}.mobile-modal-form textarea,.notes-card textarea{min-height:6.5rem}.mobile-modal-form input::placeholder,.mobile-modal-form textarea::placeholder,.auth-card input::placeholder,.notes-card textarea::placeholder{color:var(--muted);opacity:.72}.mobile-modal-form input:focus,.mobile-modal-form textarea:focus,.mobile-modal-form select:focus,.auth-card input:focus,.notes-card textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--accent-secondary-soft)}.place-category-select{display:block;position:relative}.place-category-select select{cursor:pointer;padding-right:2.75rem}.place-category-chevron{color:var(--muted);pointer-events:none;font-size:1rem;line-height:1;position:absolute;top:50%;right:1rem;transform:translateY(-55%)}.mobile-modal-form [aria-invalid=true],.auth-card [aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;min-width:0;display:grid}.date-fields label,.date-fields input{min-width:0;max-width:100%}input[type=date],input[type=time]{min-width:0;max-width:100%;color-scheme:inherit;display:block}.time-mode-field{gap:.5rem;margin-top:.75rem;display:grid}.program-schedule-field{border:0;gap:.5rem;min-width:0;margin:.75rem 0 0;padding:0;display:grid}.program-schedule-field legend{color:var(--muted-strong);margin-bottom:.4rem;font-size:.78rem;font-weight:600}.program-schedule-field .date-fields label{margin-top:0}.program-unscheduled-help{border:1px solid var(--line);background:var(--surface-raised);border-radius:.85rem;grid-template-columns:2.4rem minmax(0,1fr);align-items:center;gap:.7rem;min-height:3.65rem;padding:.58rem .7rem;display:grid}.program-unscheduled-help>span:first-child{width:2.4rem;height:2.4rem;color:var(--warm-info);background:var(--warm-info-soft);border-radius:.72rem;place-items:center;display:grid}.program-unscheduled-help svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.08rem;height:1.08rem}.program-unscheduled-help>span:last-child{gap:.08rem;min-width:0;display:grid}.program-unscheduled-help strong{color:var(--ink);font-size:.76rem;font-weight:700}.program-unscheduled-help small{color:var(--muted);font-size:.67rem;line-height:1.35}.time-mode-field>span{margin:0}.flexible-time-fields{gap:.5rem;display:grid}.program-position-control{border:1px solid var(--line);background:var(--surface);border-radius:.9rem;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.6rem;margin-top:.85rem;padding:.45rem .5rem .45rem .75rem;display:flex}.program-position-control>span{gap:.02rem;min-width:0;display:grid}.program-position-control strong{font-size:.76rem;font-weight:700}.program-position-control small{color:var(--muted);font-size:.65rem}.program-position-control>div{flex:none;gap:.35rem;display:flex}.program-position-control button{border:1px solid var(--line);width:2.65rem;min-width:2.65rem;height:2.65rem;color:var(--muted-strong);background:var(--field);cursor:pointer;border-radius:.75rem;place-items:center;padding:0;font-size:1rem;font-weight:650;display:grid}.toggle-field{background:var(--surface-raised);border-radius:.8rem;grid-template-columns:none;align-items:center;min-height:3.25rem;padding:.65rem .75rem;gap:.65rem!important;display:flex!important}.priority-toggle{border:1px solid var(--line);width:100%;min-height:4.3rem;color:var(--ink);background:var(--surface-raised);text-align:left;cursor:pointer;border-radius:.85rem;grid-template-columns:2.5rem minmax(0,1fr) 2.65rem;align-items:center;gap:.7rem;margin-top:.85rem;padding:.65rem .75rem;display:grid}.priority-toggle.active{border-color:var(--accent-tertiary-line);background:var(--accent-tertiary-soft)}.priority-toggle-icon{width:2.5rem;height:2.5rem;color:var(--accent-tertiary);background:var(--accent-tertiary-soft);border-radius:.75rem;place-items:center;display:grid}.priority-toggle-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linejoin:round;width:1.25rem;height:1.25rem}.priority-toggle.active .priority-toggle-icon svg{fill:currentColor}.priority-toggle-copy{gap:.08rem;min-width:0;display:grid}.priority-toggle-copy strong{font-size:.8rem}.priority-toggle-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.priority-toggle-control{border:1px solid var(--line-strong);background:var(--field);border-radius:999px;width:2.65rem;height:1.55rem;transition:border-color .16s,background .16s;display:block;position:relative}.priority-toggle-control>span{background:var(--muted-strong);width:1.05rem;height:1.05rem;transition:transform .18s var(--ease-out), background .16s ease;border-radius:50%;position:absolute;top:.19rem;left:.19rem}.priority-toggle.active .priority-toggle-control{border-color:var(--accent-tertiary);background:var(--accent-tertiary)}.priority-toggle.active .priority-toggle-control>span{background:var(--on-tertiary);transform:translate(1.1rem)}.program-editor-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.85rem;display:grid}.program-editor-shortcuts>:only-child{grid-column:1/-1}.program-editor-shortcuts>a,.program-editor-shortcuts>button{border:1px solid var(--line);min-height:3.35rem;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer;border-radius:.85rem;grid-template-columns:1.1rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.65rem .75rem;display:grid}.program-editor-shortcuts svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.05rem;height:1.05rem}.program-editor-shortcuts>:is(a,button)>span{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:650;overflow:hidden}.program-editor-shortcuts small,.program-editor-shortcuts>a>span:last-child{color:var(--muted);font-size:.67rem;font-weight:600}.calendar-export-form{gap:0}.calendar-export-scopes{border:0;gap:.5rem;margin:0;padding:0;display:grid}.calendar-export-scopes legend{color:var(--muted-strong);margin-bottom:.55rem;font-size:.78rem;font-weight:650}.calendar-export-choice{border:1px solid var(--line);background:var(--surface);cursor:pointer;min-height:4.25rem;transition:border-color .16s ease, background .16s ease, transform .16s var(--ease-out);border-radius:.9rem;grid-template-columns:2.65rem minmax(0,1fr) 1.25rem;align-items:center;padding:.65rem .75rem;position:relative;color:var(--ink)!important;gap:.75rem!important;margin:0!important;display:grid!important}.calendar-export-choice.active{border-color:var(--accent-secondary-line);background:var(--accent-secondary-soft)}.calendar-export-choice:has(input:disabled){opacity:.45;cursor:default}.calendar-export-choice>input{opacity:0;pointer-events:none;width:1px;min-width:0;height:1px;min-height:0;margin:0;padding:0;position:absolute}.calendar-export-choice:has(input:focus-visible){border-color:var(--focus);box-shadow:0 0 0 3px var(--accent-secondary-soft)}.calendar-export-choice-icon{width:2.65rem;height:2.65rem;color:var(--muted-strong);background:var(--surface-raised);border-radius:.75rem;place-items:center;display:grid}.calendar-export-choice.active .calendar-export-choice-icon{color:var(--accent-secondary);background:var(--accent-secondary-soft)}.calendar-export-choice-icon svg,.calendar-export-summary svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.calendar-export-choice>span:nth-of-type(2),.calendar-export-summary>div{gap:.05rem;min-width:0;display:grid}.calendar-export-choice strong,.calendar-export-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.calendar-export-choice small,.calendar-export-summary small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.calendar-export-choice-check{border:1px solid var(--line-strong);background:var(--field);border-radius:50%;width:1.15rem;height:1.15rem}.calendar-export-choice.active .calendar-export-choice-check{border:.32rem solid var(--accent-secondary);background:var(--paper)}.calendar-export-select{margin-top:.9rem!important}.calendar-export-summary{border:1px solid var(--line);background:var(--surface-raised);border-radius:.85rem;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.7rem;min-height:4rem;margin-top:.9rem;padding:.65rem .75rem;display:grid}.calendar-export-summary>span{width:2.5rem;height:2.5rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:.7rem;place-items:center;display:grid}.calendar-export-warning{color:var(--muted);background:var(--surface-raised);border-radius:.75rem;margin-top:.65rem;padding:.65rem .75rem;font-size:.7rem}.advanced-fields{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:.85rem}.advanced-fields summary{min-height:3rem;color:var(--muted-strong);cursor:pointer;padding:.85rem 0;font-size:.76rem;font-weight:650}.advanced-fields[open]{padding-bottom:.8rem}.form-actions{z-index:7;padding:.8rem 1rem calc(.8rem + var(--safe-bottom));border-top:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(18px);grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:auto -1rem 0;display:grid;position:sticky;bottom:0}.form-actions:has(.delete-edit-button){grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)}.form-actions.single-action{grid-template-columns:1fr}.form-actions button{min-width:0}.expense-summary-card{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;min-width:0;max-width:100%;min-height:4.75rem;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-card);text-align:left;cursor:pointer;grid-template-columns:2.55rem minmax(0,1fr) auto .55rem;align-items:center;gap:.65rem;padding:.7rem .8rem;display:grid}.expense-summary-icon{width:2.55rem;height:2.55rem;color:var(--warm-info);background:var(--warm-info-soft);border-radius:.8rem;place-items:center;display:grid}.expense-summary-icon svg,.expense-empty-state svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.expense-summary-copy,.expense-summary-balances{min-width:0;display:grid}.expense-summary-copy{gap:.12rem}.expense-summary-copy strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:700;overflow:hidden}.expense-summary-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;line-height:1.35;overflow:hidden}.expense-summary-balances{max-height:1.85rem;overflow:hidden}.expense-summary-total,.expense-row-amount,.expense-balance-list b,.expense-split-summary strong,.expense-split-total strong{font-variant-numeric:tabular-nums}.expense-summary-total{color:var(--muted-strong);text-align:right;white-space:nowrap;justify-items:end;gap:.05rem;font-size:.72rem;font-weight:700;display:grid}.expense-summary-total small{font-size:.66rem}.expense-summary-chevron,.expense-row-chevron{color:var(--muted);font-size:1.15rem}.expense-dialog,.expense-editor-form,.expense-confirm{animation:.18s both content-in}.expense-dialog{padding-bottom:calc(1.25rem + var(--safe-bottom))}.expense-tabs,.expense-split-options{background:var(--surface);border-radius:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;padding:.25rem;display:grid}.expense-tabs button,.expense-split-options button{min-height:2.65rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:.62rem;padding:.55rem .75rem;font-size:.75rem;font-weight:700}.expense-tabs button.active,.expense-split-options button.active{color:var(--ink);background:var(--surface-raised)}.expense-overview{overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;gap:.65rem;margin-top:.75rem;display:flex;overflow-x:auto}.expense-overview::-webkit-scrollbar{display:none}.expense-overview>div{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);scroll-snap-align:start;flex:1 0 min(100%,15rem);gap:.1rem;min-width:0;padding:.85rem;display:grid}.expense-overview small,.expense-overview span{color:var(--muted);font-size:.67rem}.expense-overview strong{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.25rem;font-weight:700}.expense-balance-receive{color:var(--accent-secondary)!important}.expense-balance-owe{color:var(--accent-tertiary)!important}.expense-toolbar{top:calc(4rem + var(--safe-top));z-index:6;border-bottom:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(18px);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem;margin:.7rem -1rem 0;padding:.65rem 1rem;display:grid;position:sticky}.mobile-modal-form .expense-filter{gap:.25rem;margin:0;display:grid}.expense-filter>span{color:var(--muted);font-size:.62rem;font-weight:650}.mobile-modal-form .expense-filter select{min-height:2.75rem;padding-top:.55rem;padding-bottom:.55rem;font-size:.8rem}.expense-add-button,.expense-empty-state button,.expense-discard-button,.expense-confirm-delete{border-radius:var(--radius-sm);min-height:2.75rem;color:var(--on-accent);background:var(--accent);cursor:pointer;border:1px solid #0000;padding:.6rem .85rem;font-size:.78rem;font-weight:700}.expense-add-button{justify-content:center;align-items:center;gap:.3rem;display:inline-flex}.expense-add-button>span{font-size:1rem;line-height:1}.expense-list,.expense-balances{gap:.8rem;padding-top:.8rem;display:grid}.expense-group,.expense-balance-group{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.expense-group>header,.expense-balance-group>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;min-height:2.7rem;padding:.55rem .8rem;display:flex}.expense-group>header strong,.expense-balance-group>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;font-weight:700;overflow:hidden}.expense-group>header small,.expense-balance-group>header small{color:var(--muted);white-space:nowrap;font-size:.62rem}.expense-row{border-bottom:1px solid var(--line)}.expense-row:last-child{border-bottom:0}.expense-row>button{width:100%;min-height:4.15rem;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto .5rem;align-items:center;gap:.55rem;padding:.7rem .8rem;display:grid}.expense-row-copy{gap:.08rem;min-width:0;display:grid}.expense-row-copy strong,.expense-row-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expense-row-copy strong{font-size:.8rem;font-weight:700}.expense-row-copy small{color:var(--muted);font-size:.62rem}.expense-row-amount{white-space:nowrap;font-size:.74rem;font-weight:750}.expense-receipt-link{min-height:2.35rem;color:var(--accent-secondary);align-items:center;margin:0 .8rem .65rem;font-size:.65rem;font-weight:700;display:inline-flex}.expense-empty-state{color:var(--muted);text-align:center;justify-items:center;gap:.45rem;margin:clamp(2rem,8vh,5rem) auto;display:grid}.expense-empty-state>span{width:2.75rem;height:2.75rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:.85rem;place-items:center;display:grid}.expense-empty-state strong{color:var(--ink);font-size:.86rem}.expense-empty-state p{max-width:30ch;font-size:.72rem}.expense-empty-state button{margin-top:.35rem}.expense-balance-list{display:grid}.expense-balance-list article{border-bottom:1px solid var(--line);grid-template-columns:2.35rem minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:4rem;padding:.65rem .8rem;display:grid}.expense-balance-list article:last-child{border-bottom:0}.expense-balance-list img,.expense-member-choice img,.expense-member-avatar{border-radius:.75rem;width:2.35rem;height:2.35rem}.expense-balance-list img,.expense-member-choice img{object-fit:cover}.expense-member-avatar{color:var(--muted-strong);background:var(--surface-raised);place-items:center;font-size:.65rem;font-style:normal;font-weight:750;display:grid}.expense-balance-list article>span:nth-child(2){gap:.08rem;min-width:0;display:grid}.expense-balance-list article>span:nth-child(2) strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.expense-balance-list article>span:nth-child(2) small{color:var(--muted);font-size:.62rem}.expense-balance-list b{white-space:nowrap;font-size:.72rem}.expense-editor-main{display:grid}.expense-info-banner{border:1px solid var(--accent-line);color:var(--muted-strong);background:var(--accent-soft);border-radius:.8rem;margin:.1rem 0 .3rem;padding:.7rem .75rem;font-size:.7rem}.expense-amount-fields{grid-template-columns:minmax(0,1.65fr) minmax(5.5rem,.7fr);gap:.6rem;min-width:0;display:grid}.expense-participants,.expense-split{border:0;border-top:1px solid var(--line);gap:.65rem;min-width:0;margin:1rem 0 0;padding:1rem 0 0;display:grid}.expense-participants legend,.expense-fieldset-heading>span,.expense-split legend{color:var(--muted-strong);padding:0;font-size:.78rem;font-weight:700}.expense-fieldset-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.expense-fieldset-heading button{border:1px solid var(--line);min-height:2.35rem;color:var(--muted-strong);cursor:pointer;background:0 0;border-radius:.65rem;padding:.4rem .6rem;font-size:.65rem;font-weight:700}.expense-member-picker{gap:.45rem;display:grid}.mobile-modal-form .expense-member-choice{border:1px solid var(--line);min-height:3.75rem;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:.85rem;grid-template-columns:2.35rem minmax(0,1fr) 1.5rem;align-items:center;gap:.65rem;margin:0;padding:.55rem .7rem;display:grid;position:relative}.mobile-modal-form .expense-member-choice.active{border-color:var(--accent-secondary-line);background:var(--accent-secondary-soft)}.expense-member-choice input{clip:rect(0, 0, 0, 0);opacity:0;pointer-events:none;border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.expense-member-choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.expense-member-choice>span:last-of-type{min-width:0;display:grid}.expense-member-choice strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.expense-member-choice small{color:var(--muted);font-size:.6rem}.expense-member-choice i{border:1px solid var(--line-strong);color:#0000;border-radius:.45rem;place-items:center;width:1.35rem;height:1.35rem;font-size:.65rem;font-style:normal;display:grid}.expense-member-choice.active i{border-color:var(--accent-secondary);color:var(--on-secondary);background:var(--accent-secondary)}.expense-split-options{background:var(--field)}.expense-split-summary,.expense-custom-split{border:1px solid var(--line);background:var(--surface);border-radius:.85rem;display:grid;overflow:hidden}.expense-split-summary>span,.expense-custom-split>label,.expense-split-total{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;min-height:3rem;margin:0;padding:.55rem .75rem;display:flex}.expense-split-summary>span:last-child,.expense-custom-split>label:last-of-type{border-bottom:0}.expense-split-summary small,.expense-custom-split>label>span:first-child,.expense-split-total>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:600;overflow:hidden}.expense-split-summary strong,.expense-split-total strong{white-space:nowrap;font-size:.72rem}.expense-split-summary p{color:var(--muted);padding:.75rem;font-size:.7rem}.expense-custom-split>label>span:last-child{grid-template-columns:5.5rem auto;align-items:center;gap:.35rem;display:grid}.mobile-modal-form .expense-custom-split input{text-align:right;min-height:2.55rem;padding:.5rem .6rem}.expense-custom-split small{color:var(--muted);font-size:.62rem}.expense-split-total{border-top:1px solid var(--line);background:var(--field);border-bottom:0}.expense-split-total.valid strong{color:var(--accent-secondary)}.expense-more-options{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:1rem 0 1.5rem}.expense-more-options summary{min-height:3.2rem;color:var(--muted-strong);cursor:pointer;padding:.9rem 0;font-size:.75rem;font-weight:700}.expense-more-options[open]{padding-bottom:1rem}.expense-form-actions:has(.expense-delete-button){grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.expense-delete-button,.expense-confirm-delete{border-radius:var(--radius-sm);cursor:pointer;min-height:2.75rem;font-size:.78rem;font-weight:700}.expense-delete-button{border:1px solid var(--danger-line);color:var(--danger);background:var(--danger-soft);padding:.6rem .75rem}.expense-confirm-delete{color:var(--on-danger);background:var(--danger)}.expense-confirm-content{text-align:center;justify-items:center;gap:.65rem;margin:auto 0;padding:2rem 1rem;display:grid}.expense-confirm-icon{width:3rem;height:3rem;color:var(--danger);background:var(--danger-soft);border-radius:1rem;place-items:center;font-size:1rem;font-weight:800;display:grid}.expense-confirm-icon.neutral{color:var(--muted-strong);background:var(--accent-soft)}.expense-confirm-content h3{font-size:1rem}.expense-confirm-content p{max-width:31ch;color:var(--muted);font-size:.74rem}.plan-expense-chip{border:1px solid var(--accent-secondary-line);border-radius:var(--radius-sm);min-height:2.35rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);cursor:pointer;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .62rem;font-size:.67rem;font-weight:700;display:inline-flex}.plan-expense-chip svg{flex:none;width:.95rem;height:.95rem}.form-error-banner,.page-message,.form-success,.settings-message{border:1px solid var(--danger-line);color:var(--danger);background:var(--danger-soft);border-radius:.8rem;align-items:flex-start;gap:.6rem;margin:.65rem 0;padding:.75rem .8rem;font-size:.76rem;display:flex}.form-error-banner>span{width:1.25rem;height:1.25rem;color:var(--on-danger);background:var(--danger);border-radius:50%;flex:none;place-items:center;font-size:.7rem;font-weight:800;display:grid}.form-success,.settings-message{color:var(--success);background:var(--success-soft);border-color:#0000}.join-trip-form{justify-content:flex-start}.invite-code-input{text-align:center;text-transform:uppercase;letter-spacing:.16em;margin-top:1.5rem;font-weight:700}.destination-field,.emoji-field{min-width:0}.destination-combobox{min-width:0;position:relative}.destination-combobox>input{padding-right:2.75rem}.destination-select-arrow{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:.9rem;transform:translateY(-50%)rotate(90deg)}.destination-suggestions .destination-select-arrow{justify-self:end;position:static;transform:none}.destination-suggestions{z-index:12;border:1px solid var(--line-strong);background:var(--surface);max-height:15rem;box-shadow:var(--shadow-float);border-radius:.85rem;margin-top:.4rem;position:relative;overflow-y:auto}.destination-suggestions>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:3.7rem;color:var(--ink);text-align:left;background:0 0;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem .7rem;display:grid}.destination-suggestions>button:last-of-type{border-bottom:0}.destination-flag{font-size:1.2rem}.destination-suggestion-copy{min-width:0;display:grid}.destination-suggestion-copy b,.destination-suggestion-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.destination-suggestion-copy b{font-size:.78rem}.destination-suggestion-copy small,.destination-provider{color:var(--muted);font-size:.65rem}.destination-suggestion-status{min-height:3.7rem;color:var(--muted);align-items:center;gap:.6rem;padding:.7rem;font-size:.72rem;display:flex}.destination-suggestion-status>span{color:var(--accent-secondary);animation:.9s linear infinite spin}.destination-provider{text-align:right;padding:.4rem .65rem;display:block}.emoji-picker{grid-template-columns:4rem minmax(0,1fr);gap:.6rem;display:grid}.emoji-picker input{text-align:center;font-size:1.35rem}.emoji-presets{scrollbar-width:none;gap:.35rem;min-width:0;display:flex;overflow-x:auto}.emoji-presets::-webkit-scrollbar{display:none}.emoji-presets button{border:1px solid var(--line);background:var(--surface);flex:none;width:2.75rem;padding:0;font-size:1.05rem}.settings-tabs{top:calc(4rem + var(--safe-top));z-index:6;margin-bottom:.8rem;position:sticky}.settings-panel{animation:.18s both content-in}.settings-section,.app-settings-section,.app-account-section,.app-information-section{margin-top:.8rem}.danger-zone{border-top:1px solid var(--line);gap:.5rem;margin:1.25rem 0 1rem;padding-top:1rem;display:grid}.invite-code-panel{border-radius:var(--radius-md);background:var(--surface);gap:.75rem;padding:.9rem;display:grid}.invite-code-panel strong{font-family:var(--font-display);letter-spacing:.12em;text-align:center;font-size:1.35rem}.invite-code-panel>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.member-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.member-row{border-bottom:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:4.3rem;padding:.65rem .75rem;display:grid}.member-row:last-child{border-bottom:0}.member-row>img,.member-avatar{border-radius:.75rem;width:2.5rem;height:2.5rem}.member-row>img{object-fit:cover}.member-avatar{color:var(--accent);background:var(--accent-soft);place-items:center;font-size:.72rem;font-weight:700;display:grid}.member-row>div:nth-child(2){min-width:0;display:grid}.member-row b{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.member-row small{color:var(--muted);font-size:.65rem}.member-actions{gap:.35rem;display:flex}.member-actions button{min-height:2.35rem;padding:.4rem .55rem;font-size:.62rem}.history-settings-panel{min-width:0;padding-bottom:calc(2.5rem + var(--safe-bottom))}.history-panel{gap:.9rem;min-width:0;display:grid}.history-intro{justify-content:space-between;align-items:center;gap:.75rem;min-height:3rem;display:flex}.history-intro>div{min-width:0;display:grid}.history-intro small{color:var(--muted);font-size:.65rem;font-weight:600}.history-intro h3{font-family:var(--font-display);font-size:1.05rem;line-height:1.25}.history-refresh{border:1px solid var(--line);width:2.65rem;height:2.65rem;color:var(--muted-strong);background:var(--surface);border-radius:.8rem;flex:none;place-items:center;padding:0;font-size:1rem;display:grid}.history-refresh:disabled span{animation:.9s linear infinite spin}.history-offline{border:1px solid var(--line);color:var(--muted-strong);background:var(--surface);border-radius:.75rem;margin:0;padding:.6rem .7rem;font-size:.68rem}.history-timeline{gap:1rem;display:grid}.history-day{gap:.4rem;min-width:0;display:grid}.history-day>h4{color:var(--muted);padding:0 .2rem;font-size:.64rem;font-weight:650}.history-day-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.history-row{border-bottom:1px solid var(--line);min-width:0;padding:.72rem;display:grid;position:relative}.history-row:last-child{border-bottom:0}.history-row.is-undone{background:var(--surface-raised)}.history-row-heading{grid-template-columns:2.35rem minmax(0,1fr) 1.65rem;align-items:center;gap:.62rem;min-width:0;display:grid}.history-avatar{width:2.35rem;height:2.35rem;color:var(--accent);background:var(--accent-soft);border-radius:.75rem;place-items:center;font-size:.66rem;font-weight:750;display:grid;overflow:hidden}.history-avatar img{object-fit:cover;width:100%;height:100%}.history-row-main{min-width:0;min-height:2.5rem;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.4rem;padding:0;display:flex}.history-row-main:disabled{opacity:1}.history-row-main>span{gap:.12rem;min-width:0;display:grid}.history-row-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;font-weight:650;line-height:1.35;overflow:hidden}.history-row-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.history-row-main>b{color:var(--muted);font-size:.72rem}.history-entity-icon{width:1.65rem;height:1.65rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:.52rem;place-items:center;font-size:.68rem;font-weight:700;display:grid}.history-row.is-undo .history-entity-icon,.history-row.is-undone .history-entity-icon{color:var(--muted-strong);background:var(--surface-raised)}.history-row-details{border-top:1px solid var(--line);gap:.45rem;margin:.65rem 0 .05rem 2.97rem;padding-top:.6rem;animation:.16s both content-in;display:grid}.history-diff{gap:.18rem;display:grid}.history-diff>span{color:var(--muted);font-size:.6rem;font-weight:650}.history-diff p{align-items:center;gap:.4rem;min-width:0;margin:0;font-size:.66rem;display:flex}.history-diff del,.history-diff ins{text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.history-diff del{color:var(--muted)}.history-diff ins{color:var(--ink);font-weight:600}.history-diff b{color:var(--muted);font-weight:500}.history-status-label,.history-action-error{margin:0;font-size:.65rem}.history-status-label{color:var(--muted)}.history-action-error{color:var(--danger);margin:.55rem 0 0 2.97rem}.history-undo-button{border:1px solid var(--accent-secondary-line);min-height:2.35rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:.68rem;justify-self:end;margin-top:.55rem;padding:.4rem .7rem;font-size:.65rem;font-weight:700}.history-empty,.history-state{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);text-align:center;justify-items:center;padding:2.6rem 1rem}.history-empty{gap:.25rem;display:grid}.history-empty>span,.history-state-icon{width:2.75rem;height:2.75rem;color:var(--accent-secondary);background:var(--accent-secondary-soft);border-radius:.85rem;place-items:center;margin-bottom:.3rem;font-size:1rem;display:grid}.history-empty h3,.history-state h3{font-size:.82rem}.history-empty p,.history-state p{max-width:18rem;color:var(--muted);margin:0;font-size:.68rem}.history-state{gap:.45rem;display:grid}.history-state button{border-color:var(--line-strong);min-height:2.55rem;color:var(--ink);background:0 0;margin-top:.35rem;padding:.45rem .75rem}.history-limit-note{color:var(--muted);text-align:center;margin:0;font-size:.6rem}.history-skeleton{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);display:grid;overflow:hidden}.history-skeleton span{border-bottom:1px solid var(--line);background:linear-gradient(100deg, transparent 25%, var(--surface-raised) 45%, transparent 65%);background-size:220% 100%;height:4.2rem;animation:1.25s ease-in-out infinite skeleton-shimmer}.history-skeleton span:last-child{border-bottom:0}.app-settings-dialog{height:auto;max-height:min(78dvh,36rem);padding-bottom:calc(1rem + var(--safe-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.app-settings-dialog .mobile-modal-header{flex:none;min-height:4rem;padding-top:0}.theme-options{gap:.45rem;display:grid}.theme-options>button{border:1px solid var(--line);min-height:3.8rem;color:var(--ink);background:var(--surface);text-align:left;grid-template-columns:2.4rem minmax(0,1fr) 1.4rem;align-items:center;gap:.7rem;padding:.55rem .65rem;display:grid}.theme-options>button.active{color:var(--accent);background:var(--accent-soft)}.theme-option-icon{width:2.4rem;height:2.4rem;color:var(--muted-strong);background:var(--surface-raised);border-radius:.7rem;place-items:center;font-size:1rem;display:grid}.theme-option-copy{min-width:0;display:grid}.theme-option-copy b{font-size:.78rem}.theme-option-copy small{color:var(--muted);font-size:.65rem}.theme-option-check{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:1.35rem;height:1.35rem;font-size:.68rem;display:grid}.theme-options>button.active .theme-option-check{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.logout-button{width:100%}.app-information-links{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.app-information-links>a{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:3.6rem;padding:.6rem .75rem;display:grid}.app-information-links>a:last-child{border-bottom:0}.app-information-links>a>span:first-child{min-width:0;display:grid}.app-information-links b{font-size:.78rem}.app-information-links small{color:var(--muted);font-size:.65rem}.app-information-links>a>span:last-child{color:var(--muted);font-size:1.3rem;line-height:1}.app-route-host{display:contents}.legal-shell{z-index:1400;color:var(--ink);background:var(--paper);overscroll-behavior-y:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow:hidden auto}.legal-header{z-index:5;min-height:calc(3.75rem + var(--safe-top));padding-top:var(--safe-top);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--chrome) 94%, transparent);-webkit-backdrop-filter:blur(18px);position:sticky;top:0}.legal-header-inner{justify-content:space-between;align-items:center;width:min(100%,48rem);min-height:3.75rem;margin:0 auto;padding:0 1rem;display:flex}.legal-back-link{min-height:2.75rem;color:var(--ink);align-items:center;gap:.3rem;padding:.4rem .25rem;font-size:.8rem;font-weight:650;display:inline-flex}.legal-back-link>span:first-child{color:var(--accent);font-size:1.65rem;font-weight:400;line-height:.8}.legal-brand{width:1.85rem;height:1.85rem}.legal-brand img{border-radius:.55rem;width:100%;height:100%}.legal-main{width:min(100%,48rem);padding:2rem 1rem calc(2rem + var(--safe-bottom));margin:0 auto}.legal-article{gap:0;display:grid}.legal-title-block{gap:.65rem;padding:.25rem 0 1.75rem;display:grid}.legal-eyebrow{color:var(--accent);letter-spacing:.09em;font-size:.66rem;font-weight:750}.legal-title-block h1{letter-spacing:-.055em;outline:none;max-width:14ch;font-size:clamp(2rem,9vw,3.4rem);line-height:.98}.legal-title-block>p:not(.legal-eyebrow){max-width:38rem;color:var(--muted-strong);font-size:.9rem;line-height:1.55}.legal-title-block time{color:var(--muted);font-size:.68rem;font-weight:600}.legal-summary{border:1px solid var(--accent-line);border-radius:var(--radius-md);background:var(--accent-soft);gap:.7rem;margin-bottom:1rem;padding:.9rem;display:grid}.legal-summary-label{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:750}.legal-summary ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.legal-summary li{color:var(--ink);grid-template-columns:1.35rem minmax(0,1fr);gap:.5rem;font-size:.78rem;line-height:1.45;display:grid}.legal-summary li>span:first-child{width:1.35rem;height:1.35rem;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-radius:.45rem;place-items:center;font-size:.66rem;font-weight:750;display:grid}.legal-section{border-bottom:1px solid var(--line);padding:1.45rem 0}.legal-section:last-child{border-bottom:0}.legal-section h2{letter-spacing:-.025em;margin-bottom:.7rem;font-size:1.02rem;line-height:1.3}.legal-section h3{font-size:.82rem}.legal-section p,.legal-section li{color:var(--muted-strong);font-size:.8rem;line-height:1.65}.legal-section p+p,.legal-section p+ul,.legal-section ul+p,.legal-section div+p{margin-top:.8rem}.legal-section ul{gap:.55rem;margin:.75rem 0 0;padding-left:1.15rem;display:grid}.legal-section li::marker{color:var(--accent)}.legal-section strong{color:var(--ink);font-weight:700}.legal-section a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:.16em;font-weight:650}.legal-note{border-radius:var(--radius-sm);background:var(--surface);padding:.75rem;color:var(--muted-strong)!important;font-size:.72rem!important}.legal-external-mark{margin-left:.15rem;font-size:.82em;text-decoration:none;display:inline-block}.legal-purpose-list{gap:.55rem;display:grid}.legal-purpose-list article{border-radius:var(--radius-sm);background:var(--surface);gap:.25rem;padding:.8rem;display:grid}.legal-purpose-list article p{font-size:.75rem;line-height:1.5}.legal-purpose-list article small{color:var(--muted);font-size:.66rem;line-height:1.45}.legal-service-list{list-style:none;padding:0!important}.legal-service-list li{background:var(--surface);border-radius:.7rem;gap:.05rem;padding:.65rem .7rem;display:grid}.legal-service-list li::marker{content:""}.legal-service-list li span{font-size:.74rem}.legal-inline-links{flex-wrap:wrap;gap:.4rem;margin-top:.8rem;display:flex}.legal-inline-links a{border:1px solid var(--line);color:var(--muted-strong);background:var(--surface);border-radius:.55rem;padding:.35rem .5rem;font-size:.66rem;text-decoration:none}.legal-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:2rem;padding-top:1.25rem;display:flex}.legal-footer>div{color:var(--ink);font-family:var(--font-display);align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;display:flex}.legal-footer img{border-radius:.48rem;width:1.6rem;height:1.6rem}.legal-footer nav{justify-items:end;gap:.45rem;display:grid}.legal-footer a{color:var(--muted);font-size:.68rem;font-weight:600}.sync-issue-banner{border:1px solid var(--danger-line);border-radius:var(--radius-sm);width:min(100% - 2rem,42rem);color:var(--ink);background:color-mix(in srgb, var(--paper) 88%, var(--danger-soft));box-shadow:var(--shadow-float);justify-content:space-between;align-items:center;gap:.75rem;margin:.55rem auto 0;padding:.7rem .75rem;display:flex}.sync-issue-banner>span{gap:.1rem;min-width:0;display:grid}.sync-issue-banner strong{font-size:.75rem}.sync-issue-banner small{color:var(--muted);overflow-wrap:anywhere;font-size:.66rem;line-height:1.35}.sync-issue-banner button{border:1px solid var(--danger-line);min-height:2.25rem;color:var(--danger);background:var(--danger-soft);border-radius:.65rem;flex:none;padding:.45rem .65rem;font-size:.7rem;font-weight:700}.confirm-overlay{background:0 0;place-items:end center;padding:1rem;display:grid;position:absolute;inset:0}.confirm-dialog{border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(100%,25rem);color:var(--ink);background:var(--paper);box-shadow:var(--shadow-modal);text-align:center;justify-items:center;gap:.65rem;padding:1.15rem;display:grid}.confirm-icon{width:2.7rem;height:2.7rem;color:var(--danger);background:var(--danger-soft);border-radius:.85rem;place-items:center;font-weight:800;display:grid}.confirm-dialog h2{font-size:1rem}.confirm-dialog p{color:var(--muted);font-size:.76rem}.confirm-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%;margin-top:.35rem;display:grid}.confirm-actions button{width:100%}.app-toast{top:calc(4.35rem + var(--safe-top));z-index:2000;border:1px solid var(--line-strong);width:min(100% - 2rem,24rem);color:var(--ink);background:var(--chrome);box-shadow:var(--shadow-float);animation:toast-in .22s var(--ease-out) both;-webkit-backdrop-filter:blur(16px);pointer-events:none;border-radius:.85rem;align-items:center;gap:.55rem;padding:.75rem .85rem;font-size:.75rem;display:flex;position:fixed;left:50%;transform:translate(-50%)}.app-toast>span:first-child{width:1.35rem;height:1.35rem;color:var(--accent);background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;font-size:.68rem;font-weight:800;display:grid}.app-toast-message{flex:auto;min-width:0}.app-toast-dismiss{width:2.5rem;height:2.5rem;color:var(--muted-strong);cursor:pointer;pointer-events:auto;touch-action:manipulation;background:0 0;border:0;border-radius:.55rem;flex:none;place-items:center;margin:-.35rem -.45rem -.35rem 0;padding:0;font-size:1.15rem;line-height:1;display:grid}.app-toast-dismiss:active{background:var(--surface-raised)}.app-toast.success{border-color:var(--success-line)}.app-toast.success>span:first-child{color:var(--positive);background:var(--positive-soft)}.app-toast.error{border-color:var(--danger-line)}.app-toast.error>span:first-child{color:var(--danger);background:var(--danger-soft)}.library-hero,.trip-toolbar,.bottom-nav,.collection-toolbar,.places-toolbar-row,.mobile-modal-header,.form-actions,.expense-toolbar,.map-recenter-button,.map-status-badge,.map-selection-sheet,.app-toast{-webkit-backdrop-filter:none}.home-overview-strip .nav-icon{box-sizing:content-box;color:var(--overview-accent,var(--brand));background:var(--overview-soft,var(--brand-soft));border-radius:.58rem;padding:.24rem}.home-overview-strip button:first-child,.home-overview-strip button:nth-child(2){--overview-accent:var(--brand);--overview-soft:var(--brand-soft)}.home-overview-strip button:nth-child(3){--overview-accent:var(--warm-info);--overview-soft:var(--warm-info-soft)}html[data-theme=light] :is(.mobile-modal-form input,.mobile-modal-form textarea,.auth-card input,.notes-card textarea)::placeholder{color:var(--muted);opacity:1}html[data-theme=light] :is(.secondary-pill,.manage-program-button:not(.active),.calendar-export-button,.exit-edit-mode-button,.cancel-edit-button,.add-checklist-item,.secondary-button,.confirm-cancel,.settings-button,.icon-action:not(.active),.map-sheet-close,.mobile-modal-header button,.document-button,.map-chip){border-color:var(--line-strong);background:var(--surface)}html[data-theme=light] .theme-options>button:not(.active),html[data-theme=light] .theme-option-check{border-color:var(--line-strong)}html[data-theme=light] button:disabled{opacity:.58}html[data-theme=light] .compass-map-marker{box-shadow:0 .35rem .9rem #1d1e232e}@media (hover:hover){.save-trip-button:not(:disabled):hover,.add-trip-button:not(:disabled):hover,.confirm-primary:not(:disabled):hover{background:var(--accent-hover)}.secondary-pill:not(:disabled):hover,.manage-program-button:not(:disabled):not(.active):hover,.calendar-export-button:not(:disabled):hover,.exit-edit-mode-button:not(:disabled):hover,.cancel-edit-button:not(:disabled):hover,.add-checklist-item:not(:disabled):hover,.secondary-button:not(:disabled):hover,.settings-button:not(:disabled):hover,.icon-action:not(:disabled):hover,.document-button:hover,.map-chip:hover,.day-map-button:hover,.program-editor-shortcuts>:is(a,button):hover,.program-position-control button:not(:disabled):hover,.home-priority-maps:hover,.summary-map:hover,.invite-code-panel button:not(:disabled):hover,.member-actions button:not(:disabled):hover,.logout-button:not(:disabled):hover{background:var(--surface-raised)}.trip-card:hover,.hotel-list:hover,.document-list:hover,.check-list:hover{border-color:var(--line-strong)}.desktop-trip-navigation button:hover,.desktop-sidebar-footer button:hover{color:var(--ink);background:var(--surface)}.plan-card:not(.is-dragging):hover{border-color:var(--line-strong);background:var(--surface-raised)}.trip-map-canvas .leaflet-control-zoom a:not(.leaflet-disabled):hover,.map-recenter-button:hover{background:var(--surface-raised)}.auth-legal-links a:hover,.legal-footer a:hover{color:var(--ink)}.app-information-links>a:hover,.legal-inline-links a:hover{background:var(--surface-raised)}.legal-section a:hover{text-decoration-color:currentColor}}@media (width<=720px){.trip-tab-places .trip-scroll-region{flex-direction:column;padding-bottom:1rem;scroll-padding-bottom:1rem;display:flex}.trip-tab-places .bottom-nav{flex:none;width:100%;position:relative;bottom:auto;left:auto;right:auto}.trip-tab-places .view-frame{flex-direction:column;flex:auto;min-height:0;display:flex}.places-editor.is-list{flex:none;padding-bottom:2rem}.places-editor.is-map{flex-direction:column;flex:auto;min-height:0;display:flex}.places-editor.is-map .places-toolbar-row{flex:none}.places-editor.is-map .trip-map-view{flex:auto;grid-template-rows:auto minmax(12rem,1fr)}.places-editor.is-map .trip-map-stage{height:auto;min-height:0}}@media (width<=720px) and (orientation:landscape) and (height<=600px){.places-editor.is-map .trip-map-view{grid-template-rows:auto minmax(10rem,1fr)}}@media (width>=721px){.library-hero,.library-main,.trip-scroll-region{padding-left:max(1.5rem,50vw - 24rem);padding-right:max(1.5rem,50vw - 24rem)}.mobile-modal-form{border:1px solid var(--line-strong);border-radius:var(--radius-lg);height:auto;max-height:min(90dvh,50rem)}.mobile-modal-header{border-radius:var(--radius-lg) var(--radius-lg) 0 0;min-height:4rem;padding-top:0}.form-actions{border-radius:0 0 var(--radius-lg) var(--radius-lg);padding-bottom:.8rem}.app-settings-dialog{border-radius:var(--radius-lg);align-self:center}.legal-main{padding:3rem 1.5rem calc(3rem + var(--safe-bottom))}.legal-summary{padding:1rem}.legal-summary ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.legal-purpose-list{grid-template-columns:repeat(3,minmax(0,1fr))}.legal-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-portal-layer:has(.app-settings-dialog){place-items:center}.confirm-overlay{place-items:center}.bottom-nav{border:1px solid var(--line-strong);min-height:4.25rem;box-shadow:var(--shadow-float);border-radius:1.15rem;padding:.35rem;bottom:.75rem}}@media (width>=1024px){html{scrollbar-gutter:stable}html.library-page-locked,body.library-page-locked{height:auto;min-height:100%;overflow-y:auto}.auth-shell{background:radial-gradient(circle at 18% 18%, var(--warm-info-soft), transparent 25rem), radial-gradient(circle at 82% 84%, var(--location-soft), transparent 28rem), var(--canvas);padding:4rem 2rem}.auth-main{border:1px solid var(--line);background:var(--paper);width:min(100%,33rem);box-shadow:var(--shadow-float);border-radius:1.75rem;gap:1.75rem;padding:2.5rem}.auth-card{gap:1.1rem}.legal-shell{background:radial-gradient(circle at 10% 10%, var(--warm-info-soft), transparent 28rem), radial-gradient(circle at 92% 88%, var(--location-soft), transparent 30rem), var(--canvas)}.legal-main{width:min(100% - 4rem,52rem);padding-top:4rem}.legal-article{border:1px solid var(--line);border-radius:calc(var(--radius-lg) + .35rem);background:var(--paper);box-shadow:var(--shadow-card);padding:2.75rem 3rem}.legal-title-block h1{font-size:3.5rem}.library-shell{background:var(--paper);grid-template-rows:auto auto;align-content:start;height:auto;min-height:100dvh;overflow:visible}.library-hero{padding:calc(1rem + var(--safe-top)) max(2rem, calc((100vw - 78rem) / 2)) 1.2rem;position:sticky;top:0}.brand-line,.library-title-row{max-width:78rem}.library-title-row{margin-top:1.15rem}.library-title-row h1{font-size:2.25rem}.library-main{padding:1.5rem max(2rem, calc((100vw - 78rem) / 2)) calc(3rem + var(--safe-bottom));overflow:visible}.trip-list{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.75rem;width:100%;max-width:78rem}.trip-card{transition:border-color .16s ease, background .16s ease, transform .18s var(--ease-out)}.trip-card:focus-within{outline:2px solid var(--focus);outline-offset:2px}.trip-open{min-height:5.4rem;padding:.85rem}.trip-shell{background:var(--paper);grid-template-rows:minmax(0,1fr);grid-template-columns:17rem minmax(0,1fr);display:grid}.desktop-trip-sidebar{z-index:40;min-width:0;min-height:0;padding:calc(1.1rem + var(--safe-top)) .9rem calc(1rem + var(--safe-bottom));border-right:1px solid var(--line);background:var(--canvas);overscroll-behavior-y:contain;scrollbar-width:none;flex-direction:column;grid-area:1/1;display:flex;position:relative;overflow-y:auto}.desktop-trip-sidebar::-webkit-scrollbar{display:none}.desktop-sidebar-brand{align-items:center;gap:.65rem;min-height:3rem;padding:0 .55rem;display:flex}.desktop-sidebar-brand img{border-radius:.62rem;width:2rem;height:2rem}.desktop-sidebar-brand>span{font-family:var(--font-display);letter-spacing:-.025em;font-size:.95rem;font-weight:750}.desktop-trip-summary{border:1px solid var(--line);background:var(--surface);border-radius:1rem;grid-template-columns:2.7rem minmax(0,1fr);align-items:center;gap:.7rem;margin:1.15rem 0 1rem;padding:.85rem;display:grid}.desktop-trip-emoji{background:var(--surface-raised);border-radius:.8rem;place-items:center;width:2.7rem;height:2.7rem;font-size:1.2rem;display:grid}.desktop-trip-summary>div{gap:.08rem;min-width:0;display:grid}.desktop-trip-summary strong,.desktop-trip-summary span,.desktop-trip-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.desktop-trip-summary strong{font-family:var(--font-display);font-size:.82rem;font-weight:720}.desktop-trip-summary>div>span{color:var(--muted-strong);font-size:.67rem}.desktop-trip-summary small{color:var(--muted);font-size:.6rem}.desktop-trip-navigation{gap:.24rem;display:grid}.desktop-trip-navigation button,.desktop-sidebar-footer button{width:100%;min-height:3.15rem;color:var(--muted);text-align:left;cursor:pointer;transition:color .16s ease, background .16s ease, transform .16s var(--ease-out);background:0 0;border:0;border-radius:.8rem;align-items:center;gap:.75rem;padding:.65rem .75rem;font-size:.77rem;font-weight:650;display:flex}.desktop-trip-navigation button.active{color:var(--ink);background:var(--nav-active-soft,var(--brand-soft))}.desktop-trip-navigation button:first-child,.desktop-trip-navigation button:nth-child(2){--nav-active:var(--brand);--nav-active-soft:var(--brand-soft)}.desktop-trip-navigation button:nth-child(3){--nav-active:var(--location);--nav-active-soft:var(--location-soft)}.desktop-trip-navigation button:nth-child(4){--nav-active:var(--warm-info);--nav-active-soft:var(--warm-info-soft)}.desktop-trip-navigation .nav-icon,.desktop-sidebar-footer .settings-icon{flex:none;width:1.15rem;height:1.15rem}.desktop-trip-navigation button.active .nav-icon{color:var(--nav-active,var(--brand))}.desktop-sidebar-footer{border-top:1px solid var(--line);gap:.25rem;margin-top:auto;padding-top:.85rem;display:grid}.desktop-sidebar-back-icon{place-items:center;width:1.15rem;height:1.15rem;font-size:1.35rem;font-weight:400;line-height:1;display:grid}.trip-workspace{grid-area:1/2}.bottom-nav{display:none}.trip-toolbar{min-height:calc(5.25rem + var(--safe-top));padding:var(--safe-top) clamp(1.75rem, 3vw, 3.5rem) 0;border-bottom-color:var(--line);background:var(--paper);-webkit-backdrop-filter:none;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem}.trip-toolbar>.toolbar-back,.trip-toolbar .toolbar-actions>.settings-button,.mobile-toolbar-emoji,.mobile-toolbar-title{display:none}.trip-toolbar-title{justify-content:flex-start}.desktop-toolbar-title{gap:.05rem;min-width:0;display:grid}.trip-toolbar-title>.desktop-toolbar-title{font-size:inherit;flex:auto}.desktop-toolbar-title small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:650;overflow:hidden}.desktop-toolbar-title h1{font-family:var(--font-display);letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;font-size:1.42rem;font-weight:720;line-height:1.2;overflow:hidden}.toolbar-actions{min-width:0}.toolbar-tab-action{gap:.5rem;width:auto;max-width:17rem;padding:0 .9rem;display:inline-flex}.toolbar-tab-action-label{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:700;display:block;overflow:hidden}.sync-issue-banner{width:min(100% - 3.5rem,76rem);margin:.7rem auto 0}.trip-scroll-region{width:100%;padding:1.5rem clamp(1.75rem, 3vw, 3.5rem) calc(3rem + var(--safe-bottom));scroll-padding:1.5rem 0 calc(3rem + var(--safe-bottom));scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.trip-scroll-region::-webkit-scrollbar{width:.5rem;display:block}.trip-scroll-region::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.view-frame,.home-view{margin:0 auto}.home-view{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;align-items:start;gap:1rem;width:min(100%,52rem)}.home-overview-strip{border:1px solid var(--line);background:var(--surface);border-radius:1.05rem;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.home-overview-strip button{border:0;border-left:1px solid var(--line);min-width:0;min-height:4.5rem;color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:1.75rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.7rem .85rem;transition:color .16s,background .16s;display:grid}.home-overview-strip button:first-child{border-left:0}.home-overview-strip .nav-icon{width:1.2rem;height:1.2rem;color:var(--muted-strong)}.home-overview-strip button>span{gap:.03rem;min-width:0;display:grid}.home-overview-strip strong,.home-overview-strip small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-overview-strip strong{font-family:var(--font-display);font-size:.95rem;font-weight:720}.home-overview-strip small{color:var(--muted);font-size:.68rem;font-weight:620}.trip-tab-home :is(.summary-card,.home-priorities,.weather-card,.notes-card){border-radius:1.15rem;padding:1.15rem 1.2rem}.trip-tab-home .summary-card-heading h2{font-size:1.2rem}.trip-tab-home .summary-card-heading small,.trip-tab-home .summary-copy small,.trip-tab-home .summary-copy>span,.trip-tab-home .home-priority-copy small,.trip-tab-home .home-priority-place,.trip-tab-home .weather-message p,.trip-tab-home .note-status{font-size:.72rem}.trip-tab-home .summary-row{padding-top:1rem}.trip-tab-home .summary-row-main{border-radius:.8rem;grid-template-columns:4.25rem minmax(0,1fr) auto;min-height:4.4rem;transition:color .16s,background .16s}.trip-tab-home .summary-time{font-size:.86rem}.trip-tab-home .summary-copy strong,.trip-tab-home .expense-summary-copy strong{font-size:.96rem}.trip-tab-home .home-priority-copy strong{font-size:.92rem}.trip-tab-home .expense-summary-card{border-radius:1.15rem;min-height:6.25rem;padding:1rem 1.1rem;transition:border-color .16s,background .16s}.trip-tab-home .home-priorities-header>button{cursor:pointer;border-radius:.65rem;transition:color .16s,background .16s}.trip-tab-home .notes-card textarea{resize:vertical;min-height:9rem}.weather-days{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;grid-template-columns:none;grid-auto-columns:minmax(5.25rem,1fr);grid-auto-flow:column;padding-bottom:.45rem;display:grid;overflow-x:auto}.weather-day{scroll-snap-align:start;min-width:0}.weather-days::-webkit-scrollbar{height:.35rem;display:block}.weather-days::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.trip-tab-program .view-frame{width:min(100%,68rem)}.trip-tab-places .view-frame{width:min(100%,78rem)}.trip-tab-places .trip-scroll-region:has(.places-editor.is-map){padding-bottom:calc(1rem + var(--safe-bottom));flex-direction:column;scroll-padding-bottom:0;display:flex;overflow-y:hidden}:is(.trip-tab-places .trip-scroll-region:has(.places-editor.is-map)>.view-frame,.trip-tab-places .places-editor.is-map){flex-direction:column;flex:auto;min-height:0;display:flex}.trip-tab-places .places-editor.is-map .places-toolbar-row{flex:none}.trip-tab-places .places-editor.is-map .trip-map-view{flex:auto;grid-template-rows:auto minmax(0,1fr)}.trip-tab-docs .view-frame{width:min(100%,76rem)}.collection-toolbar,.places-toolbar-row{background:var(--paper);-webkit-backdrop-filter:none;padding-top:.85rem;padding-bottom:.85rem}.program-day{grid-template-columns:12rem minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.program-day-header{align-items:flex-start;margin:0;padding:.7rem .1rem}.program-day-title h3{font-size:1rem}.plan-card{min-height:5rem;padding:.85rem .95rem}.check-row-title{white-space:normal}.secondary-button{width:auto;margin-left:auto;display:block}.places-editor.is-list .hotel-list{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid;overflow:visible}.places-editor.is-list .hotel-list:has(.hotel-card.is-editable){grid-template-columns:minmax(0,48rem);justify-content:center}.places-editor.is-list .hotel-card{border:1px solid var(--line);border-radius:var(--radius-md);height:100%;min-height:6.2rem}.trip-tab-places .trip-map-stage{height:auto;min-height:0}.map-selection-sheet{width:min(100% - 1.2rem,23rem);right:auto}.reservation-list{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.75rem}.reservation-card{height:100%;min-height:5.6rem}.modal-portal-layer{padding:2rem}.mobile-modal-form{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;width:min(38rem,100vw - 4rem);max-height:min(88dvh,100dvh - 4rem,54rem);padding-left:1.35rem;padding-right:1.35rem}.mobile-modal-form::-webkit-scrollbar{width:.5rem;display:block}.mobile-modal-form::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.mobile-modal-header,.form-actions{margin-left:-1.35rem;margin-right:-1.35rem;padding-left:1.35rem;padding-right:1.35rem}.settings-dialog{width:min(48rem,100vw - 4rem);height:min(78dvh,100dvh - 4rem,46rem)}.expense-dialog{width:min(48rem,100vw - 4rem);height:min(88dvh,100dvh - 4rem,54rem)}.reservation-editor-form{width:min(44rem,100vw - 4rem)}.reservation-detail-modal,.program-detail-modal,.place-detail-modal{width:min(40rem,100vw - 4rem)}.app-settings-dialog{width:min(30rem,100vw - 4rem);height:auto;max-height:min(85dvh,100dvh - 4rem,36rem)}.reservation-route-fields,.reservation-reference-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}@media (width>=1200px){.trip-tab-home .home-view{grid-template-columns:minmax(0,1.45fr) minmax(19rem,.85fr);grid-auto-flow:dense;width:min(100%,76rem)}.trip-tab-home :is(.home-overview-strip,.home-grid.notes-only){grid-column:1/-1}.trip-tab-home :is(.today-summary,.home-priorities){grid-column:1}.trip-tab-home :is(.expense-summary-card,.weather-card){grid-column:2}:is(.trip-tab-home .home-view:not(:has(.today-summary)) .weather-card,.trip-tab-home .home-view:not(:has(.home-priorities)) .weather-card,.trip-tab-home .home-view:not(:has(.today-summary)):not(:has(.home-priorities)) .expense-summary-card){grid-column:1/-1}}@media (width>=1600px){.trip-tab-home .trip-toolbar{padding-left:max(3.5rem,50% - 38rem);padding-right:max(3.5rem,50% - 38rem)}}@media (width>=1024px) and (hover:hover){.trip-tab-home .home-overview-strip button:hover{background:var(--surface-raised)}.trip-tab-home .home-overview-strip button:hover .nav-icon,.trip-tab-home .home-priorities-header>button:hover,.trip-tab-home .summary-row-main:hover .summary-copy strong{color:var(--overview-accent,var(--brand))}.trip-tab-home .expense-summary-card:hover{border-color:var(--line-strong);background:var(--surface-raised)}}@media (width<=380px){.library-title-row{gap:.6rem}.library-action-buttons{gap:.3rem}.library-action-buttons button{padding-inline:.65rem}.collection-toolbar .calendar-export-button{width:2.75rem;min-width:2.75rem;padding:0}.calendar-export-button>span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.date-fields{grid-template-columns:1fr;gap:0}.member-row{grid-template-columns:2.5rem minmax(0,1fr)}.member-actions{grid-column:2}.legal-main{padding-left:.85rem;padding-right:.85rem}.legal-footer{flex-direction:column;align-items:flex-start}.legal-footer nav{justify-items:start}}@media (prefers-reduced-motion:no-preference){.auth-main{animation:app-surface-in var(--motion-slow) var(--ease-out) both}.legal-title-block,.legal-summary,.legal-section,.library-hero>:is(.brand-line,.library-title-row),.library-main>:is(.trip-list,.page-message,.empty-trips),.trip-main>:is(.home-view,.view-frame){animation:view-content-in var(--motion-base) var(--ease-out) both}.library-title-row{animation-delay:35ms!important}.toolbar-title-motion,.toolbar-tab-action{animation:control-in var(--motion-base) var(--ease-out) both}.bottom-nav button.active .nav-icon{animation:nav-selection var(--motion-slow) var(--ease-spring) both}.desktop-trip-navigation button.active .nav-icon,.theme-options>button.active .theme-option-check{animation:icon-selection var(--motion-base) var(--ease-spring) both}.modal-portal-layer{animation:modal-backdrop-in var(--motion-fast) ease-out both}.modal-portal-layer>.mobile-modal-form{animation:mobile-modal-in var(--motion-base) var(--ease-out) both}.modal-portal-layer>.app-settings-dialog{animation-name:sheet-in;animation-duration:var(--motion-slow)}.confirm-dialog{animation:confirm-in var(--motion-base) var(--ease-spring) both}.map-selection-sheet,.destination-suggestions{animation:sheet-in var(--motion-slow) var(--ease-out) both}.places-editor>:is(.trip-map-view,.hotel-list),.flight-ticket-review,.flight-ticket-import-message,.flight-ticket-warning,.form-error-banner,.page-message,.form-success,.settings-message,.sync-issue-banner,.note-conflict,.edit-mode-notice{animation:feedback-in var(--motion-base) var(--ease-out) both}.reorder-drag-ghost{animation:drag-ghost-in var(--motion-fast) ease-out both}.plan-card.is-drop-target:after,.place-card.is-drop-target:after,.check-row.is-drop-target:after{transform-origin:50%;animation:drop-line-in var(--motion-fast) var(--ease-out) both}.app-toast.leaving{animation:.18s ease-in both toast-out}::view-transition-old(root){animation:theme-out var(--motion-fast) ease-in both}::view-transition-new(root){animation:theme-in var(--motion-base) ease-out both}}@media (width>=721px) and (prefers-reduced-motion:no-preference){.modal-portal-layer>.mobile-modal-form,.modal-portal-layer>.app-settings-dialog{animation-name:desktop-dialog-in;animation-duration:var(--motion-slow)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.trip-card,.reservation-card,.hotel-card{transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, transform var(--motion-base) var(--ease-out)}.trip-card:hover,.reservation-card:hover,.plan-card:not(.is-dragging):not(.is-pressing):hover{transform:translateY(-2px)}.hotel-card:not(.is-dragging):has(.card-view-target:hover){transform:translateY(-2px)}}:is(.trip-open,.summary-row-main,.expense-summary-card,.reservation-card,.calendar-export-choice,.home-overview-strip button):not(:disabled):active{transform:scale(.99)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}button:not(:disabled):active,a:active{transform:none!important}.card-drag-handle:active{transform:translateY(-50%)!important}.history-skeleton span{background-position:50% 0;animation:none!important}.reorder-drag-ghost{will-change:auto}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes intro-mark{0%{opacity:0;transform:scale(.82)translateY(.5rem)}to{opacity:1;transform:none}}@keyframes intro-ring{0%{opacity:0;transform:scale(.75)rotate(-10deg)}to{opacity:1;transform:none}}@keyframes intro-out{to{opacity:0;visibility:hidden}}@keyframes content-in{0%{opacity:0;transform:translateY(.2rem)}to{opacity:1;transform:none}}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-120% 0}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-.5rem)}to{opacity:1;transform:translate(-50%)}}@keyframes app-surface-in{0%{opacity:0;transform:translateY(.5rem)scale(.99)}to{opacity:1;transform:none}}@keyframes view-content-in{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:none}}@keyframes control-in{0%{opacity:0;transform:translateY(.15rem)scale(.98)}to{opacity:1;transform:none}}@keyframes nav-selection{0%{transform:translateY(0)scale(.92)}65%{transform:translateY(-1px)scale(1.1)}to{transform:translateY(-1px)scale(1.06)}}@keyframes icon-selection{0%{opacity:.6;transform:scale(.88)}to{opacity:1;transform:none}}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes mobile-modal-in{0%{opacity:0;transform:translateY(.2rem)}to{opacity:1;transform:none}}@keyframes sheet-in{0%{opacity:0;transform:translateY(.65rem)}to{opacity:1;transform:none}}@keyframes desktop-dialog-in{0%{opacity:0;transform:translateY(.4rem)scale(.985)}to{opacity:1;transform:none}}@keyframes confirm-in{0%{opacity:0;transform:translateY(.35rem)scale(.97)}to{opacity:1;transform:none}}@keyframes feedback-in{0%{opacity:0;transform:translateY(.2rem)}to{opacity:1;transform:none}}@keyframes drag-ghost-in{0%{opacity:0}to{opacity:1}}@keyframes drop-line-in{0%{opacity:0;transform:scaleX(.45)}to{opacity:1;transform:scaleX(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-.35rem)}}@keyframes theme-out{to{opacity:0}}@keyframes theme-in{0%{opacity:0}to{opacity:1}}
