.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-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:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;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{-webkit-transition:none;-moz-transition:none;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{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--ink: #162126;--muted: #647277;--paper: #f3f0eb;--panel: rgba(255, 255, 255, .92);--line: #ded9cf;--green: #286f58;--coral: #c85a43;--gold: #b78328;--blue: #2f6f9f;--shadow: 0 18px 44px rgba(22, 33, 38, .13)}body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.pwa-login-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pwa-login-actions button,.account-bar .pwa-install{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;color:var(--green);background:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.pwa-offline{padding:12px max(16px,env(safe-area-inset-left));background:#fff0d2;color:#704600;font-size:13px;line-height:1.6}.pwa-error{flex-basis:100%;color:#a03030;font-size:12px}.portal-dialog ol{padding-left:24px;line-height:1.9;overflow-wrap:anywhere}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}}@media print{.pwa-login-actions,.pwa-offline{display:none!important}}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f3f0ebf5,#f3f0eb),repeating-linear-gradient(90deg,rgba(22,33,38,.035) 0 1px,transparent 1px 86px);color:var(--ink);font-family:Inter,Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}.app{min-height:100vh;padding:22px}.hero,.section-nav,.route-tabs,.dashboard{max-width:1480px;margin:0 auto}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,560px);gap:18px;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:radial-gradient(circle at 84% 18%,rgba(200,90,67,.18),transparent 30%),linear-gradient(135deg,#fffffff5,#e8f0ebd6);padding:22px;box-shadow:var(--shadow)}.hero-copy span,.map-header span,.card-kicker{color:var(--green);font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.trip-selector{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;gap:8px;align-items:center;max-width:900px;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;background:#ffffffc7;padding:8px}.trip-selector label{color:var(--green);font-size:12px;font-weight:900}.trip-selector select{min-height:36px;min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:0 10px;font:inherit;font-weight:900}.trip-selector span{grid-column:2 / -1;overflow:hidden;color:var(--muted);font-size:12px;font-weight:800;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.trip-selector-action{min-height:36px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:0 11px;font:inherit;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}.trip-selector-action:hover{border-color:var(--green);background:#edf4ef}.trip-selector-action.primary{border-color:var(--green);background:var(--green);color:#fff}.trip-manager-open{overflow:hidden}.trip-manager-backdrop{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;overflow:auto;background:#0a141894;padding:24px}.trip-manager-dialog{width:min(960px,100%);max-height:min(860px,calc(100vh - 48px));overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 30px 90px #0a141852}.trip-manager-dialog>header{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:#fffffff7;padding:17px 20px}.trip-manager-dialog>header span{color:var(--green);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.trip-manager-dialog>header h2{margin:3px 0 0;font-size:24px}.trip-manager-close{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:25px;line-height:1;cursor:pointer}.trip-manager-content,.trip-manager-form{padding:20px}.trip-manager-error{margin:16px 20px 0;border:1px solid rgba(185,28,28,.3);border-radius:8px;background:#fff3f2;color:#8f211b;padding:11px 13px;font-size:13px;font-weight:800;line-height:1.55;white-space:pre-wrap}.trip-manager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.trip-manager-toolbar p,.trip-manager-help{margin:0;color:var(--muted);font-size:13px;font-weight:700}.trip-manager-toolbar button,.trip-manager-form-actions button{min-height:38px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:0 13px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.trip-manager-toolbar button.primary,.trip-manager-form-actions button.primary{border-color:var(--green);background:var(--green);color:#fff}.trip-manager-list{display:grid;gap:10px}.trip-manager-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:16px;align-items:center;border:1px solid var(--line);border-radius:10px;background:#ffffffeb;padding:15px}.trip-manager-card.is-hidden{background:#ebe8e2db;opacity:.84}.trip-manager-card-copy h3{margin:7px 0 5px;font-size:18px}.trip-manager-card-copy p{margin:0 0 6px;color:var(--muted);font-size:13px;font-weight:800}.trip-manager-card-copy small{color:var(--muted);font-size:11px}.trip-manager-badges{display:flex;flex-wrap:wrap;gap:5px}.trip-manager-badges span{border-radius:999px;background:#e8ecea;color:var(--muted);padding:3px 7px;font-size:10px;font-weight:900}.trip-manager-badges .visibility-published,.trip-manager-badges .is-default{background:#e1efe7;color:var(--green)}.trip-manager-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.trip-manager-card-actions button{min-height:32px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:0 9px;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.trip-manager-card-actions button:hover,.trip-manager-form-actions button.secondary:hover{border-color:var(--green);background:#edf4ef}.trip-manager-card-actions button.archive{color:#a62820}.trip-manager-card-actions button.delete{border-color:#b91c1c4d;background:#fff3f2;color:#a62820}.trip-manager-card-actions button.delete:hover{border-color:#b91c1c;background:#b91c1c;color:#fff}.trip-manager-card-actions button.restore{color:var(--green)}.trip-manager-card-actions button:disabled,.trip-manager-form-actions button:disabled,.trip-manager-close:disabled{cursor:not-allowed;opacity:.5}.trip-manager-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trip-manager-form label,.trip-manager-status-field{display:grid;gap:6px}.trip-manager-form label>span,.trip-manager-status-field>span{color:var(--ink);font-size:12px;font-weight:900}.trip-manager-form input,.trip-manager-form select,.trip-manager-form textarea,.trip-manager-status-field select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:9px 11px;font:inherit}.trip-manager-form textarea{resize:vertical}.trip-manager-wide-field{grid-column:1 / -1}.trip-manager-help{margin-top:13px}.trip-manager-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.trip-manager-status-field{margin:20px 20px -6px}.trip-manager-empty{margin:30px 0;color:var(--muted);text-align:center}.report-actions{display:flex;margin-bottom:12px}.report-actions button{display:inline-flex;min-height:38px;align-items:center;gap:8px;border:1px solid var(--ink);border-radius:7px;background:var(--ink);color:#fff;padding:0 12px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.report-actions button:hover{background:var(--green);border-color:var(--green)}.report-actions button:disabled{cursor:wait;opacity:.76}.report-actions button span{color:#fff;font-size:13px;font-weight:900;text-transform:none}.edit-status-bar{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:12px}.edit-status-bar span,.edit-status-bar button,.edit-tools-menu summary{min-height:32px;border:1px solid var(--line);border-radius:7px;background:#ffffffdb;color:var(--muted);padding:0 10px;font:inherit;font-size:12px;font-weight:900}.edit-status-bar span{display:inline-flex;align-items:center;color:var(--green)}.edit-status-bar button{cursor:pointer}.edit-tools-menu{position:relative}.edit-tools-menu summary{display:inline-flex;align-items:center;cursor:pointer;list-style:none}.edit-tools-menu summary::-webkit-details-marker{display:none}.edit-tools-menu>div{position:absolute;z-index:60;top:calc(100% + 5px);left:0;right:auto;display:grid;width:min(200px,calc(100vw - 32px));gap:6px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 12px 30px #16212624;padding:7px}.edit-tools-menu>div button{width:100%;min-height:40px;white-space:normal;overflow-wrap:anywhere;text-align:left}.edit-status-bar button:hover{border-color:#286f5859;background:#edf4ef;color:var(--ink)}.edit-status-bar button.danger-action{border-color:#b91c1c57;background:#fff3f2;color:#a62820}.edit-status-bar button.danger-action:hover{border-color:#b91c1c;background:#b91c1c;color:#fff}.edit-status-bar button:disabled,.edit-status-bar button:disabled:hover{cursor:not-allowed;border-color:var(--line);background:#ffffff8f;color:var(--muted);opacity:.52}.hero h1{max-width:740px;margin:10px 0 12px;font-size:clamp(32px,4vw,56px);line-height:1.04;letter-spacing:0}.hero p{max-width:780px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-content:end}.metric-grid div,.schedule-card,.detail-card,.tip-card,.map-card{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.metric-grid div{min-height:112px;padding:14px}.metric-grid svg{color:var(--green)}.metric-grid span{display:block;margin:12px 0 8px;color:var(--muted);font-size:12px}.metric-grid b{display:block;font-size:17px;line-height:1.24}.section-nav,.route-tabs{display:grid;gap:6px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8;padding:6px}.section-nav{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.route-tabs{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));margin-top:8px}.section-nav button,.route-tabs button,.zoom-controls button,.schedule-card button,.overview-card button,.time-blocks button{border:0;border-radius:7px;font:inherit;cursor:pointer}.editable-itinerary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:start;width:100%;border:1px solid var(--line);border-radius:7px;background:#fbfaf8;padding:8px 10px}.editable-itinerary-row.active{border-color:#286f5857;background:#edf4ef}.spot-pick-button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;min-width:0;border:0;background:transparent;color:var(--ink);padding:0;text-align:left;cursor:pointer}.spot-pick-button b{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;font-size:13px}.spot-pick-button span{min-width:0}.spot-pick-button strong,.spot-pick-button small{display:block}.spot-pick-button small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.edit-fields{display:grid;grid-column:1 / -1;grid-template-columns:112px minmax(172px,220px) minmax(0,1fr);gap:6px;min-width:0}.edit-fields select,.edit-fields input,.edit-fields textarea,.time-range-field select,.move-day-field select,.add-spot-row select{min-width:0;min-height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:0 8px;font:inherit;font-size:12px;font-weight:800}.edit-fields textarea{min-height:58px;padding:8px;line-height:1.4;resize:vertical}.move-day-field{display:grid;grid-column:1 / -1;grid-template-columns:72px minmax(0,1fr);gap:6px;align-items:center;min-width:0}.move-day-field span{color:var(--muted);font-size:12px;font-weight:900}.time-range-field{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:4px;align-items:center;min-width:0}.time-range-field span{color:var(--muted);font-size:12px;font-weight:900;text-align:center}.move-day-field select{width:100%}.edit-actions{display:inline-grid;grid-column:1 / -1;grid-template-columns:repeat(3,100px);gap:4px;justify-self:end;width:auto}.edit-actions button{min-height:26px;height:26px;min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-weight:900;cursor:pointer}.edit-actions button:hover{background:#edf4ef}.add-spot-row{border-top:1px solid var(--line);padding-top:8px}.add-spot-row select{width:100%}.section-nav button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:8px}.section-nav button{background:transparent;color:var(--muted);font-weight:900}.route-tabs button{position:relative;min-height:36px;background:transparent;color:var(--muted);padding:0 8px;font-size:13px;font-weight:900;line-height:1.2}.route-tabs button:before{content:"";position:absolute;left:8px;right:8px;top:6px;height:3px;border-radius:999px;background:var(--route-color);opacity:.7}.section-nav button:hover,.route-tabs button:hover{background:#286f5814;color:var(--ink)}.section-nav button.active,.route-tabs button.active{background:var(--route-color, var(--green));color:#fff}.route-tabs button.active:before{background:#ffffffdb;opacity:1}.dashboard{display:grid;grid-template-columns:310px minmax(0,1fr) 320px;gap:16px;margin-top:16px;align-items:start}.map-layout{grid-template-columns:minmax(0,1fr) 300px}.overview-layout{grid-template-columns:minmax(0,1fr) 320px}.itinerary-layout{grid-template-columns:minmax(0,1fr)}.map-layout .map-card{min-height:364px}.left-rail,.right-rail{display:grid;gap:12px}.overview-main,.overview-panel,.overview-schedule{display:grid;gap:14px}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.overview-card{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:16px}.overview-card h2,.overview-card h3{margin:8px 0 10px}.overview-card p{margin:0;color:var(--muted);line-height:1.6}.overview-card button{min-height:38px;margin-top:14px;background:var(--ink);color:#fff;padding:0 12px;font-weight:900}.overview-schedule{scroll-margin-top:18px}.overview-day-card{border:1px solid var(--line);border-left:5px solid var(--route-color, var(--green));border-radius:8px;background:var(--panel);box-shadow:0 10px 28px #1621260f;overflow:hidden}.overview-day-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:14px;align-items:center;width:100%;border:0;background:transparent;color:var(--ink);padding:16px;text-align:left;cursor:pointer}.overview-day-toggle:hover{background:color-mix(in srgb,var(--route-color, var(--green)) 7%,#fff)}.overview-day-toggle span{color:var(--route-color, var(--green));font-size:12px;font-weight:900}.overview-day-toggle h3{margin:5px 0 6px;font-size:18px}.overview-day-toggle p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.overview-day-toggle dl{display:grid;grid-template-columns:repeat(2,auto);gap:8px;margin:0}.overview-day-toggle dl div{min-width:82px;border:1px solid var(--line);border-radius:7px;background:#fbfaf8;padding:8px 10px}.overview-day-toggle dt{color:var(--muted);font-size:11px;font-weight:900}.overview-day-toggle dd{margin:2px 0 0;font-weight:1000}.overview-day-toggle svg{color:var(--route-color, var(--green));transition:transform .18s ease}.overview-day-card.expanded .overview-day-toggle svg{transform:rotate(180deg)}.overview-day-detail{display:grid;gap:3px;border-top:1px solid var(--line);padding:6px 10px 10px}.overview-day-memo{display:grid;gap:3px;align-items:start;margin:2px 0 5px;border:1px solid rgba(183,131,40,.24);border-radius:7px;background:#fff8e8;padding:8px 10px}.overview-day-memo p{margin:0;color:#65491f;font-size:11px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}.overview-day-memo p+p{margin-top:3px}.overview-schedule-row{display:grid;grid-template-columns:20px minmax(0,1fr) 72px 54px;gap:6px;align-items:center;border:1px solid var(--line);border-radius:7px;background:#fbfaf8;padding:2px 6px;width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.overview-schedule-row:hover{border-color:#286f5857;background:#edf4ef}.overview-schedule-row.base{background:#edf4ef}.overview-schedule-row b{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:var(--route-color, var(--green));color:#fff;font-size:10px}.overview-schedule-row span,.overview-schedule-row strong,.overview-schedule-row small{min-width:0}.overview-schedule-row span,.overview-schedule-row strong,.overview-schedule-row small{display:block}.overview-schedule-row small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.overview-schedule-row .overview-spot-memo{grid-column:2 / -1;width:100%;margin:2px 0 3px;border-top:1px dashed rgba(122,90,45,.24);padding-top:5px;color:#7a5a2d;font-weight:800;overflow-wrap:anywhere;white-space:pre-wrap}.time-blocks .edit-actions button{display:inline-grid;grid-template-columns:1fr;min-height:26px;height:26px;padding:0;text-align:center;place-items:center}.overview-schedule-row em{justify-self:end;color:var(--muted);font-size:10px;font-style:normal;font-weight:900}.overview-schedule-row time{justify-self:end;color:var(--muted);font-size:10px;font-weight:900;white-space:nowrap}.next-trip-card{background:linear-gradient(135deg,#fffffff2,#e8f0ebf2),radial-gradient(circle at 90% 10%,rgba(40,111,88,.16),transparent 38%)}.checklist-card ul{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.checklist-card li{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:14px;line-height:1.35}.checklist-card svg{flex:0 0 auto;color:var(--green)}.schedule-stack{display:grid;gap:12px}.schedule-card,.detail-card,.tip-card{padding:16px}.schedule-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.schedule-card header span{color:var(--green);font-weight:900}.schedule-card time{color:var(--muted);font-size:12px;font-weight:900}.schedule-card h3,.tip-card h3{margin:0 0 12px;font-size:17px}.schedule-card ol{display:grid;gap:7px;margin:0;padding:0;list-style:none}.schedule-card button{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;width:100%;min-height:40px;background:#fbfaf8;color:var(--ink);padding:6px 8px;text-align:left}.schedule-card button:hover,.schedule-card button.selected{background:#eaf2ed}.schedule-card button b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;font-size:13px}.schedule-card button span{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.itinerary-board{display:grid;gap:14px}.day-board{overflow:hidden;border:1px solid var(--line);border-left:5px solid var(--route-color, var(--green));border-radius:8px;background:var(--panel);padding:0;box-shadow:0 10px 28px #1621260f}.day-board-toggle{display:flex;width:100%;justify-content:space-between;gap:16px;align-items:start;border:0;border-radius:8px;background:transparent;color:var(--ink);padding:18px;text-align:left;cursor:pointer}.day-board-toggle:hover{background:color-mix(in srgb,var(--route-color, var(--green)) 10%,#fff)}.day-board-toggle span{color:var(--route-color, var(--green));font-size:12px;font-weight:900}.day-board h2{margin:5px 0 0;font-size:22px}.day-board-meta{display:inline-flex;flex-shrink:0;align-items:center;gap:8px}.day-board-meta svg{color:var(--route-color, var(--green));transition:transform .18s ease}.day-board.expanded .day-board-meta svg{transform:rotate(180deg)}.day-board time{color:var(--muted);font-size:12px;font-weight:900}.time-blocks{display:grid;gap:12px;padding:0 18px 18px}.day-board-toolbar{display:flex;justify-content:flex-end;gap:6px}.day-board-toolbar button{min-height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:0 10px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.day-board-toolbar button:hover{background:#edf4ef}.base-itinerary-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(180px,260px);gap:10px;align-items:center;border:1px solid rgba(40,111,88,.24);border-radius:7px;background:#edf4ef;padding:10px}.base-itinerary-row.end{background:#f4f8f2}.base-itinerary-row span{min-width:0}.base-itinerary-row strong,.base-itinerary-row small{display:block}.base-itinerary-row small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.base-itinerary-row select{width:100%;min-width:0;min-height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:0 8px;font:inherit;font-size:12px;font-weight:900}.period-group{display:grid;gap:8px}.period-group h3{margin:0;color:var(--route-color, var(--green));font-size:12px}.time-blocks button{display:grid;grid-template-columns:34px minmax(0,1fr) 86px;gap:10px;align-items:center;width:100%;min-height:58px;border:1px solid var(--line);background:#fbfaf8;color:var(--ink);padding:8px 10px;text-align:left}.time-blocks button:hover,.time-blocks button.active{border-color:#286f5857;background:#edf4ef}.time-blocks b{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;font-size:13px}.spot-badge.hotel{background:var(--green)}.spot-badge.required{background:var(--coral)}.spot-badge.bonus{background:var(--gold)}.spot-badge.food{background:#be3455}.spot-badge.snack{background:#7c3aed}.time-blocks span{min-width:0}.time-blocks strong,.time-blocks small{display:block}.time-blocks strong{margin-bottom:4px}.time-blocks small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.time-blocks em{display:inline-flex;flex-direction:column;gap:2px;color:var(--muted);font-size:12px;font-style:normal;font-weight:900;text-align:right}.time-blocks em:before{content:"체류";color:var(--green);font-size:10px}.map-card{position:relative;overflow:hidden;display:grid;gap:10px;min-width:0;padding:12px;box-shadow:var(--shadow)}.map-stage{position:relative;height:364px;overflow:hidden;border:1px solid rgba(222,217,207,.9);border-radius:8px;isolation:isolate}.map-card .route-tabs{width:100%;min-width:0;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));margin-top:0;background:#fff}.map-card .route-tabs button{min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-summary-card{display:grid;gap:10px;border:1px solid var(--line);border-top:5px solid var(--route-color, var(--green));border-radius:8px;background:#fff;padding:12px}.day-summary-card span{color:var(--route-color, var(--green));font-size:12px;font-weight:900}.day-summary-card h3{margin:4px 0 0;font-size:18px}.day-summary-card p{margin:0;color:var(--muted);line-height:1.55;white-space:pre-line}.day-summary-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.day-summary-card dl div{border:1px solid var(--line);border-radius:7px;background:#fbfaf8;padding:8px}.day-summary-card dt{color:var(--muted);font-size:11px;font-weight:900}.day-summary-card dd{margin:3px 0 0;font-size:13px;font-weight:900}.summary-pills{display:flex;flex-wrap:wrap;gap:6px}.summary-pills span{border-radius:999px;background:color-mix(in srgb,var(--route-color, var(--green)) 12%,#fff);padding:5px 8px;color:var(--route-color, var(--green))}.day-summary-card ul{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--muted);font-size:13px}.concept-board{display:grid;gap:14px}.concept-intro,.concept-card{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 10px 28px #1621260f}.concept-intro{padding:18px}.concept-intro span,.concept-card header span,.concept-card label span{color:var(--green);font-size:12px;font-weight:900}.concept-intro h2{margin:6px 0 8px;font-size:24px}.concept-intro p{margin:0;color:var(--muted);line-height:1.6}.concept-card{display:grid;gap:12px;border-left:5px solid var(--route-color, var(--green));padding:16px}.concept-card.collapsed{gap:0}.concept-card-body{display:grid;gap:12px}.concept-card header{display:flex;justify-content:space-between;gap:12px;align-items:center}.concept-card header span{color:var(--route-color, var(--green))}.concept-card header strong{color:var(--muted);font-size:12px}.concept-card header .concept-collapse-toggle{display:flex;flex:1 1 220px;min-width:0;min-height:36px;align-items:center;justify-content:flex-start;gap:9px;border:0;background:transparent;padding:0;color:var(--ink);text-align:left}.concept-card header .concept-collapse-toggle:hover{border-color:transparent;background:transparent;color:var(--ink)}.concept-collapse-toggle strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.concept-collapse-toggle svg{flex-shrink:0;margin-left:auto;color:var(--route-color, var(--green));transition:transform .18s ease}.concept-card.expanded .concept-collapse-toggle svg{transform:rotate(180deg)}.change-badge{border-radius:999px;background:#fff1c2;color:#795b08;padding:4px 8px;font-size:11px;font-style:normal;font-weight:900}.concept-card header div{display:flex;flex-wrap:wrap;gap:8px;justify-content:end;align-items:center}.concept-card header button,.concept-toolbar button{min-height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);padding:0 10px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.concept-card header button:hover,.concept-toolbar button:hover{border-color:#286f5859;background:#edf4ef;color:var(--ink)}.concept-card header button:disabled{cursor:not-allowed;opacity:.42}.concept-card header button:disabled:hover{border-color:var(--line);background:#fff;color:var(--muted)}.concept-toolbar{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.concept-card label{display:grid;gap:6px;min-width:0}.concept-card input,.concept-card select,.concept-card textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:9px 10px;font:inherit;font-size:13px;font-weight:800}.concept-card input[readonly]{background:#f3f4f2;color:var(--muted)}.concept-card label.checkbox-field{display:flex;min-height:40px;flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;background:#fbfaf8;padding:8px 10px}.concept-card label.checkbox-field input{width:auto;min-height:0;margin:0}.coordinate-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.concept-card .coordinate-editor-row button{min-height:38px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);padding:0 10px;font:inherit;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}.concept-card .coordinate-editor-row button:hover{border-color:#286f5859;background:#edf4ef;color:var(--ink)}.coordinate-status{color:var(--muted);font-size:11px;font-weight:800}.place-resolution-summary{display:grid;gap:3px;margin-top:6px;padding:8px 10px;border:1px solid rgba(40,111,88,.2);border-radius:7px;background:#f4f8f5;color:var(--muted);font-size:11px;font-weight:800}.place-resolution-summary.warning{border-color:#b7832859;background:#fff8e8}.place-resolution-summary code{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.place-resolution-summary small{color:#8a5a13}.place-match-candidates{display:grid;gap:6px;margin-top:4px}.place-match-candidates button{display:grid;gap:2px;width:100%;border:1px solid rgba(183,131,40,.35);border-radius:7px;background:#fff;padding:8px 10px;color:var(--ink);text-align:left;cursor:pointer}.place-match-candidates button:hover{border-color:var(--green);background:#f4f8f5}.place-match-candidates button span,.place-match-candidates button small{color:var(--muted);font-size:11px}.spot-editor{box-shadow:0 10px 28px #16212614}.spot-editor-picker{display:grid;grid-template-columns:auto minmax(150px,220px);gap:6px;align-items:center}.concept-card header .spot-editor-picker span{color:var(--muted);font-size:11px;white-space:nowrap}.spot-editor-picker select{min-width:0;min-height:32px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:0 8px;font:inherit;font-size:12px;font-weight:900}.spot-editor-picker select:disabled{background:#f3f4f2;color:var(--muted)}.revision-conflict-banner{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;border:1px solid rgba(183,131,40,.35);border-radius:8px;background:#fff8e8;padding:10px 12px;color:#65491f;font-size:12px}.revision-conflict-banner span{flex:1 1 280px}.revision-conflict-banner button{min-height:30px;border:1px solid rgba(183,131,40,.35);border-radius:7px;background:#fff;color:#65491f;padding:0 10px;font:inherit;font-weight:900;cursor:pointer}.concept-card textarea{resize:vertical;line-height:1.5}.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.concept-grid.list-fields{align-items:start}.concept-grid.day-note-fields{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.fnb-board{display:grid;gap:14px}.fnb-input-panel,.fnb-sort-panel,.fnb-candidate{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 10px 28px #1621260f}.fnb-input-panel{display:grid;gap:12px;padding:16px}.fnb-input-panel.editing{border-color:#b783288c;box-shadow:0 10px 28px #b783281f}.fnb-form-mode{display:flex;align-items:center;justify-content:space-between;gap:10px}.fnb-form-mode strong{color:var(--ink);font-size:15px}.fnb-form-mode button{min-height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);padding:0 10px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.fnb-input-panel label,.fnb-sort-panel label{display:grid;gap:6px;min-width:0}.fnb-input-panel label span,.fnb-sort-panel label span{color:var(--green);font-size:12px;font-weight:900}.fnb-input-panel input,.fnb-input-panel select,.fnb-sort-panel select{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:9px 10px;font:inherit;font-size:13px;font-weight:800}.fnb-actions,.fnb-day-actions{display:flex;flex-wrap:wrap;gap:8px}.fnb-actions button,.fnb-day-actions button{min-height:32px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:0 10px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.fnb-actions button:hover,.fnb-day-actions button:hover{border-color:#286f5859;background:#edf4ef}.fnb-actions button.primary{border-color:var(--green);background:var(--green);color:#fff}.fnb-actions button.primary:hover{background:#205b49;color:#fff}.fnb-status,.empty-note{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.fnb-sort-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding:14px 16px}.fnb-sort-panel strong{color:var(--muted);font-size:12px;text-align:right}.fnb-candidate-list{display:grid;gap:10px}.fnb-candidate{display:grid;gap:10px;padding:12px}.fnb-candidate.active{border-color:#286f5861;background:#edf4ef}.fnb-candidate .spot-pick-button{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;width:100%;border:0;background:transparent;padding:0;color:var(--ink);text-align:left;cursor:pointer}.fnb-candidate .spot-pick-button span,.fnb-candidate .spot-pick-button strong,.fnb-candidate .spot-pick-button small{display:block;min-width:0}.fnb-candidate .spot-pick-button small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.fnb-badges{display:flex;flex-wrap:wrap;gap:5px}.fnb-badges span{border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900}.fnb-badges .scheduled,.fnb-badges .mapped{background:#edf4ef;color:var(--green)}.fnb-badges .candidate{background:#f7f2e8;color:#8a5a1f}.fnb-badges .missing{background:#f8e9e7;color:#9f3a38}.cost-board{display:grid;gap:14px}.cost-total-card,.cost-day-card{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 10px 28px #1621260f}.cost-total-card{display:grid;gap:4px;padding:18px;border-left:5px solid var(--green)}.cost-total-card span,.cost-total-card small{color:var(--muted);font-size:12px;font-weight:900}.cost-total-card strong{font-size:34px;line-height:1.1}.cost-category-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.cost-category-summary div{display:grid;gap:5px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px}.cost-category-summary span{color:var(--muted);font-size:11px;font-weight:900}.cost-category-summary i{display:block;overflow:hidden;height:8px;border-radius:999px;background:#eef5f1}.cost-category-summary b{display:block;height:100%;border-radius:inherit;background:var(--green)}.cost-category-summary strong{font-size:13px}.cost-toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.cost-expand-actions{display:flex;gap:6px}.cost-expand-actions button{min-height:32px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);padding:0 10px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.cost-expand-actions button:hover{border-color:#286f5859;background:#edf4ef;color:var(--ink)}.cost-toolbar label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px 10px;color:var(--muted);font-size:12px;font-weight:900}.cost-toolbar input{accent-color:var(--green)}.cost-day-grid{display:grid;gap:12px}.cost-day-card{display:grid;gap:3px;border-left:5px solid var(--route-color, var(--green));padding:6px 8px}.cost-day-card header{display:block}.cost-day-toggle{display:flex;width:100%;justify-content:space-between;gap:12px;align-items:center;border:0;background:transparent;padding:2px 0;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.cost-day-toggle:hover{color:var(--green)}.cost-day-card header span{color:var(--route-color, var(--green));font-size:12px;font-weight:900}.cost-day-card h3{margin:2px 0 0;font-size:14px}.cost-day-card header strong{white-space:nowrap;font-size:15px}.cost-day-total{display:grid;grid-template-columns:auto auto;gap:2px;justify-items:end;align-items:center}.cost-day-total small{grid-column:1;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.cost-day-total svg{grid-column:2;grid-row:1 / 3;color:var(--route-color, var(--green));transition:transform .18s ease}.cost-day-card.expanded .cost-day-total svg{transform:rotate(180deg)}.cost-day-body{display:grid;gap:3px}.cost-row-list{display:grid;gap:2px}.cost-row{display:grid;grid-template-columns:16px minmax(0,1fr) 44px 76px;gap:5px;align-items:center;border:1px solid var(--line);border-radius:7px;background:#fbfaf8;padding:0 5px}.cost-row span{display:grid;width:16px;height:16px;place-items:center;border-radius:50%;background:var(--route-color, var(--green));color:#fff;font-size:10px;font-weight:900}.cost-row b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.cost-row em{color:var(--muted);font-size:10px;font-style:normal;font-weight:900;line-height:1.45;overflow-wrap:anywhere;padding:5px 0;white-space:pre-wrap}.cost-row strong{justify-self:end;white-space:nowrap;font-size:10px}.cost-muted-note{margin:2px 0 0;color:var(--muted);font-size:11px;font-weight:900}.extra-cost-panel{display:grid;gap:6px;margin-top:6px;padding-top:8px;border-top:1px dashed var(--line)}.extra-cost-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.extra-cost-head b{font-size:12px}.extra-cost-head div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.extra-cost-head button,.spot-cost-editor button,.spot-cost-display-row button,.extra-cost-editor button,.extra-cost-display-row button{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-height:26px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:11px;font-weight:900;cursor:pointer}.extra-cost-head button{padding:0 7px}.extra-cost-list{display:grid;gap:4px}.extra-cost-editor{display:grid;grid-template-columns:74px minmax(88px,.8fr) 92px minmax(220px,2fr) 54px;gap:5px;align-items:center}.extra-cost-editor select,.extra-cost-editor input,.extra-cost-editor textarea{min-width:0;height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:12px;font-weight:800;padding:0 7px}.extra-cost-editor textarea{height:auto;min-height:58px;line-height:1.4;padding:7px;resize:vertical}.extra-cost-editor input[type=number]{text-align:right}.extra-cost-editor button{width:54px;padding:0;color:var(--green)}.spot-cost-editor{display:grid;grid-template-columns:minmax(120px,1fr) 92px minmax(240px,2fr) 54px;gap:5px;align-items:center}.spot-cost-editor b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.spot-cost-editor input,.spot-cost-editor textarea{min-width:0;height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:12px;font-weight:800;padding:0 7px}.spot-cost-editor textarea{height:auto;min-height:58px;line-height:1.4;padding:7px;resize:vertical}.spot-cost-editor input[type=number]{text-align:right}.spot-cost-editor button{width:54px;padding:0;color:var(--green)}.spot-cost-display-row{grid-template-columns:16px minmax(120px,1fr) minmax(220px,2fr) 86px 28px}.spot-cost-display-row button{width:28px;min-height:24px;padding:0;color:var(--green)}.extra-cost-display-row{grid-template-columns:16px minmax(120px,1fr) minmax(220px,2fr) 86px 28px 28px}.extra-cost-display-row button{width:28px;min-height:24px;padding:0;color:#9f3a38}.map-header{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(222,217,207,.9);border-radius:8px;background:#fff;padding:12px}.map-header h2{margin:4px 0 0;font-size:18px}.zoom-controls{display:grid;grid-template-columns:repeat(3,38px);gap:4px}.zoom-controls button{display:grid;min-height:36px;place-items:center;border:1px solid var(--line);background:#fff;color:var(--ink)}.zoom-controls button:hover{background:#edf4ef}.real-map{position:absolute;inset:0;z-index:0;height:100%;background:#e8efe9}.dimmed{opacity:.06}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:10px}.leaflet-control-scale-line{border-color:var(--ink);background:#ffffffeb;color:var(--ink);font-family:inherit;font-weight:900}.leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 14px 32px #1621262e}.leaflet-popup-content{margin:10px 12px;font-family:inherit}.spot-popup{display:grid;gap:6px;min-width:180px}.spot-popup strong{color:var(--ink);font-size:14px}.spot-popup span{color:var(--green);font-size:12px;font-weight:900}.spot-popup p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.spot-popup a{justify-self:start;border-radius:7px;background:var(--ink);color:#fff;padding:7px 9px;font-size:12px;font-weight:900;text-decoration:none}.map-link-menu{display:grid;gap:8px}.map-link-menu summary{display:inline-flex;align-items:center;justify-content:space-between;min-height:40px;width:fit-content;border-radius:8px;background:var(--ink);color:#fff;padding:0 13px;font-weight:900;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.map-link-menu summary::-webkit-details-marker{display:none}.map-link-menu summary:after{content:"▾";margin-left:9px;transition:transform .16s ease}.map-link-menu[open] summary:after{transform:rotate(180deg)}.map-link-options{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.map-link-options small{color:var(--muted);font-size:12px;line-height:1.45}.map-link-options a,.detail-card .map-link-options a{display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--line);border-radius:7px;background:var(--panel-strong, #fff);color:var(--ink);padding:0 10px;font-size:12px;font-weight:900;text-decoration:none}.map-link-menu-popup summary{min-height:32px;border-radius:7px;padding:0 10px;font-size:12px}.spot-marker{background:transparent;border:0}.spot-marker b{display:grid;position:absolute;left:0;top:0;width:36px;height:36px;place-items:center;border:3px solid #fff;border-radius:50%;color:#fff;font-size:14px;font-weight:900;box-shadow:0 8px 18px #16212647}.spot-marker span{display:block;position:absolute;left:42px;top:4px;max-width:112px;border:1px solid rgba(222,217,207,.95);border-radius:7px;background:#fffffff0;color:var(--ink);padding:5px 8px;font-size:12px;font-weight:900;line-height:1.2;white-space:normal;box-shadow:0 6px 14px #1621261f}.spot-marker.hotel b{background:var(--green)}.spot-marker.required b{background:var(--coral)}.spot-marker.bonus b{background:var(--gold)}.spot-marker.food b{background:#be3455}.spot-marker.snack b{background:#7c3aed}.spot-marker.selected b{border-color:var(--ink);transform:scale(1.12)}.spot-marker.dimmed{opacity:.12}.distance-marker{background:transparent;border:0}.distance-marker span{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:24px;border:1px solid var(--line);border-radius:7px;background:#fffffff0;color:var(--ink);font-size:12px;font-weight:900;box-shadow:0 6px 14px #16212621}.distance-marker.day1 span{border-color:#c85a4373}.distance-marker.day2 span{border-color:#2f6f9f73}.distance-marker.dimmed{opacity:.05}.map-color-key{display:grid;grid-template-columns:auto repeat(5,minmax(0,auto));align-items:center;gap:6px 8px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 8px;color:var(--muted);font-size:11px}.map-color-key strong{color:var(--ink);font-size:12px;white-space:nowrap}.map-color-key span{display:inline-flex;gap:4px;align-items:center;min-width:0;white-space:nowrap}.map-color-key i{width:10px;height:10px;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #1621262e}.map-color-key b{color:var(--ink);font-weight:900;font-size:10px}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 10px;color:var(--muted);font-size:13px}.map-info-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch;min-width:0}.legend span{display:inline-flex;align-items:center;gap:6px;min-width:0}.legend b{color:var(--ink);font-weight:900}.line{width:20px;height:4px;border-radius:999px}.day1-line{background:var(--coral)}.day2-line{background:var(--blue)}.detail-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.type-badge{border-radius:999px;padding:5px 9px;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase}.type-badge.hotel{background:var(--green)}.type-badge.required{background:var(--coral)}.type-badge.bonus{background:var(--gold)}.type-badge.food{background:#be3455}.type-badge.snack{background:#7c3aed}.detail-top strong{color:var(--muted);font-size:12px}.type-explain{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:#fbfaf8;padding:8px 10px;color:var(--muted);font-size:13px;font-weight:800}.type-explain i{width:12px;height:12px;border-radius:50%}.type-explain.hotel i{background:var(--green)}.type-explain.required i{background:var(--coral)}.type-explain.bonus i{background:var(--gold)}.type-explain.food i{background:#be3455}.type-explain.snack i{background:#7c3aed}.detail-card h2{margin:0 0 10px;font-size:23px}.detail-card p,.tip-card p{margin:0;color:var(--muted);line-height:1.62}.detail-card dl{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 10px;margin:16px 0;font-size:14px}.detail-card dt{display:inline-flex;align-items:center;gap:5px;color:var(--muted);white-space:nowrap}.detail-card dd{margin:0;font-weight:800}.detail-card>a{display:inline-flex;align-items:center;min-height:40px;border-radius:8px;background:var(--ink);color:#fff;padding:0 13px;font-weight:900;text-decoration:none}.tip-card div{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tip-card svg{color:var(--green)}.tip-card h3{margin:0}.report-page{display:none}.leaflet-report-capture-host{position:fixed;left:-120vw;top:0;width:900px;height:600px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#eef5f1;pointer-events:none}.leaflet-report-capture-map{width:900px;height:600px}.report-capture-marker{background:transparent;border:0}.report-capture-marker b{display:grid;position:absolute;left:0;top:0;width:34px;height:34px;place-items:center;border:3px solid #fff;border-radius:50%;color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 18px #16212642}.report-capture-marker span{display:block;position:absolute;left:40px;top:3px;max-width:94px;border:1px solid rgba(222,217,207,.95);border-radius:7px;background:#fffffff2;color:var(--ink);padding:5px 7px;font-size:11px;font-weight:900;line-height:1.18;white-space:normal;box-shadow:0 6px 14px #1621261f}.report-capture-marker.hotel b{background:var(--green)}.report-capture-marker.required b{background:var(--coral)}.report-capture-marker.bonus b{background:var(--gold)}.report-capture-marker.food b{background:#be3455}.report-capture-marker.snack b{background:#7c3aed}.report-cover,.report-section{border:1px solid var(--line);border-radius:8px;background:#fff;padding:24px}.report-cover{display:grid;gap:20px;min-height:920px;align-content:start;border-top:10px solid var(--green)}.report-cover-visual{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;min-height:170px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#edf4efe6,#fffffff2),repeating-linear-gradient(45deg,rgba(40,111,88,.08) 0 2px,transparent 2px 15px);padding:22px}.report-cover-route{display:flex;align-items:center;gap:9px;min-width:0}.report-cover-route:before{content:"";position:absolute}.report-cover-route span{display:block;width:26px;height:26px;border:4px solid #fff;border-radius:50%;background:var(--route-color, var(--green));box-shadow:0 8px 18px #16212633;transform:translateY(calc((var(--dot-index, 0) % 3 - 1) * 13px))}.report-cover-visual div:last-child{display:grid;gap:5px;justify-items:end;text-align:right}.report-cover-visual b{color:var(--green);font-size:13px;text-transform:uppercase}.report-cover-visual strong{font-size:22px}.report-cover-hero{display:grid;gap:15px;padding-top:36px}.report-cover-hero>span,.report-section-title span{color:var(--green);font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.report-cover-hero h1{margin:0;font-size:48px;line-height:1.05}.report-cover-hero p{max-width:620px;margin:0;color:var(--muted);font-size:17px;line-height:1.7;white-space:pre-wrap}.report-cover-hero dl,.report-summary-grid,.report-operation-grid,.report-spot dl{display:grid;gap:10px;margin:0}.report-cover-hero dl{grid-template-columns:repeat(5,minmax(0,1fr))}.report-cover-hero dl div,.report-summary-grid div,.report-note,.report-operation-grid article,.report-day-matrix div,.report-cost-hero div,.report-cost-day,.report-fnb-card,.report-spot,.report-route-table,.report-schedule-row{border:1px solid var(--line);border-radius:8px;background:#fbfaf8}.report-cover-hero dl div,.report-summary-grid div{padding:14px}.report-cover-hero dt,.report-spot dt{color:var(--muted);font-size:11px;font-weight:900}.report-cover-hero dd,.report-spot dd{margin:4px 0 0;font-weight:900}.report-cover-summary{display:grid;gap:12px;margin-top:auto}.report-section{display:grid;gap:16px;margin-top:18px;break-inside:auto;page-break-inside:auto}.report-section-title{display:flex;align-items:baseline;gap:10px;border-bottom:2px solid var(--line);padding-bottom:10px}.report-section-title h2{margin:0;font-size:26px}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-summary-grid b{display:block;font-size:28px}.report-summary-grid span{color:var(--muted);font-size:12px;font-weight:900}.report-note{padding:14px}.report-note strong{display:block;margin-bottom:8px;line-height:1.6}.report-note p,.report-caption{margin:0;color:var(--muted);line-height:1.55}.report-operation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-operation-grid article{padding:14px;break-inside:avoid}.report-operation-grid h3,.report-cost-day h3,.report-fnb-card header b{margin:0;font-size:15px}.report-operation-grid ul{display:grid;gap:6px;margin:10px 0 0;padding-left:17px;color:var(--muted);line-height:1.45}.report-day-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-day-matrix div{display:grid;gap:4px;border-left:5px solid var(--route-color, var(--green));padding:10px 12px}.report-day-matrix b{color:var(--route-color, var(--green));font-size:12px}.report-day-matrix span{font-weight:900}.report-day-matrix em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}.report-days{display:grid;gap:14px}.report-itinerary-overview .report-days{grid-template-columns:repeat(2,minmax(0,1fr))}.report-day{display:grid;gap:12px;break-inside:avoid;border:1px solid var(--line);border-left:6px solid var(--route-color, var(--green));border-radius:8px;padding:16px}.report-day-collapsed{display:grid;gap:9px}.report-day-details{display:grid;gap:18px}.report-detail-header{display:flex;gap:14px;align-items:flex-start}.report-detail-header>span{display:inline-flex;min-width:72px;min-height:40px;align-items:center;justify-content:center;border-radius:7px;background:var(--route-color, var(--green));color:#fff;font-size:13px;font-weight:900}.report-detail-header h2{margin:0;font-size:25px}.report-detail-header p{margin:5px 0 0;color:var(--muted);font-weight:800}.report-day header{display:flex;gap:12px;align-items:flex-start}.report-day header>span{display:inline-flex;min-width:58px;min-height:32px;align-items:center;justify-content:center;border-radius:7px;background:var(--route-color, var(--green));color:#fff;font-size:12px;font-weight:900}.report-day h3,.report-route-table h3{margin:0}.report-day header p,.report-day-summary{margin:4px 0 0;color:var(--muted);line-height:1.55}.report-day-summary{white-space:pre-line}.report-pills{display:flex;flex-wrap:wrap;gap:6px}.report-pills span{border-radius:999px;background:#edf4ef;color:var(--route-color, var(--green));padding:5px 8px;font-size:12px;font-weight:900}.report-period-summary{display:grid;gap:6px}.report-period-summary div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:start;border:1px solid var(--line);border-radius:7px;background:#fbfaf8;padding:7px 8px}.report-period-summary b{color:var(--route-color, var(--green));font-size:12px}.report-period-summary span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.report-mini-map{display:grid;gap:8px;margin:0;break-inside:avoid}.report-mini-map svg,.report-mini-map img{width:100%;height:auto;aspect-ratio:3 / 2;border:1px solid var(--line);border-radius:8px;background:#eef5f1}.report-mini-map img{display:block;object-fit:cover}.mini-map-bg{fill:#eef5f1}.mini-map-grid line{stroke:#286f581f;stroke-width:1}.mini-map-point circle{stroke:#fff;stroke-width:4;filter:drop-shadow(0 4px 7px rgba(22,33,38,.22))}.mini-map-point text{fill:#fff;font-size:12px;font-weight:900;text-anchor:middle}.mini-map-distance rect{fill:#fffffff0;stroke:var(--line)}.mini-map-distance text{fill:var(--ink);font-size:11px;font-weight:900;text-anchor:middle}.report-mini-map figcaption{display:flex;flex-wrap:wrap;gap:5px 10px;color:var(--muted);font-size:11px;line-height:1.35}.report-mini-map figcaption span{display:inline-flex;align-items:center;gap:5px}.report-mini-map figcaption i{width:9px;height:9px;border-radius:50%}.report-tips{display:grid;gap:4px;margin:0;padding-left:18px;color:var(--muted)}.report-schedule{display:grid;gap:10px}.report-schedule h4{margin:0 0 6px;color:var(--route-color, var(--green));font-size:13px}.report-schedule-row{display:grid;grid-template-columns:92px 150px minmax(0,1fr);gap:10px;align-items:center;min-height:42px;margin-bottom:6px;padding:8px 10px}.report-schedule-row time,.report-schedule-row span,.report-cost-split,.report-cost-lines em,.report-cost-lines p,.report-fnb-card p,.report-spot small{color:var(--muted);font-size:12px;line-height:1.45}.report-cost-hero{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}.report-cost-hero div{display:grid;gap:5px;padding:14px}.report-cost-hero span,.report-cost-day header span,.report-fnb-card dt{color:var(--muted);font-size:11px;font-weight:900}.report-cost-hero strong{font-size:30px}.report-cost-hero b{font-size:22px}.report-cost-bars{display:grid;gap:8px}.report-cost-bars div{display:grid;grid-template-columns:58px minmax(0,1fr) 92px;gap:8px;align-items:center}.report-cost-bars span,.report-cost-bars strong{font-size:11px;font-weight:900}.report-cost-bars span{color:var(--muted)}.report-cost-bars strong{justify-self:end;white-space:nowrap}.report-cost-bars i{display:block;overflow:hidden;height:9px;border-radius:999px;background:#eef5f1}.report-cost-bars b{display:block;height:100%;border-radius:inherit;background:var(--green)}.report-cost-days,.report-fnb-list{display:grid;gap:10px}.report-cost-day{display:grid;gap:8px;break-inside:avoid;padding:14px}.report-cost-day header{display:flex;justify-content:space-between;gap:12px;align-items:start}.report-cost-day header strong{white-space:nowrap}.report-cost-split{display:flex;flex-wrap:wrap;gap:6px}.report-cost-split span{border-radius:999px;background:#eef5f1;padding:4px 8px;font-weight:900}.report-cost-lines{display:grid;gap:5px}.report-cost-lines div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 82px;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:6px}.report-cost-lines b,.report-cost-lines em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-cost-lines strong{justify-self:end;white-space:nowrap}.report-fnb-list{grid-template-columns:repeat(2,minmax(0,1fr))}.report-fnb-card{display:grid;gap:9px;break-inside:avoid;padding:14px}.report-fnb-card header{display:flex;justify-content:space-between;gap:10px;align-items:center}.report-fnb-card p,.report-empty-note{margin:0}.report-fnb-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.report-fnb-card dl div{border-top:1px solid var(--line);padding-top:6px}.report-fnb-card dd{overflow:hidden;margin:3px 0 0;font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.report-empty-note{border:1px dashed var(--line);border-radius:8px;color:var(--muted);padding:14px;font-weight:900}.report-route-tables,.report-spot-list{display:grid;gap:12px}.report-spot-group{display:grid;gap:10px;break-inside:auto;page-break-inside:auto}.report-spot-group>header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--line);padding-bottom:6px}.report-spot-group>header strong{color:var(--muted);font-size:12px}.report-spot-group>div{display:grid;gap:10px}.report-route-table{display:grid;gap:8px;break-inside:avoid;border-top:5px solid var(--route-color, var(--green));padding:14px}.report-route-table div{display:grid;grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr);gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:7px}.report-route-table div:last-child{border-bottom:0;padding-bottom:0}.report-route-table b{color:var(--route-color, var(--green));text-align:center}.report-spot{display:grid;gap:10px;break-inside:avoid;padding:14px}.report-spot header{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-spot p{margin:0;color:var(--muted);line-height:1.58;white-space:pre-wrap}.report-schedule-row span,.report-fnb-card p,.report-spot small{white-space:pre-wrap}body.pdf-exporting{background:#fff}body.pdf-exporting .app{display:none}body.pdf-exporting .report-page{position:static;display:block;width:190mm;max-width:none;background:#fff;color:#111;font-size:12px;overflow-wrap:anywhere;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.pdf-exporting .report-cover{min-height:270mm}body.pdf-exporting .report-section{break-inside:auto;page-break-inside:auto}body.pdf-exporting .report-section-title{break-after:avoid;page-break-after:avoid}body.pdf-exporting .report-page-spacer{display:block;width:100%;margin:0;border:0;padding:0}body.pdf-exporting .report-day-compact .report-day-summary{display:none}body.pdf-exporting .report-day{gap:8px;padding:11px}body.pdf-exporting .report-day-detail{gap:6px;margin-top:0;padding:16px}body.pdf-exporting .report-day-details{gap:0}body.pdf-exporting .report-day-detail .report-mini-map img,body.pdf-exporting .report-day-detail .report-mini-map svg{height:auto;aspect-ratio:3 / 2;object-fit:cover}body.pdf-exporting .report-day-detail .report-mini-map{width:145mm;max-width:100%;justify-self:center}body.pdf-exporting .report-day-detail .report-tips,body.pdf-exporting .report-day-detail .report-schedule-row{font-size:10.5px}body.pdf-exporting .report-day-detail .report-schedule-row{min-height:0;margin-bottom:3px;padding:5px 7px}body.pdf-exporting .report-cost-days,body.pdf-exporting .report-fnb-list,body.pdf-exporting .report-itinerary-overview .report-days,body.pdf-exporting .report-route-tables,body.pdf-exporting .report-spot-group>div{display:block}body.pdf-exporting .report-day,body.pdf-exporting .report-cost-day,body.pdf-exporting .report-fnb-card,body.pdf-exporting .report-route-table,body.pdf-exporting .report-spot{margin-bottom:10px}body.pdf-exporting .report-day,body.pdf-exporting .report-operation-grid article,body.pdf-exporting .report-day-matrix div,body.pdf-exporting .report-mini-map,body.pdf-exporting .report-schedule-row,body.pdf-exporting .report-cost-day,body.pdf-exporting .report-fnb-card,body.pdf-exporting .report-route-table,body.pdf-exporting .report-spot{break-inside:avoid;page-break-inside:avoid}.report-spot dl{grid-template-columns:repeat(3,minmax(0,1fr))}.report-spot dl div{border-top:1px solid var(--line);padding-top:7px}@media(max-width:1240px){.hero,.dashboard{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.map-layout{grid-template-columns:1fr}.left-rail,.right-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.app{padding:12px}.hero{padding:16px}.trip-selector{grid-template-columns:1fr}.trip-selector span{grid-column:auto;white-space:normal}.trip-manager-backdrop{align-items:end;padding:0}.trip-manager-dialog{width:100%;max-height:92vh;border-radius:14px 14px 0 0}.trip-manager-dialog>header,.trip-manager-content,.trip-manager-form{padding:15px}.trip-manager-error{margin:12px 15px 0}.trip-manager-toolbar,.trip-manager-card{align-items:stretch;grid-template-columns:1fr}.trip-manager-toolbar{display:grid}.trip-manager-card-actions{justify-content:flex-start}.trip-manager-form-grid{grid-template-columns:1fr}.trip-manager-wide-field{grid-column:auto}.trip-manager-status-field{margin:15px 15px -2px}.metric-grid,.route-tabs,.left-rail,.right-rail{grid-template-columns:1fr}.section-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.map-header{flex-direction:column;align-items:stretch}.overview-grid,.overview-layout,.overview-day-toggle{grid-template-columns:1fr}.overview-schedule-row{grid-template-columns:20px minmax(0,1fr) 60px 44px}.overview-day-toggle dl{grid-template-columns:repeat(2,minmax(0,1fr))}.zoom-controls{grid-template-columns:repeat(3,1fr)}.real-map{height:100%}.map-info-row,.concept-grid{grid-template-columns:1fr}.concept-card header{align-items:stretch;flex-direction:column}.concept-card header .concept-collapse-toggle{flex-basis:auto;width:100%}.concept-card header div{justify-content:flex-start}.spot-editor-picker{width:100%;grid-template-columns:1fr}.spot-editor-picker select{width:100%}.coordinate-editor-row{grid-template-columns:1fr}.map-card .route-tabs,.map-color-key{grid-template-columns:repeat(2,minmax(0,1fr))}.editable-itinerary-row,.edit-fields,.move-day-field,.base-itinerary-row,.spot-cost-editor,.extra-cost-editor{grid-template-columns:1fr}.cost-day-total{justify-self:start}.cost-toolbar{align-items:stretch;flex-direction:column}.cost-expand-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cost-toolbar label{justify-content:center}.cost-row{grid-template-columns:16px minmax(0,1fr) 38px 72px}.spot-cost-display-row{grid-template-columns:16px minmax(0,1fr) 72px 28px}.extra-cost-display-row{grid-template-columns:16px minmax(0,1fr) 72px 28px 28px}.spot-cost-display-row em,.extra-cost-display-row em{grid-column:2 / -1;grid-row:2}.cost-row strong{justify-self:end}.extra-cost-head{align-items:stretch;flex-direction:column}.extra-cost-head div{justify-content:flex-start}.spot-cost-editor button,.extra-cost-editor button{width:100%}.edit-actions{grid-template-columns:repeat(3,1fr)}}@media print{@page{size:A4;margin:12mm}:root{--paper: #fff;--panel: #fff;--shadow: none}body{background:#fff;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact}.app{display:none}.report-page{display:block;width:100%;font-size:12px}.report-cover,.report-section{border-radius:0;box-shadow:none}.report-cover{min-height:248mm;max-height:248mm;break-after:page;page-break-after:always}.report-section{margin-top:0;margin-bottom:9mm;break-inside:auto;page-break-inside:auto}.report-schedule-overview,.report-day-details,.report-cost-section,.report-fnb-section,.report-route-section,.report-spot-section{break-before:page;page-break-before:always}.report-cover+.report-section{break-before:auto;page-break-before:auto}.report-section-title{break-after:avoid;page-break-after:avoid}.report-section-title h2{font-size:21px}.report-cover-hero{padding-top:14mm}.report-cover-visual{min-height:46mm;padding:16px}.report-cover-route span{width:20px;height:20px;transform:translateY(calc((var(--dot-index, 0) % 3 - 1) * 9px))}.report-cover-hero h1{font-size:38px}.report-cover-hero p{font-size:15px}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-cover-hero dl{grid-template-columns:repeat(5,minmax(0,1fr))}.report-operation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-day-matrix,.report-fnb-list{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-grid b{font-size:22px}.report-cost-hero{grid-template-columns:1.3fr 1fr 1fr}.report-cost-hero strong{font-size:24px}.report-cost-hero b{font-size:18px}.report-cost-bars div{grid-template-columns:50px minmax(0,1fr) 78px}.report-itinerary-overview .report-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-day{gap:9px;padding:12px}.report-day h3{font-size:15px}.report-day header p,.report-day-summary,.report-period-summary span{font-size:10.5px}.report-day-compact .report-day-summary,.report-day-compact .report-mini-map figcaption{display:none}.report-day-details>.report-section-title{break-before:auto;page-break-before:auto}.report-day-detail{gap:7px;margin-top:6mm;page-break-inside:avoid}.report-day-detail+.report-day-detail{page-break-before:always}.report-detail-header h2{font-size:22px}.report-day-detail .report-mini-map img,.report-day-detail .report-mini-map svg{height:auto;aspect-ratio:3 / 2;object-fit:cover}.report-day-detail .report-mini-map{width:145mm;max-width:100%;justify-self:center}.report-day-detail .report-tips{gap:2px;font-size:10.5px}.report-day-detail .report-schedule{gap:5px}.report-day-detail .report-schedule h4{margin-bottom:3px;font-size:11px}.report-day-detail .report-schedule-row{min-height:0;margin-bottom:4px;padding:6px 8px;font-size:10.5px}.report-pills{gap:4px}.report-pills span{padding:4px 6px;font-size:10.5px}.report-schedule-row{grid-template-columns:76px 126px minmax(0,1fr)}.report-operation-grid article,.report-cost-day,.report-fnb-card{padding:10px}.report-spot-group{break-inside:auto;page-break-inside:auto;margin-bottom:7mm}.report-spot-group>header{margin-bottom:3mm;break-after:avoid;page-break-after:avoid}.report-spot{display:block;overflow:visible;break-inside:avoid;page-break-inside:avoid;margin-bottom:3mm;padding:10px}.report-operation-grid ul,.report-cost-lines em,.report-fnb-card p{font-size:10.5px}.report-cost-lines div{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 72px}.report-mini-map svg,.report-mini-map img{min-height:0}.report-spot dl{grid-template-columns:repeat(2,minmax(0,1fr))}.report-cost-days,.report-route-tables,.report-spot-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.auth-page,.portal-dialog,.account-bar,.empty-trips{color:var(--ink)}.auth-page{min-height:100dvh;max-width:1220px;margin:auto;padding:60px 40px;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.auth-brand{position:relative;padding:30px 0}.portal-eyebrow{display:block;font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--green)}.auth-brand h1{font-size:clamp(42px,5vw,68px);line-height:1.15;letter-spacing:-.055em;margin:24px 0}.auth-brand p{color:var(--muted);line-height:1.9;font-size:16px}.auth-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.auth-pills span{border:1px solid #cbdacf;border-radius:30px;padding:9px 12px;font-size:12px;color:var(--green);background:#e7eee8}.auth-card{padding:36px;border:1px solid var(--line);background:#fff;border-radius:20px;box-shadow:var(--shadow)}.auth-card h2{letter-spacing:-.04em;font-size:26px;margin:14px 0}.auth-card p{color:var(--muted);font-size:14px;line-height:1.65}.auth-card label,.portal-dialog label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:650;margin:16px 0;min-width:0}.auth-card input,.portal-dialog input:not([type=checkbox]),.portal-dialog select,.portal-dialog textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;padding:10px 12px;min-width:0}.auth-card input:focus,.portal-dialog input:focus,.portal-dialog textarea:focus,.portal-dialog select:focus{outline:2px solid #92bca9;outline-offset:2px}.auth-card>button{width:100%;margin-top:22px}.auth-card small,.portal-dialog small{color:var(--muted);font-size:12px;line-height:1.6}.portal-primary,.portal-dialog button,.account-bar button,.empty-trips button,.planning-guide button,.ai-launch{min-height:40px;padding:10px 15px;border-radius:8px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer}button.portal-primary,.portal-primary{border-color:var(--green);background:var(--green);color:#fff}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:3px}.portal-error{background:#fff0ec;border:1px solid #f0c4b7;padding:12px 14px;border-radius:9px;color:#a43e29!important;line-height:1.6;font-size:13px;overflow-wrap:anywhere}.portal-success{color:var(--green)!important}.portal-hint{font-size:13px;line-height:1.75;color:var(--muted)}.portal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.portal-actions>*{min-width:0}.account-bar{position:relative;z-index:20;display:flex;align-items:center;flex-wrap:wrap;gap:16px;border-bottom:1px solid var(--line);background:#fcfbf8;padding:12px max(22px,calc((100vw - 1480px)/2))}.account-logo{color:var(--green);text-decoration:none;font-size:19px;font-weight:850;letter-spacing:-.04em;margin-right:10px;white-space:nowrap}.account-bar label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.account-bar select{max-width:250px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font:inherit;color:var(--ink);background:#fff}.account-name{margin-left:auto;font-size:13px;font-weight:700}.account-bar button{min-height:34px;padding:7px 10px;font-size:12px;background:transparent}.portal-loading{padding:80px 24px;text-align:center;color:var(--muted)}.portal-backdrop{position:fixed;z-index:2000;inset:0;display:flex;align-items:center;justify-content:center;background:#12231e80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:24px}.portal-dialog{background:var(--paper);border-radius:18px;width:min(100%,520px);max-height:calc(100dvh - 48px);overflow:auto;padding:0 26px 26px;box-shadow:0 24px 100px #14251d40}.portal-dialog.wide{width:min(100%,790px)}.portal-dialog>header{position:sticky;top:0;z-index:5;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -26px 20px;padding:20px 26px;border-bottom:1px solid var(--line)}.portal-dialog>header h2{font-size:22px;letter-spacing:-.04em;margin:0}.portal-dialog>header>button{border-radius:50%;width:38px;height:38px;min-height:38px;padding:0;font-size:24px;background:#fff;flex-shrink:0}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-dialog label.portal-check{flex-direction:row;align-items:flex-start;gap:10px;line-height:1.65}.portal-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;margin:2px 0 0}.portal-dialog fieldset{border:1px solid var(--line);border-radius:10px;margin:18px 0}.portal-dialog fieldset label{font-weight:500}.portal-tabs{display:flex;gap:8px;margin-bottom:22px}.portal-tabs button.active{background:var(--green);border-color:var(--green);color:#fff}.admin-form{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.admin-form h3{margin:0;font-size:16px}.admin-list{display:grid;gap:12px;margin-top:22px}.admin-list article{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:18px;border-radius:12px;background:#fff;border:1px solid var(--line);overflow-wrap:anywhere}.admin-list article>div:first-child{flex:1;min-width:140px}.admin-list article small{display:block}.portal-dialog button.portal-danger{color:#a43e29;background:#fff4f0}.admin-list article.trip-record{align-items:flex-start}.trip-record .portal-actions{width:100%}.trip-record h3{margin:8px 0}.trip-record p{margin:6px 0;font-size:13px;color:var(--muted)}.trip-record>label{width:100%;margin:0}.manager-toolbar{justify-content:space-between;margin-bottom:14px}.manager-toolbar p{font-size:13px;color:var(--muted)}.empty-trips{max-width:850px;margin:80px auto;padding:55px 40px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.empty-trips h1{font-size:clamp(26px,4vw,40px);letter-spacing:-.05em}.empty-trips p{color:var(--muted);line-height:1.8;margin:22px 0}.wizard-steps{display:flex;gap:10px;justify-content:space-between;margin:20px 0 28px}.wizard-steps span{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;color:#8b9590;flex:1}.wizard-steps b{border:1px solid var(--line);border-radius:50%;width:28px;height:28px;display:grid;place-content:center;font-size:12px;background:#fff}.wizard-steps .active{color:var(--green);font-weight:800}.wizard-steps .active b{background:var(--green);color:#fff;border-color:var(--green)}.wizard-steps .done b{background:#dce9e0;color:var(--green);border-color:#c5d7c9}.wizard-heading small{color:var(--green);font-weight:750;font-size:11px}.wizard-heading h3{font-size:25px;letter-spacing:-.04em;margin:10px 0 25px}.wizard-duration{background:#e3eee6;color:var(--green);font-weight:750;padding:12px 16px;border-radius:9px}.wizard-place{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;margin:16px 0}.wizard-place-title{display:flex;align-items:center;justify-content:space-between}.wizard-place-title>button{font-size:11px;min-height:30px;padding:5px 9px}.wizard-add{width:100%;border-style:dashed!important;background:transparent!important}.wizard-review{padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px}.wizard-review h3{font-size:23px;margin:0 0 16px;letter-spacing:-.04em}.wizard-review p{font-size:13px;line-height:1.65}.wizard-review h4{margin-top:25px;border-top:1px solid var(--line);padding-top:18px}.wizard-footer{position:sticky;bottom:-26px;background:var(--paper);padding:16px 0 4px;margin-top:28px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.wizard-footer>small{max-width:240px}.ai-launch{color:var(--green);background:#edf4ee;border-color:#bed3c6;min-height:42px}.ai-intro{padding:18px;background:#e3eee6;border-radius:12px;margin-bottom:20px}.ai-intro p{font-size:14px;line-height:1.75}.ai-summary{border-bottom:1px solid var(--line);padding-bottom:15px}.ai-summary p{font-size:14px;line-height:1.8}.ai-warnings{padding:16px 16px 16px 32px;border:1px solid #e0cf9f;border-radius:10px;background:#fff9e8;color:#705b25;font-size:12px;line-height:1.8}.ai-suggestion{background:#fff;border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:18px}.ai-suggestion p{line-height:1.7;font-size:13px;white-space:pre-line}.ai-suggestion>label{margin-top:0}.ai-suggestion li{margin:12px 0;line-height:1.65;font-size:13px}.ai-suggestion li small{display:block}.ai-field{border-top:1px solid #eeeae3;padding:10px 0}.ai-field p{margin:6px 0}.ai-sticky-actions{position:sticky;bottom:-26px;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:16px 0;background:var(--paper);border-top:1px solid var(--line)}.planning-guide{max-width:1480px;margin:0 auto 16px;border:1px solid #bfd2c4;border-radius:10px;padding:16px;background:#e6efe8;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.planning-guide span{font-size:12px;line-height:1.6;color:var(--muted);flex:1;min-width:180px}@media(max-width:700px){.auth-page{display:block;padding:30px 20px}.auth-brand{padding:15px 4px 25px}.auth-brand h1{margin:12px 0;font-size:40px}.auth-brand p{font-size:13px}.auth-pills{margin-top:15px;gap:5px}.auth-pills span{font-size:10px;padding:7px 9px}.auth-card{padding:24px;border-radius:15px}.account-bar{padding:10px 14px;gap:8px}.account-logo{font-size:17px;margin-right:4px}.account-bar label{flex:1;min-width:0}.account-bar select{max-width:100%;min-width:0;width:100%}.account-bar .account-name{font-size:11px}.account-bar>.portal-actions{width:100%;justify-content:flex-end;gap:6px}.account-bar button{font-size:11px;min-height:30px;padding:5px 9px}.portal-backdrop{padding:10px;align-items:center}.portal-dialog{border-radius:14px;max-height:calc(100dvh - 20px);padding:0 16px 20px}.portal-dialog>header{margin:0 -16px 16px;padding:16px}.portal-dialog>header h2{font-size:20px}.portal-grid{gap:10px}.portal-dialog input[type=date]{font-size:13px;padding:9px 7px}.wizard-heading h3{font-size:22px}.wizard-steps{gap:4px;margin-top:10px}.wizard-steps span{font-size:10px}.wizard-place{padding:14px}.wizard-footer{bottom:-20px}.wizard-footer>small{width:100%;max-width:none}.wizard-footer>.portal-actions{margin-left:auto}.empty-trips{padding:30px 22px;margin:30px 16px}.admin-list article{padding:14px}.admin-form{padding:14px}.app .hero{padding:14px;gap:12px;box-shadow:none}.app .hero h1{font-size:25px;margin:12px 0 6px}.app .hero p{font-size:12px;margin:8px 0}.app .metric-grid{display:none}.app .trip-selector{grid-template-columns:1fr 1fr;padding:10px;gap:8px}.app .trip-selector label{grid-column:1 / -1}.app .trip-selector select{grid-column:1 / -1;width:100%}.app .trip-selector>span{display:none}.app .hero-copy>.portal-actions{margin-top:12px}.app .edit-status-bar{gap:6px;margin:12px 0 0}.app .section-nav{position:sticky;top:0;z-index:50;margin-top:14px;background:#f7f5f0}.app .section-nav button{min-height:42px;font-size:12px;padding:8px 4px}.planning-guide{padding:12px}.planning-guide strong{font-size:13px}.planning-guide button{font-size:11px;padding:8px 10px}}.account-bar label{white-space:nowrap}.time-range-field input[type=time]{width:100%;min-width:0;min-height:38px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px;color:var(--ink);font:inherit;font-size:13px}.ai-launch{display:inline-flex;align-items:center;gap:7px}.report-unlocated{min-height:0!important;padding:18px;background:#f3f5f1;color:var(--muted);border:1px dashed var(--line)}.report-unlocated p{margin:0;font-size:12px;line-height:1.6}@media print{.account-bar,.portal-backdrop,.planning-guide{display:none!important}}.ai-discovered .ai-suggestion a,.ai-search-sources a{color:var(--green);font-size:13px;overflow-wrap:anywhere}.ai-search-sources{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px;margin:15px 0}.ai-search-sources summary{font-weight:700;font-size:13px;cursor:pointer}.ai-google-suggestions{width:100%;min-height:150px;border:0;background:#fff;margin:8px 0;border-radius:8px}.ai-connection-status{margin:0 0 16px;padding:14px;border:1px solid #e3c47d;border-radius:12px;background:#fff9e9;color:#684e1f}.ai-connection-status p{margin:0 0 10px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.ai-connection-status button{padding:8px 12px;border:1px solid #bda769;border-radius:8px;background:#fff;color:#4f421c;font:inherit}.planning-note{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.report-day-overview{padding:10px 0;border-bottom:1px solid #ddd}.report-day-overview p{margin:5px 0}.report-page .report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-page .report-summary-grid b{font-size:21px;white-space:nowrap}.report-page .report-fnb-section p{margin:6px 0}.day-mode-inherited{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#f6f8f5;font-size:13px}.day-mode-inherited small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.day-mode-inherited button{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--green);font:inherit;font-weight:700;cursor:pointer}.hero-primary-actions{align-items:center}.hero-primary-actions .report-actions{margin:0}.hero-primary-actions .ai-launch,.hero-primary-actions .report-actions button{min-height:44px;padding:10px 12px;line-height:20px;border-radius:8px}
