.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{--bg: #f5f6f8;--surface: #ffffff;--surface-alt: #f0f1f4;--border: #dfe2e8;--border-light: #eceef2;--text: #1d2433;--text-secondary: #5f6b7a;--text-muted: #8d96a3;--red: #ED1C24;--red-light: #fef2f2;--red-soft: rgba(237, 28, 36, .08);--blue: #4b7bbd;--blue-light: #f0f5fb;--green: #3d9970;--green-light: #f0f8f4;--amber: #c08b30;--amber-light: #fdf8ef;--viz-green: #6dae8c;--viz-red: #d47373;--viz-amber: #d4a95a;--viz-blue: #7ba3cc;--viz-purple: #9b8ec4;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--radius: 6px;--radius-lg: 10px;--font: "Inter", -apple-system, system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);overflow:hidden;height:100vh;width:100vw;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}.login-page{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font);padding:20px}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--surface);border-radius:16px;padding:36px 32px 28px;box-shadow:0 20px 60px #0000001f,0 4px 12px #0000000d;animation:loginSlide .4s cubic-bezier(.16,1,.3,1)}@keyframes loginSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.login-brand svg{flex-shrink:0}.login-brand-text h1{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.2px;margin-bottom:2px}.login-brand-text p{font-size:12px;color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:14px}.login-field{display:flex;flex-direction:column;gap:5px}.login-field span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.login-field input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-family:var(--font);font-size:14px;color:var(--text);background:var(--surface);outline:none;transition:all .15s}.login-field input:focus{border-color:var(--red);box-shadow:0 0 0 3px #ed1c241a}.login-error{background:var(--red-light);color:#b91c1c;padding:10px 12px;border-radius:8px;font-size:13px}.login-btn{padding:11px;border:none;border-radius:8px;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:600;background:var(--red);color:#fff;transition:all .15s}.login-btn:hover{filter:brightness(1.1)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-hint{text-align:center;font-size:11px;color:var(--text-muted);margin-top:8px}.app{display:grid;grid-template-rows:48px 1fr;height:100vh;width:100vw;overflow:hidden}.app.app-settings{grid-template-rows:48px 38px 1fr}header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);position:relative;overflow:hidden;z-index:100}.logo{display:flex;align-items:center;gap:10px}.logo a{display:flex;align-items:center;gap:10px;text-decoration:none}.logo-text{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.3px}.logo-text span{font-weight:400;color:var(--text-secondary)}.demo-switcher{display:inline-flex;align-items:center;gap:2px;border:none;background:none;cursor:pointer;opacity:0;transition:opacity .25s ease;padding:3px 4px;border-radius:5px;margin-right:2px;color:var(--text-muted)}.logo:hover .demo-switcher,.demo-switcher:focus-visible{opacity:.6}.demo-switcher:hover{opacity:1!important;background:var(--red-soft);color:var(--red)}.demo-switcher:hover svg{stroke:var(--red)}.header-right{display:flex;align-items:center;gap:12px;padding-right:4px}.header-meta{display:flex;gap:14px;font-size:11px;color:var(--text-muted)}.header-meta strong{color:var(--text-secondary);font-weight:600}.header-meta-item{display:flex;align-items:center;gap:4px}.settings-link{display:flex;align-items:center;padding:6px;color:var(--text-muted);border-radius:var(--radius);transition:all .15s}.settings-link:hover{background:var(--surface-alt);color:var(--text)}.header-gear{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius);color:var(--text-muted);text-decoration:none;transition:all .15s;flex-shrink:0}.header-gear:hover{background:var(--surface-alt);color:var(--text)}.header-gear.active{background:var(--red-soft);color:var(--red)}.settings-subtabs{display:flex;align-items:center;gap:2px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border)}.settings-subtab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius);font-size:12px;font-weight:500;color:var(--text-muted);text-decoration:none;transition:all .15s}.settings-subtab:hover{background:var(--surface-alt);color:var(--text)}.settings-subtab.active{background:var(--red-soft);color:var(--red);font-weight:600}.main-content{display:flex;overflow:hidden;flex:1}.sidebar{width:286px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;padding:16px;display:flex;flex-direction:column}.content-area{flex:1}.content-area.with-detail{display:flex;gap:0}.content-area.with-detail .content-main{flex:1;min-width:0;overflow-y:auto;padding:20px}.content-area.with-detail .detail-panel.full{width:380px;flex-shrink:0;position:static;border-left:1px solid var(--border-light);border-radius:0;box-shadow:none;overflow-y:auto;height:100%;animation:none}.sidebar-section{margin-bottom:20px}.sidebar-section h3{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:8px}.content-area{overflow-y:auto;padding:20px}.content-area.with-detail{padding:0;overflow:hidden}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px;transition:box-shadow .15s}.card:hover{box-shadow:var(--shadow)}.port-connector{display:flex;justify-content:center;padding:4px 0 4px 17px;color:var(--text-muted)}.port-connector-ship{opacity:.3}.port-connector-hairline{height:1px;margin:4px 17px;background:var(--border-light, var(--border));opacity:.5}.port-card{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-lg);cursor:pointer;border:1px solid transparent;transition:all .15s}.port-card:hover{background:var(--surface-alt)}.port-card.active{background:var(--red-soft);border-color:var(--red)}.port-card-icon{color:var(--text-muted);margin-top:2px;flex-shrink:0}.port-card.active .port-card-icon{color:var(--red)}.port-card-info{flex:1;min-width:0}.port-card-name{font-weight:700;font-size:13px;margin-bottom:1px}.port-card-date{font-size:10px;color:var(--text-muted);margin-bottom:4px}.port-card-row{display:flex;gap:6px;margin-bottom:4px}.port-card-tag{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;color:var(--text-secondary);background:var(--surface-alt);padding:1px 6px;border-radius:4px}.port-card.active .port-card-tag{background:#ed1c2414;color:var(--red)}.port-card-occ{display:flex;align-items:center;gap:6px}.port-occ-bar{flex:1;height:4px;background:var(--surface-alt);border-radius:2px;overflow:hidden}.port-occ-fill{height:100%;border-radius:2px;transition:width .5s ease-out}.port-occ-pct{font-size:10px;font-weight:700;color:var(--text-secondary);min-width:28px}.sidebar-footer{flex-shrink:0;padding:6px 18px 7px;margin-top:auto;border-top:1px solid var(--border-light);background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:3px}.sf-line{font-size:9px;color:#a0a7b3;line-height:1.2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;row-gap:2px}.sf-line-meta{opacity:.85}.sf-line a{color:#a0a7b3;text-decoration:none;display:inline-flex;align-items:center}.sf-line a:hover{text-decoration:underline}.sf-leaflet{display:inline-flex;align-items:center;gap:3px}.sf-leaflet img{display:block;opacity:.5;transition:opacity .15s}.sf-leaflet:hover img{opacity:1}.sf-sep{margin:0 3px;opacity:.5;color:var(--border)}.sf-git{display:inline-flex;align-items:center;gap:3px}.sf-git img{display:block;opacity:.5;transition:opacity .15s}.sf-git:hover img{opacity:1}.sf-version{font-variant-numeric:tabular-nums}.price-tag{display:inline-flex;align-items:baseline;gap:4px;font-weight:700;font-size:18px}.price-tag.discount{color:var(--viz-green)}.price-tag.standard{color:var(--text)}.price-tag.surge{color:var(--viz-red)}.price-tag .currency{font-size:12px;font-weight:500}.price-tag .pct{font-size:11px;font-weight:600;padding:1px 5px;border-radius:4px;margin-left:4px}.price-tag .pct.down{background:var(--green-light);color:var(--green)}.price-tag .pct.up{background:var(--red-light);color:var(--red)}.tour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:stretch}.tour-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s}.tour-card.mini{padding:12px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;min-width:0}.tour-card.mini .tour-card-bg{display:none}.tour-card.mini.bus-type{background:linear-gradient(135deg,#78879b00,#78879b00 40%,#78879b38),var(--surface)}.tour-card.mini.walk-type{background:linear-gradient(135deg,#6aab8d00,#6aab8d00 40%,#6aab8d38),var(--surface)}.mc-head{display:flex;align-items:flex-start;gap:8px;min-width:0}.mc-check{margin-top:3px;accent-color:var(--red);flex-shrink:0;cursor:pointer}.mc-head-main{flex:1;min-width:0}.mc-name{font-size:12px;font-weight:700;line-height:1.3;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.mc-meta{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-meta svg{flex-shrink:0;opacity:.85}.mc-meta .mc-dot{opacity:.45;font-weight:400}.mc-price{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;font-variant-numeric:tabular-nums;line-height:1}.mc-price-value{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.6px}.mc-price-pct{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;letter-spacing:.2px}.mc-price-pct.down{background:#6aab8d2e;color:var(--viz-green)}.mc-price-pct.up{background:#d478782e;color:var(--viz-red)}.mc-price-warn{font-size:11px;color:#c47070;cursor:help;line-height:1}.math-page{max-width:960px;margin:0 auto;padding:20px 28px 72px;color:var(--text);line-height:1.55;height:100%;overflow-y:auto}.math-hero{margin-bottom:14px}.math-hero h2{margin:0 0 2px;font-size:22px;font-weight:700;letter-spacing:-.3px}.math-hero-sub{font-size:12.5px;color:var(--text-secondary);margin:0}.math-hero-sub a{color:var(--text);font-weight:600;text-decoration:none;border-bottom:1px dashed var(--text-muted)}.math-hero-sub a:hover{color:var(--red);border-bottom-color:var(--red)}.math-settings-strip{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:10px 14px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.math-settings-item{display:flex;flex-direction:column;gap:2px}.math-settings-key{font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.math-settings-val{font-size:12.5px;font-weight:700;color:var(--text);font-family:SF Mono,Menlo,Consolas,monospace}.math-settings-val.on{color:var(--green)}.math-settings-val.off{color:var(--text-muted)}.math-settings-edit{margin-left:auto;font-size:11px;font-weight:600;color:var(--text-secondary);text-decoration:none;padding:4px 10px;border-radius:4px;border:1px solid var(--border);background:var(--surface-alt);transition:all .15s}.math-settings-edit:hover{color:var(--red);border-color:var(--red)}.math-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px 16px;margin-bottom:14px}.math-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.math-card-header h3{margin:0;font-size:13.5px;font-weight:700}.math-card-sub{font-size:10.5px;color:var(--text-muted);margin-left:auto;font-weight:500}.math-card p{margin:8px 0;font-size:12.5px}.math-card ul{margin:8px 0;padding-left:20px;font-size:12.5px}.math-card li{margin-bottom:4px}.math-card code{background:var(--surface-alt);padding:1px 5px;border-radius:3px;font-size:11.5px;font-family:SF Mono,Menlo,Consolas,monospace}.math-calc-controls{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;padding:10px 12px;background:var(--surface-alt);border-radius:6px;margin-bottom:14px}.math-control{display:flex;flex-direction:column;gap:4px}.math-control label{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.math-control label strong{color:var(--text);font-size:12px;font-weight:700}.math-control-meta{color:var(--text-muted);font-weight:400;text-transform:none;letter-spacing:0}.math-select{font-size:12px;padding:5px 8px;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--text)}.math-slider{-webkit-appearance:none;height:4px;border-radius:2px;background:var(--border);outline:none;margin-top:4px}.math-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#2e86ab;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0003}.math-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#2e86ab;cursor:pointer;border:2px solid #fff}.math-calc-body{display:flex;flex-direction:column;gap:16px}.math-step{border-left:3px solid #e4e7ec;padding:4px 0 4px 14px}.math-step-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.math-step-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#1a5276;color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.math-step-title{font-size:13px;font-weight:700;color:var(--text)}.math-step-sub{font-size:11px;color:var(--text-muted);font-weight:400;margin-left:auto}.math-step-warn{border-left-color:#c47070}.math-step-warn .math-step-num{background:#c47070}.math-kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px 12px;margin-top:6px}.math-kv{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background:var(--surface-alt);border-radius:4px;font-size:11.5px}.math-kv span{color:var(--text-muted);font-family:SF Mono,Menlo,Consolas,monospace;font-size:10.5px}.math-kv strong{color:var(--text);font-weight:700}.math-cascade-row{display:flex;gap:8px;flex-wrap:wrap}.math-kv-block{flex:1;min-width:110px;padding:8px 12px;background:var(--surface-alt);border-radius:4px;border:1px solid var(--border)}.math-kv-block.emphasis{background:#1a5276;border-color:#1a5276;color:#fff}.math-kv-block.emphasis .math-kv-block-title{color:#ffffffbf}.math-kv-block.emphasis .math-kv-block-val{color:#fff}.math-kv-block-title{display:flex;align-items:center;gap:4px;font-size:9.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:600;margin-bottom:2px}.math-kv-block-val{font-size:16px;font-weight:700;color:var(--text);font-family:SF Mono,Menlo,Consolas,monospace}.math-brackets-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.math-bracket-pick{padding:10px 12px;background:var(--surface-alt);border-radius:6px;border:1px solid var(--border)}.math-bracket-label{display:flex;align-items:center;gap:4px;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:600;margin-bottom:6px}.math-bracket-val{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.math-bracket-hit{background:#1a5276;color:#fff;padding:2px 8px;border-radius:3px;font-weight:700}.math-bracket-arrow{color:var(--text-muted)}.math-bracket-factor{font-weight:700;color:var(--text)}.math-bracket-hint{margin-top:4px;font-size:10.5px;color:var(--text-muted)}.math-formula{background:var(--surface-alt);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.math-formula-line{display:flex;align-items:baseline;gap:10px;font-size:11.5px}.math-formula-label{min-width:96px;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.math-formula-expr{flex:1;font-family:SF Mono,Menlo,Consolas,monospace;color:var(--text-secondary)}.math-formula-eval{padding-left:0}.math-formula-eval .math-formula-expr code{background:transparent;color:var(--text);padding:0;font-weight:600}.math-formula-final{margin-top:4px;padding-top:6px;border-top:1px dashed var(--border)}.math-formula-big{font-size:22px;font-weight:800;font-family:SF Mono,Menlo,Consolas,monospace;color:#1a5276;letter-spacing:-.5px;margin-left:auto}.math-pnl-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.math-pnl-card{padding:12px 14px;background:var(--surface-alt);border-radius:6px;border:1px solid var(--border);display:flex;flex-direction:column}.math-pnl-title{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700;margin-bottom:8px}.math-pnl-math{font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:#fff;border-radius:4px;border:1px solid var(--border)}.math-pnl-line{display:flex;justify-content:space-between;gap:8px;color:var(--text)}.math-pnl-line.math-pnl-sub{color:var(--text-secondary)}.math-pnl-line.math-pnl-total{border-top:1px solid var(--border);padding-top:4px;margin-top:4px;font-weight:800;font-size:13px}.math-pnl-line .pos{color:var(--green)}.math-pnl-line .neg{color:var(--red)}.math-pnl-line .warn{color:var(--amber)}.math-pnl-caption{margin-top:8px;font-size:10.5px;color:var(--text-muted);line-height:1.45}.math-warn-list li strong{color:#c47070}.math-code{background:var(--surface-alt);padding:10px 14px;border-radius:var(--radius);font-size:11.5px;font-family:SF Mono,Menlo,Consolas,monospace;overflow-x:auto;margin:8px 0;white-space:pre;color:var(--text);line-height:1.6}.math-cascade{display:flex;flex-direction:column;gap:4px;margin:10px 0}.math-cascade-level-row{display:flex;align-items:baseline;gap:12px;padding:6px 10px;background:var(--surface-alt);border-radius:4px;font-size:12px}.math-cascade-level{font-weight:700;min-width:58px;color:var(--text)}.math-revenue-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}.math-revenue-grid strong{display:block;font-size:12px;margin-bottom:4px;color:var(--text)}.math-revenue-grid p{margin:0}.math-tables{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}.math-tables>div>strong{display:block;margin-bottom:4px;font-size:12px}.math-table{width:100%;border-collapse:collapse;font-size:11.5px}.math-table th,.math-table td{padding:4px 8px;text-align:left;border-bottom:1px solid var(--border)}.math-table th{font-weight:600;color:var(--text-secondary)}@media(max-width:900px){.math-calc-controls,.math-brackets-row,.math-revenue-grid,.math-tables{grid-template-columns:1fr}}.mc-bus-area{display:flex;justify-content:center;align-items:center;min-width:0;padding:2px 0}.mc-bus-area>*{min-width:0;max-width:100%}.mc-bus-area .bus-view-wrap{justify-content:center;max-width:100%;min-width:0}.mc-bus-area svg{max-width:100%;height:auto;display:block}.mc-stats{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;padding-top:8px;border-top:1px solid var(--border-light);font-variant-numeric:tabular-nums;font-size:11px}.mc-booking{color:var(--text-secondary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mc-booking strong{color:var(--text);font-weight:700}.mc-booking .dim{color:var(--text-muted);font-weight:500}.mc-booking .mc-dot{color:var(--border);margin:0 4px;font-weight:400}.mc-net{font-size:13px;font-weight:800;letter-spacing:-.3px;flex-shrink:0;white-space:nowrap}.mc-net.positive{color:var(--viz-green)}.mc-net.negative{color:var(--viz-red)}.mc-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--border-light);border-top:1px solid var(--border-light);font-variant-numeric:tabular-nums;margin-top:2px}.mcs-cell{background:var(--surface);padding:5px 7px 6px;display:flex;flex-direction:column;gap:1px;min-width:0}.mcs-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcs-value{display:flex;align-items:baseline;gap:1px;font-size:11px;font-weight:600;color:var(--text)}.mcs-value strong{font-size:14px;font-weight:800;line-height:1}.mcs-value .mcs-dim{color:var(--text-muted);font-size:10px}.mcs-value.pos strong{color:var(--viz-green)}.mcs-value.neg strong{color:var(--viz-red)}.mc-trend{min-width:0}.price-sparkline{display:flex;align-items:center;gap:5px;padding:6px 0 0;border-top:1px dashed var(--border-light);font-size:10px;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;line-height:1;min-width:0}.price-sparkline .spark-label{text-transform:uppercase;letter-spacing:.5px;font-size:8px;font-weight:700;color:var(--text-muted);opacity:.7;flex-shrink:0}.price-sparkline .spark-start{color:var(--text-muted);flex-shrink:0}.price-sparkline .spark-svg{flex:1 1 auto;min-width:20px;height:16px;display:block}.price-sparkline .spark-end{display:inline-flex;align-items:baseline;gap:3px;font-weight:700;flex-shrink:0}.price-sparkline .spark-pct{font-size:9px;font-weight:600;opacity:.75}.price-sparkline.empty{justify-content:space-between}.price-sparkline .spark-empty{color:var(--text-muted);opacity:.55;font-size:9px;font-weight:500;font-style:italic;text-transform:none;letter-spacing:0}.price-sparkline.clickable{cursor:pointer;border-radius:4px;padding-left:4px;padding-right:4px;margin-left:-4px;margin-right:-4px;transition:background .12s,box-shadow .12s}.price-sparkline.clickable:hover{background:var(--red-soft);box-shadow:inset 0 0 0 1px #ed1c242e}.price-sparkline.clickable:hover .spark-label{color:var(--red);opacity:1}.price-sparkline.clickable:focus-visible{outline:2px solid var(--red);outline-offset:1px}.tour-grid.compact{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:12px;align-items:stretch}.tour-card-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-size:cover;background-position:center;opacity:.12;pointer-events:none;-webkit-mask-image:linear-gradient(135deg,transparent 20%,rgba(0,0,0,.6) 80%,rgba(0,0,0,1) 100%);mask-image:linear-gradient(135deg,transparent 20%,rgba(0,0,0,.6) 80%,rgba(0,0,0,1) 100%)}.tour-card-header,.tour-card-body{position:relative;z-index:1}.tour-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.tour-card.selected{border-color:var(--red);box-shadow:var(--shadow-md),0 0 0 2px #ed1c241a}.content-split{display:flex;gap:20px;flex:1;min-height:0}.content-left{flex:1;min-width:0}.detail-panel{width:380px;flex-shrink:0;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow);overflow-y:auto;align-self:flex-start;position:sticky;top:0;animation:detailIn .25s ease-out}@keyframes detailIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.detail-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.detail-panel-header h3{font-size:15px;font-weight:700}.close-btn{border:none;background:#00000008;color:var(--text-muted);border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;line-height:0;transition:background .15s,color .15s}.close-btn-md{width:26px;height:26px}.close-btn-sm{width:20px;height:20px}.close-btn:hover{background:#00000017;color:var(--text)}.close-btn:focus-visible{outline:2px solid var(--red);outline-offset:2px}.detail-bus{margin-bottom:12px}.detail-panel>*+*{margin-top:12px}.detail-panel>.detail-panel-header{margin-top:0}.detail-config{display:flex;gap:12px;margin-bottom:16px;padding:8px 12px;background:var(--surface-alt);border-radius:var(--radius)}.detail-config-row{display:flex;flex-direction:column;gap:1px}.detail-config-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.detail-config-value{font-size:13px;font-weight:600;color:var(--text)}@media(max-width:1100px){.content-split{flex-direction:column}.detail-panel{width:100%;position:static}}.tour-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.tour-card-name{font-weight:600;font-size:14px;line-height:1.3;min-width:0}.tour-card-meta{display:flex;gap:6px;margin-top:4px}.tour-card-metarow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;min-height:20px}.tour-card-metarow .tour-card-meta{margin-top:0}.tour-card-microstats{display:flex;align-items:baseline;gap:6px;font-size:11px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.tour-card-microstats .ms-val{color:var(--text)}.tour-card-microstats .ms-sub{color:var(--text-muted);font-weight:500;font-size:10px;margin-left:2px}.tour-card-microstats .ms-sep{color:var(--border);font-weight:400}.tour-card-microstats .ms-net{font-weight:700;letter-spacing:-.1px}.tour-card-microstats .ms-net.positive{color:var(--viz-green)}.tour-card-microstats .ms-net.negative{color:var(--viz-red)}.tour-card-microstats .ms-net.positive .ms-sub,.tour-card-microstats .ms-net.negative .ms-sub{color:inherit;opacity:.65;font-weight:600}.badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.badge svg{flex-shrink:0}.badge.morning{background:var(--amber-light);color:var(--viz-amber)}.badge.afternoon{background:var(--blue-light);color:var(--viz-blue)}.badge.fullday{background:#f5f0fa;color:var(--viz-purple)}.badge.category{background:var(--surface-alt);color:var(--text-secondary)}.tour-card-body{display:flex;gap:16px;align-items:center}.tour-card-stats{flex:1}.tour-card-stat{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}.tour-card-stat .label{color:var(--text-muted)}.tour-card-stat .value{font-weight:600}.tour-card-bus{flex-shrink:0;max-width:120px;overflow:hidden}.voyage-selector{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.voyage-selector select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:13px;background:var(--surface)}.voyage-selector .voyage-info{font-size:12px;color:var(--text-secondary);display:none}.voyage-selector .voyage-info strong{color:var(--text)}.toolbar-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s;font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:.2px}.toolbar-btn-label{font-size:11px;font-weight:600;text-transform:none;color:inherit}.toolbar-btn:hover{background:var(--surface-alt);color:var(--text)}.toolbar-btn.active{background:#1d24330f;color:var(--text)}.toolbar-btn.active:hover{background:#1d24331a}@media(max-width:1280px){.toolbar-btn-label{display:none}.toolbar-btn{padding:0;width:30px;justify-content:center}}.ellipsis-menu-wrap{position:relative}.ellipsis-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all .15s}.ellipsis-btn:hover{background:var(--surface-alt);color:var(--text)}.ellipsis-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.ellipsis-menu{position:absolute;top:100%;right:0;margin-top:4px;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:4px;min-width:200px;white-space:nowrap}.ellipsis-menu button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 12px;border:none;background:none;cursor:pointer;font-family:var(--font);font-size:12px;color:var(--text-secondary);border-radius:4px;transition:all .1s;white-space:nowrap}.ellipsis-menu button svg{flex-shrink:0;color:var(--text-muted)}.ellipsis-menu button:hover{background:var(--surface-alt);color:var(--text)}.ellipsis-menu button:hover svg{color:var(--text)}.ellipsis-menu button:disabled{opacity:.5;cursor:not-allowed}.toast{position:fixed;bottom:20px;right:20px;z-index:9999;background:var(--text);color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 8px 24px #0003;animation:toastIn .3s cubic-bezier(.16,1,.3,1)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}}.revenue-panel{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text);margin-bottom:12px;letter-spacing:-.1px}.section-title-part{display:inline-flex;align-items:center;gap:6px}.section-title-part svg{color:var(--text-muted);flex-shrink:0}.section-title-part.muted{color:var(--text-secondary);font-weight:500;font-variant-numeric:tabular-nums}.section-title-sep{color:var(--border);font-weight:400}.section-title-sub{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:0;font-variant-numeric:tabular-nums}.revenue-panel .section-title{margin-bottom:14px}.revenue-totals{display:flex;gap:24px;align-items:center;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border-light);flex-wrap:wrap}.revenue-stat{display:flex;flex-direction:column;gap:2px}.revenue-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.revenue-stat-value{font-size:18px;font-weight:700;color:var(--text)}.revenue-stat-value.positive{color:var(--green)}.revenue-stat-value.negative{color:var(--red)}.revenue-stat.at-risk .revenue-stat-value{color:var(--amber)}.revenue-ports{display:flex;flex-direction:column;gap:6px}.revenue-port-row{display:flex;align-items:center;gap:10px;font-size:12px;padding:3px 0}.revenue-port-name{width:90px;font-weight:600;flex-shrink:0}.revenue-port-header{display:flex;align-items:center;gap:10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 0 4px;margin-bottom:2px;border-bottom:1px solid var(--border-light)}.rph-bar{flex:1;display:flex;align-items:center}.rph-left,.rph-right{flex:1}.rph-left{text-align:right;padding-right:6px;color:var(--viz-red)}.rph-center{width:2px;height:10px;background:var(--border);flex-shrink:0}.rph-right{text-align:left;padding-left:6px;color:var(--viz-green)}.revenue-port-bar-container{flex:1;height:8px;background:var(--surface-alt);border-radius:4px;overflow:hidden}.revenue-diverging{display:flex;align-items:center;height:8px;overflow:visible;background:none}.revenue-diverge-half{flex:1;height:100%;background:var(--surface-alt);border-radius:4px;overflow:hidden;position:relative}.revenue-diverge-half.left{display:flex;justify-content:flex-end}.revenue-diverge-half.right{display:flex;justify-content:flex-start}.revenue-diverge-center{width:2px;height:14px;background:var(--border);flex-shrink:0;border-radius:1px}.revenue-port-bar{height:100%;border-radius:4px;transition:width .5s ease-out}.revenue-port-bar.positive{background:var(--viz-green)}.revenue-port-bar.negative{background:var(--viz-red)}.revenue-port-net{width:80px;text-align:right;font-weight:600;font-size:11px}.revenue-port-net.positive{color:var(--green)}.revenue-port-net.negative{color:var(--red)}.revenue-port-occ{width:40px;text-align:right;color:var(--text-muted);font-size:11px}.revenue-port-risk{font-size:10px;font-weight:600;color:var(--amber);background:var(--amber-light);padding:1px 6px;border-radius:4px}.header-tabs{display:flex;gap:2px;position:absolute;left:50%;transform:translate(-50%)}.header-tab{display:flex;align-items:center;gap:5px;padding:6px 14px;border-radius:var(--radius);font-size:12px;font-weight:500;color:var(--text-muted);text-decoration:none;transition:all .15s}.header-tab:hover{background:var(--surface-alt);color:var(--text)}.header-tab.active{background:var(--red-soft);color:var(--red);font-weight:600}.right-pane{background:var(--surface);border-left:1px solid var(--border);width:400px;overflow:hidden;position:relative;flex-shrink:0}.right-pane.collapsed{width:0;border-left:none;overflow:hidden}.right-pane-toggle{position:absolute;top:12px;left:-1px;width:24px;height:28px;background:var(--surface);border:1px solid var(--border);border-right:none;border-radius:6px 0 0 6px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;color:var(--text-muted);transform:translate(-100%)}.right-pane-toggle:hover{background:var(--surface-alt)}.alerts-badge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--viz-red);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.right-pane-content{display:flex;flex-direction:column;height:100%}.right-pane-chips{display:flex;gap:4px;padding:8px 10px 6px;border-bottom:1px solid var(--border-light);background:var(--surface);flex-shrink:0}.right-pane-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:10.5px;font-weight:600;letter-spacing:.3px;transition:background .15s,color .15s}.right-pane-chip:hover{background:var(--surface-alt);color:var(--text)}.right-pane-chip.active{color:var(--text);background:#1d24330f}.right-pane-chip.active:hover{background:#1d24331a}.right-pane-chip-count{font-size:9px;font-weight:700;background:var(--surface-alt);color:var(--text-secondary);padding:1px 5px;border-radius:4px;font-variant-numeric:tabular-nums}.right-section{overflow-y:auto;display:flex;flex-direction:column;height:100%}.right-section-details{overflow:hidden}.right-pane-stack{flex:1;display:flex;flex-direction:column;overflow:hidden}.right-pane-panel-wrap{display:flex;flex-direction:column;overflow:hidden;min-height:0;position:relative}.right-pane-panel-wrap>.right-section{flex:1;min-height:0}.right-pane-empty{flex:1;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:var(--text-muted);font-size:11px;padding:24px;text-align:center}.right-pane-empty-hint{font-size:10px;color:var(--text-muted);opacity:.7;letter-spacing:.3px;text-transform:uppercase;font-weight:600}.pane-resizer{position:relative;flex-shrink:0;z-index:3;background:transparent;transition:background .15s}.pane-resizer:after{content:"";position:absolute;background:var(--border-light);transition:background .15s,transform .18s cubic-bezier(.2,.9,.3,1.2);pointer-events:none}.pane-resizer-x{width:5px;margin:0 -2px;cursor:col-resize}.pane-resizer-x:after{top:20%;bottom:20%;left:2px;width:1px}.pane-resizer-x:hover:after,body.is-resizing-x .pane-resizer-x:after{background:var(--red);transform:scaleX(2)}.pane-resizer-y{height:5px;margin:-2px 0;cursor:row-resize}.pane-resizer-y:after{left:20%;right:20%;top:2px;height:1px}.pane-resizer-y:hover:after,body.is-resizing-y .pane-resizer-y:after{background:var(--red);transform:scaleY(2)}body.is-resizing-x,body.is-resizing-x *{cursor:col-resize!important;user-select:none!important;-webkit-user-select:none!important}body.is-resizing-y,body.is-resizing-y *{cursor:row-resize!important;user-select:none!important;-webkit-user-select:none!important}.right-section-header{display:flex;align-items:center;gap:6px;width:100%;padding:10px 16px;border:none;background:none;cursor:pointer;font-family:var(--font);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.right-section-header:hover{background:var(--surface-alt)}.right-section-header.static{cursor:default}.right-section-header.static:hover{background:none}.right-section-header span:first-of-type{flex:1;text-align:left}.right-section-count{font-size:9px;font-weight:700;background:var(--surface-alt);color:var(--text-secondary);padding:1px 5px;border-radius:4px}.demo-events-list{padding:4px 16px 12px;overflow-y:auto;flex:1}.alerts-list-inner{padding:4px 16px 12px}.alerts-counts{display:flex;gap:4px}.alerts-count-crit{font-size:9px;font-weight:700;background:var(--red-light);color:var(--viz-red);padding:1px 5px;border-radius:4px}.alerts-count-warn{font-size:9px;font-weight:700;background:var(--amber-light);color:var(--viz-amber);padding:1px 5px;border-radius:4px}.alerts-empty{font-size:12px;color:var(--text-muted);font-style:italic}.alerts-list{display:flex;flex-direction:column;gap:6px}.alert-item{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:var(--radius);cursor:pointer;transition:background .15s;animation:alertSlideIn .22s cubic-bezier(.22,.9,.3,1) both;will-change:max-height,opacity}@keyframes alertSlideIn{0%{max-height:0;opacity:0;padding-top:0;padding-bottom:0;margin-top:-6px}to{max-height:80px;opacity:1;margin-top:0}}.alert-item:hover{background:var(--surface-alt)}.alert-icon{width:24px;height:24px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.alert-body{flex:1;min-width:0}.alert-tour{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-msg{font-size:10px;color:var(--text-muted);line-height:1.4}.pricing-guide{display:flex;align-items:center;gap:16px;padding:14px 24px;background:linear-gradient(135deg,#e8f4fd,#eaf6f0,#e0f5e9);border-bottom:1px solid rgba(109,174,140,.2);animation:guideIn .3s ease-out}@keyframes guideIn{0%{opacity:0;transform:translateY(-6px)}}.pricing-guide-inner{display:flex;gap:32px;flex:1}.pricing-guide-step{display:flex;align-items:flex-start;gap:12px;flex:1}.pricing-guide-num{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#1a5276,#1e8c6e);color:#fff!important;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #1a52764d;letter-spacing:-.5px;-webkit-text-fill-color:#ffffff}.pricing-guide-step strong{display:block;font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px}.pricing-guide-step span{font-size:11px;color:var(--text-secondary);line-height:1.45}.sim-guide-reopen{display:inline-flex;align-items:center;gap:4px;margin-top:12px;font-size:10px;color:var(--text-muted);background:none;border:none;cursor:pointer;font-family:var(--font);padding:4px 0}.sim-guide-reopen:hover{color:var(--text-secondary)}.sim-preview-label{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--blue);margin-bottom:2px}.sim-preview-hint{font-size:10px;color:var(--text-muted);margin-bottom:14px;line-height:1.4}.pricing-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.pricing-toolbar-left{justify-self:start;display:flex;align-items:center;gap:10px}.pricing-toolbar-right{justify-self:end;display:flex;align-items:center;gap:4px}.panel-toggle-btn{width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:all .15s}.panel-toggle-btn:hover{color:var(--text);background:var(--surface-alt);border-color:var(--border)}.panel-toggle-btn[aria-pressed=true]{color:var(--red);border-color:var(--red-soft);background:var(--red-soft)}.overlay-scope-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-right:4px;white-space:nowrap;-webkit-user-select:none;user-select:none}.pricing-toolbar-scope{display:flex;align-items:center;gap:4px}.toolbar-select{max-width:160px;padding:4px 8px!important;font-size:11px!important}.pricing-toolbar-actions{justify-self:center;display:flex;align-items:center;gap:10px}.pricing-toolbar-spacer{justify-self:end}.pricing-toolbar-actions .pricing-toolbar-context{font-size:11px;color:var(--text-muted);margin-right:4px}.pricing-toolbar-actions .pricing-toolbar-context strong{color:var(--text-secondary)}.pricing-toolbar-actions .curve-save-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.pricing-toolbar-actions .curve-save-btn:disabled:hover{filter:grayscale(.4)}@keyframes mxp-save-pulse{0%,to{box-shadow:0 0 #ed1c248c}50%{box-shadow:0 0 0 8px #ed1c2400}}@keyframes mxp-reset-pulse{0%,to{box-shadow:0 0 #8d96a373}50%{box-shadow:0 0 0 6px #8d96a300}}.pricing-toolbar-actions.dirty .curve-save-btn.primary{animation:mxp-save-pulse 1.4s ease-in-out 2}.pricing-toolbar-actions.dirty .curve-save-btn.secondary{animation:mxp-reset-pulse 1.4s ease-in-out 2}.pricing-layout{display:grid;grid-template-columns:var(--left-pane-width, 340px) 1fr 560px;height:calc(100vh - 86px);overflow:hidden}.pricing-layout.ai-hidden{--left-pane-width: 0px}.pricing-layout.preview-closed{grid-template-columns:var(--left-pane-width, 340px) 1fr 0px}.pricing-layout>.ai-sidebar{grid-column:1}.pricing-layout>.pricing-editors{grid-column:2;min-width:0}.pricing-layout>.pricing-preview{grid-column:3}.ai-sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;position:relative;animation:guideIn .2s ease-out;min-width:0}.left-pane-resizer{position:absolute;top:0;bottom:0;right:-2px;width:6px;margin:0;z-index:20}.left-pane-resizer:after{top:20%;bottom:20%;left:auto;right:2px}.left-pane-chips{display:flex;gap:4px;padding:8px 10px 6px;border-bottom:1px solid var(--border-light);background:var(--surface);flex-shrink:0}.left-pane-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:10.5px;font-weight:600;letter-spacing:.3px;transition:background .15s,color .15s}.left-pane-chip:hover{background:var(--surface-alt);color:var(--text)}.left-pane-chip.active{color:var(--text);background:#1d24330f}.left-pane-chip.active:hover{background:#1d24331a}.left-pane-chip-count{font-size:9px;font-weight:700;background:var(--surface-alt);color:var(--text-secondary);padding:1px 5px;border-radius:4px;font-variant-numeric:tabular-nums}.left-pane-stack{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.left-pane-panel-wrap{display:flex;flex-direction:column;overflow:hidden;min-height:0;position:relative}.left-pane-panel-wrap>.left-pane-section{flex:1;min-height:0}.left-pane-empty{flex:1;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:var(--text-muted);font-size:11px;padding:24px;text-align:center}.left-pane-empty-hint{font-size:10px;color:var(--text-muted);opacity:.7;letter-spacing:.3px;text-transform:uppercase;font-weight:600}.left-pane-section{display:flex;flex-direction:column;overflow:hidden;height:100%}.left-pane-section .sidebar-section-title{padding:10px 14px 8px;margin:0;border-bottom:1px solid var(--border-light);flex-shrink:0}.left-pane-section-body{flex:1;overflow-y:auto;padding:10px 14px 14px;min-height:0}.left-pane-tips-dock{flex:0 0 auto;max-height:45%;border-top:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.left-pane-tips-dock>.left-pane-section{flex:1;min-height:0}.ai-sidebar.tips-expanded .left-pane-stack{padding:0}.ai-sidebar.tips-expanded .tips-content.tips-list-mode{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px}.tips-ghost-btn{background:none;border:none;padding:3px 6px;cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;gap:3px;border-radius:3px;font-family:var(--font);font-size:10px;font-weight:600;transition:color .12s,background .12s}.tips-ghost-btn:hover{color:var(--text);background:var(--surface-alt)}.tips-ghost-btn.tips-show-all{margin-left:4px;padding:3px 8px;border:1px solid var(--border-light)}.tips-ghost-btn.tips-show-all:hover{border-color:var(--border)}.tips-list-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid var(--border-light)}.tips-list-count{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.tips-list-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.tips-list-item{display:flex;gap:10px;padding:10px 0}.tips-list-item+.tips-list-item{border-top:1px dashed var(--border-light)}.tips-list-num{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--red-soft);color:var(--red);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.tips-list-body{flex:1;min-width:0}.tips-list-title{font-size:11px;font-weight:700;color:var(--text);margin-bottom:2px}.tips-list-text{font-size:10px;line-height:1.5;color:var(--text-secondary)}.tips-list-link{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:10px;font-weight:600;color:var(--text-secondary);text-decoration:none}.tips-list-link:hover{color:var(--red)}.sidebar-section-title{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:6px;flex-wrap:nowrap;min-width:0;white-space:nowrap}.sidebar-section-title>span:first-of-type{overflow:hidden;text-overflow:ellipsis;min-width:0;flex-shrink:1}.sidebar-section-actions{margin-left:auto;display:inline-flex;flex-wrap:nowrap;flex-shrink:0;gap:4px;white-space:nowrap}.sidebar-section-actions .master-reset-btn{white-space:nowrap;padding:3px 8px;line-height:1}.override-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface);cursor:pointer;margin-bottom:6px;transition:border-color .15s,background .15s,box-shadow .15s}.override-card:hover{border-color:var(--border);background:var(--surface-alt)}.override-card.state-live{border-color:var(--green);box-shadow:0 0 0 1px #3d99702e,0 1px 2px #0000000a}.override-card.state-live:hover{background:var(--green-light)}.override-card.state-scope-miss{opacity:.6;border-style:dashed}.override-card.state-confirm>*:not(.override-delete-confirm){opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.override-card-ai{box-shadow:inset 2px 0 #9b8ec48c}.override-card-ai:hover{box-shadow:inset 2px 0 0 0 var(--viz-purple)}.override-card-ai.state-live{box-shadow:inset 2px 0 0 0 var(--viz-purple),0 0 0 1px #3d99702e,0 1px 2px #0000000a}.override-ai-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--viz-purple);opacity:.75;margin-right:-2px;transition:opacity .15s}.override-card-ai:hover .override-ai-mark{opacity:1}.override-card-head{display:flex;align-items:center;gap:6px;min-height:18px}.override-level-chip{display:inline-block;padding:1px 6px;border-radius:8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0}.override-level-chip.lvl-global{background:#8d96a326;color:var(--text-secondary)}.override-level-chip.lvl-ship{background:#2e86ab1f;color:#2e86ab}.override-level-chip.lvl-port{background:#c4943d24;color:#c4943d}.override-level-chip.lvl-tour{background:var(--red-soft);color:var(--red)}.override-target{flex:1;min-width:0;font-size:11px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.override-mod-chip{flex-shrink:0;font-size:10px;font-weight:700;color:var(--text-secondary);font-variant-numeric:tabular-nums}.override-live-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 5px;border-radius:10px;background:#3d99701f;color:var(--green);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;animation:override-live-glow 2.4s ease-in-out infinite}.override-live-chip-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px #3d997040;animation:override-live-pulse 2.4s ease-in-out infinite}@keyframes override-live-pulse{0%,to{box-shadow:0 0 0 2px #3d997040}50%{box-shadow:0 0 0 4px #3d99701a}}@keyframes override-live-glow{0%,to{background:#3d99701f}50%{background:#3d99702e}}.override-card-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.override-card:hover .override-card-actions{opacity:1}.override-icon-btn{width:20px;height:20px;padding:0;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s}.override-icon-btn:hover{color:var(--text);background:var(--surface-alt);border-color:var(--border-light)}.override-icon-btn.danger:hover{color:var(--red);background:var(--red-soft);border-color:#ed1c2433}.override-card-charts{display:flex;gap:8px;align-items:center;padding-left:2px}.override-mini-wrap{display:flex;flex-direction:column;align-items:center;gap:1px}.override-mini-wrap.empty{opacity:.4}.override-mini-curve{display:block;background:var(--surface-alt);border-radius:2px}.override-mini-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted)}.override-mini-label.muted{color:var(--border)}.override-mini-placeholder{width:80px;height:32px;border:1px dashed var(--border-light);border-radius:2px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.override-card-scope{display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:3px;background:#4b7bbd14;color:#4b7bbd;font-size:9px;font-weight:600;font-variant-numeric:tabular-nums}.override-card-scope svg{flex-shrink:0}.override-card-scope .scope-range{font-weight:700}.override-card-scope .scope-flags{opacity:.75;text-transform:uppercase;letter-spacing:.3px}.override-card-scope.missed{background:transparent;color:var(--text-muted);text-decoration:line-through;text-decoration-color:var(--text-muted);text-decoration-thickness:1px}.override-card-scope.missed .scope-miss-tag{margin-left:auto;font-size:8px;text-decoration:none;color:var(--amber);font-style:italic}.override-delete-confirm{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px 10px;background:linear-gradient(135deg,#ed1c24f0,#c8181ef0);color:#fff;border-radius:var(--radius);box-shadow:0 2px 10px #ed1c2459;z-index:2;animation:override-confirm-in .22s ease-out}@keyframes override-confirm-in{0%{opacity:0;transform:translate(8px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}.override-delete-confirm-text{font-size:11px;font-weight:700;text-align:center}.override-delete-confirm-actions{display:flex;gap:6px;justify-content:center}.override-delete-cancel,.override-delete-do{padding:4px 10px;font-size:10px;font-weight:700;border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;transition:all .12s}.override-delete-cancel{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3)}.override-delete-cancel:hover{background:#ffffff40}.override-delete-do{background:#fff;color:var(--red);border:1px solid #fff}.override-delete-do:hover{background:#ffe5e5}.override-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--radius);font-size:11px;cursor:pointer;transition:all .15s;margin-bottom:2px}.override-item:hover{background:var(--surface-alt)}.override-item .override-indicator{flex-shrink:0}.override-item-name{flex:1;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.override-item-detail{font-size:10px;color:var(--text-muted);flex-shrink:0}.override-item-delete{width:18px;height:18px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px;flex-shrink:0;opacity:0;transition:all .15s}.override-item:hover .override-item-delete{opacity:1}.override-item-delete:hover{background:var(--red-light);color:var(--red)}.tips-content{font-size:10px;color:var(--text-muted);line-height:1.5}.tips-content strong{color:var(--text-secondary)}.pricing-editors{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.pricing-editors .curve-editor{flex:1;display:flex;flex-direction:column;min-height:0}.pricing-preview{background:var(--surface);border-left:1px solid var(--border);padding:12px 16px;overflow-y:auto}.curve-editor-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text);margin-bottom:8px}.curve-editor-hint{font-weight:400;color:var(--text-muted);font-size:10px;margin-left:auto}.curve-inline-actions{display:flex;gap:4px;margin-left:8px}.curve-inline-actions .curve-save-btn{padding:3px 10px;font-size:10px}.curve-resize-handle{height:8px;cursor:ns-resize;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin:0 20%}.curve-resize-handle:after{content:"";width:32px;height:3px;border-radius:2px;background:var(--border);transition:background .15s}.curve-resize-handle:hover:after{background:var(--text-muted)}.curve-presets{display:flex;gap:2px;margin-left:auto}.curve-preset-btn{width:28px;height:20px;border:1px solid var(--border-light);border-radius:3px;background:var(--surface);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--text-muted)}.curve-preset-btn:hover{border-color:var(--red);background:var(--red-soft);color:var(--red)}.curve-preset-btn.time:hover{border-color:#2e86ab;background:#2e86ab14;color:#2e86ab}.curve-preset-btn.flip{margin-left:4px;border-color:var(--blue);color:var(--blue)}.curve-preset-btn.flip:hover{background:var(--blue-light)}.curve-preset-btn.flip.active{background:var(--blue);color:#fff;border-color:var(--blue)}.curve-preset-btn.flip.time{border-color:#2e86ab;color:#2e86ab}.curve-preset-btn.flip.time:hover{background:#2e86ab1f}.curve-preset-btn.flip.time.active{background:#2e86ab;color:#fff}.curve-preset-btn svg{display:block}.ai-assistant-scope{margin-left:auto;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--red-soft);color:var(--red);text-transform:uppercase;letter-spacing:.3px}.preview-controls{margin-bottom:10px;display:flex;flex-direction:column;gap:8px}.preview-sliders{display:flex;gap:12px}.preview-slider-group{flex:1}.preview-slider-label{font-size:10px;color:var(--text-muted);margin-bottom:3px;display:block}.preview-slider-label strong{color:var(--text);font-size:12px}.preview-slider-ends{display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:600;margin-top:1px;padding:0 1px;font-variant-numeric:tabular-nums}.preview-slider-dates{display:flex;flex-direction:column;align-items:stretch;gap:2px;margin-top:8px;font-size:10px;color:var(--text-secondary)}.preview-slider-timeline{display:flex;align-items:center;gap:6px;min-width:0;width:100%}.preview-slider-timeline>.preview-slider-date-pill{flex:0 1 auto;min-width:0;overflow:hidden}.preview-slider-timeline>.preview-slider-date-pill.align-end{margin-left:auto}.preview-slider-timeline>.preview-slider-date-pill strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-slider-timeline-gap{flex:1 1 0;min-width:24px;position:relative;display:flex;align-items:center;justify-content:center;height:14px}.preview-slider-timeline-gap:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:repeating-linear-gradient(to right,var(--border) 0 4px,transparent 4px 7px)}.preview-slider-timeline-gap-label{position:relative;z-index:1;padding:0 6px;background:var(--surface);font-size:9px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:560px){.preview-slider-timeline .preview-slider-date-label{display:none}}.preview-slider-date-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:var(--surface-alt);border-radius:12px;color:var(--text-secondary);white-space:nowrap;max-width:100%;min-width:0}.preview-slider-date-pill svg{color:var(--text-muted);flex-shrink:0}.preview-slider-date-label{font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-weight:700}.preview-slider-date-pill strong{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.preview-slider-date-connector{display:flex;align-items:center;gap:6px;padding:0 10px;height:12px;color:var(--text-muted);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;-webkit-user-select:none;user-select:none}.preview-slider-date-connector-line{flex:0 0 10px;height:1px;background:linear-gradient(to bottom,transparent 45%,var(--border) 45%,var(--border) 55%,transparent 55%)}.preview-slider-date-connector-line:first-child{width:1px;height:8px;flex:0 0 1px;background:var(--border);margin-left:6px}.preview-slider-date-connector-line:last-child{display:none}.preview-slider-date-connector-gap{color:var(--text-muted);font-variant-numeric:tabular-nums}.preview-slider-date-pill.warn{background:var(--amber-light);border:1px solid rgba(192,139,48,.3);color:var(--amber);max-width:100%;overflow:hidden}.preview-slider-date-pill.warn svg{color:var(--amber)}.preview-slider-date-pill.warn .preview-slider-date-label{color:var(--amber)}.preview-slider-date-pill.warn span:last-child{font-size:9px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.sim-controls{background:var(--surface);border-right:1px solid var(--border);padding:16px;overflow-y:auto}.pricing-guide+.pricing-layout{height:calc(100vh - 154px)}.sim-section{margin-bottom:20px}.sim-section h3{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:8px}.sim-section h3 strong{color:var(--text);font-size:13px;text-transform:none;letter-spacing:0}.sim-select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:12px;background:var(--surface)}.sim-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-alt);border-radius:3px;outline:none}.sim-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--red);cursor:pointer;border:2px solid #fff;box-shadow:var(--shadow)}.sim-slider-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted);margin-top:4px}.sim-result-card{background:var(--surface-alt);border-radius:var(--radius-lg);padding:16px;margin-top:16px;margin-bottom:16px}.sim-result-price{font-size:32px;font-weight:700;color:var(--text)}.sim-result-price .currency{font-size:18px;font-weight:500}.sim-result-std{font-size:12px;color:var(--text-muted);margin-bottom:4px}.sim-result-reason{font-size:11px;color:var(--text-secondary);margin-bottom:12px}.sim-result-stats{display:flex;flex-direction:column;gap:4px;font-size:12px}.sim-result-stats strong{font-weight:600}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.preview-link-toggle{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:10px;background:transparent;border:1px solid var(--border-light);color:var(--text-muted);font-family:var(--font);font-size:10px;font-weight:600;cursor:pointer;transition:all .15s}.preview-link-toggle:hover{color:var(--text);border-color:var(--border);background:var(--surface-alt)}.preview-link-toggle.linked{color:var(--blue);border-color:var(--blue-light);background:var(--blue-light)}.preview-link-toggle.linked:hover{filter:brightness(.97)}.preview-link-toggle.unlinked{color:var(--amber);border-color:var(--amber-light);background:var(--amber-light)}.preview-cascade{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.preview-selector-row{display:flex;flex-direction:column;gap:3px}.preview-selector-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.preview-selector-caption{display:flex;align-items:center;flex-wrap:wrap;gap:3px;font-size:10px;color:var(--text-secondary);min-height:14px;line-height:1.4}.preview-selector-caption svg{flex-shrink:0;color:var(--text-muted)}.preview-caption-dot{color:var(--border);margin:0 1px}.preview-caption-muted{color:var(--text-muted);font-style:italic}.preview-caption-badge{display:inline-block;padding:1px 5px;background:var(--surface-alt);border-radius:3px;font-weight:600;text-transform:uppercase;font-size:9px;letter-spacing:.4px;color:var(--text-secondary)}.preview-hero-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:14px;margin-top:12px;margin-bottom:14px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}.preview-hero{display:flex;gap:12px;align-items:flex-start}.preview-hero-thumb{width:72px;height:72px;flex-shrink:0;border-radius:var(--radius);background-color:var(--surface-alt);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:var(--text-muted);box-shadow:inset 0 0 0 1px #0000000a}.preview-hero-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.preview-hero-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.preview-hero-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.preview-hero-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:10px;background:var(--surface-alt);color:var(--text-secondary);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.preview-hero-badge svg{color:var(--text-muted)}.preview-hero-badge-port{background:var(--red-soft);color:var(--red)}.preview-hero-desc{font-size:10px;color:var(--text-secondary);line-height:1.5;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.preview-hero-bus{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;max-width:96px;overflow:hidden}.preview-hero-bus svg{display:block;max-width:100%;max-height:108px}.preview-hero-bus-label{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center}.preview-hero-bus-label strong{color:var(--text);font-weight:700}.preview-busview-wrap{display:none}.sim-when-primary{font-weight:600;color:var(--text)}.sim-when-date{font-size:9px;color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:1px}.preview-price-block{padding-top:4px;padding-bottom:2px;border-top:1px dashed var(--border-light)}.preview-price-main{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.preview-price-currency{font-size:18px;font-weight:500;color:var(--text-secondary)}.preview-price-value{font-size:32px;font-weight:700;color:var(--text);line-height:1}.preview-price-delta{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:10px;font-size:11px;font-weight:700;margin-left:auto}.preview-price-delta.dir-up{background:#3d99701f;color:var(--green)}.preview-price-delta.dir-down{background:var(--red-soft);color:var(--red)}.preview-price-delta.dir-flat{background:var(--surface-alt);color:var(--text-muted)}.preview-price-std{margin-top:3px;font-size:10px;color:var(--text-muted)}.preview-price-std strong{color:var(--text-secondary);font-weight:600}.preview-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preview-stat{background:var(--surface-alt);border-radius:var(--radius);padding:8px 10px;display:flex;flex-direction:column;gap:2px}.preview-stat-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.preview-stat-value{font-size:14px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.preview-stat-badge.ok{color:var(--green)}.preview-stat-badge.pending{color:var(--amber)}.preview-market-strip{padding:10px 12px;border-radius:var(--radius);background:var(--surface-alt);display:flex;flex-direction:column;gap:8px}.preview-market-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.preview-market-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.preview-market-nums{font-size:10px;color:var(--text-secondary)}.preview-market-nums strong{color:var(--text);font-weight:700}.preview-market-bar{position:relative;height:28px;margin:2px 4px 14px}.preview-market-track{position:absolute;left:0;right:0;top:13px;height:2px;border-radius:1px;background:linear-gradient(90deg,var(--border-light) 0%,var(--border) 50%,var(--border-light) 100%)}.preview-market-competitor{position:absolute;top:9px;width:8px;height:8px;border-radius:50%;transform:translate(-4px);background:var(--surface);border:1.5px solid var(--text-muted);cursor:help}.preview-market-competitor:hover{border-color:var(--text)}.preview-market-avg{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.preview-market-avg-tick{width:2px;height:20px;background:var(--text-muted);border-radius:1px}.preview-market-avg-label{margin-top:1px;font-size:8px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.preview-market-you{position:absolute;top:-2px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:2}.preview-market-you-tick{width:3px;height:24px;background:var(--red);border-radius:1.5px;box-shadow:0 0 0 2px #ed1c2426}.preview-market-you-label{margin-top:1px;font-size:8px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.3px}.preview-reason-callout{display:flex;gap:6px;align-items:flex-start;padding:8px 10px;border-radius:var(--radius);background:var(--blue-light);border-left:2px solid var(--blue);font-size:10px;line-height:1.5;color:var(--text-secondary)}.preview-reason-callout svg{color:var(--blue);flex-shrink:0;margin-top:1px}.preview-reason-callout strong{color:var(--text)}.preview-reason-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.preview-reason-main{color:var(--text-secondary)}.preview-reason-firing,.preview-reason-missed{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:9px}.preview-reason-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-right:2px}.preview-reason-chip{display:inline-flex;align-items:center;padding:1px 6px;border-radius:8px;font-size:9px;font-weight:600}.preview-reason-chip.live{background:#3d997026;color:var(--green)}.preview-reason-chip.missed{background:transparent;border:1px dashed var(--border);color:var(--text-muted);text-decoration:line-through;text-decoration-thickness:1px}.preview-busview-wrap{display:flex;justify-content:center;padding-top:4px;border-top:1px dashed var(--border-light)}.price-curve-tooltip{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;box-shadow:var(--shadow);font-size:11px;min-width:180px}.price-curve-tooltip-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--text);padding-bottom:6px;border-bottom:1px dashed var(--border-light);margin-bottom:6px}.price-curve-tooltip-head strong{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.price-curve-tooltip-bracket{font-size:9px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.price-curve-tooltip-dates{font-size:10px;color:var(--text-secondary);padding-bottom:5px;margin-bottom:4px;border-bottom:1px dashed var(--border-light);font-variant-numeric:tabular-nums}.price-curve-tooltip-dates strong{color:var(--text);font-weight:700}.price-curve-tooltip-sep{color:var(--border);margin:0 5px}.price-curve-tooltip-rows{display:flex;flex-direction:column;gap:3px}.price-curve-tooltip-row{display:grid;grid-template-columns:10px 60px 1fr auto;align-items:center;gap:8px;padding:2px 4px;border-radius:3px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.price-curve-tooltip-row.active{background:var(--surface-alt);color:var(--text)}.price-curve-tooltip-row .pct-dot{width:8px;height:8px;border-radius:50%}.price-curve-tooltip-row .pct-label{font-size:10px;font-weight:600}.price-curve-tooltip-row .pct-price{font-size:12px;font-weight:700;text-align:right}.price-curve-tooltip-row .pct-delta{font-size:10px;font-weight:700;min-width:36px;text-align:right}.price-curve-tooltip-foot{margin-top:6px;padding-top:5px;border-top:1px dashed var(--border-light);font-size:9px;color:var(--text-muted)}.price-curve-tooltip-foot strong{color:var(--text-secondary);font-weight:600}.curve-level-sort{width:24px;height:24px;padding:0;margin-right:4px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font);display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,color .15s,background .15s,border-color .15s}.curve-level-sort:hover,.curve-level-sort:focus-visible{opacity:1;color:var(--text);background:var(--surface-alt);border-color:var(--border-light)}.curve-level-sort:focus-visible{outline:2px solid var(--red);outline-offset:1px}.sim-chart-area{padding:16px;overflow-y:auto}.sim-chart-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px 16px 12px;box-shadow:var(--shadow-sm);margin-bottom:12px}.sim-chart-card h3{font-size:13px;font-weight:600;margin-bottom:4px}.master-reset-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:10px;font-weight:600;background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.3px}.master-reset-btn:hover{background:var(--red-light);color:var(--red);border-color:var(--red)}.master-reset-btn.confirming,.master-reset-btn.confirming:hover{background:var(--red);color:#fff;border-color:var(--red);animation:masterResetConfirmPulse 1.1s ease-in-out infinite}@keyframes masterResetConfirmPulse{0%,to{box-shadow:0 0 #ef444473}50%{box-shadow:0 0 0 4px #ef444400}}.ellipsis-menu button.ellipsis-menu-confirm,.ellipsis-menu button.ellipsis-menu-confirm:hover{background:var(--red);color:#fff}.ellipsis-menu button.ellipsis-menu-confirm svg{color:#fff}.sim-comparison{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.sim-comparison h3{font-size:14px;font-weight:600;margin-bottom:12px}.sim-table{width:100%;border-collapse:collapse;font-size:12px}.sim-table th{text-align:left;padding:6px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border)}.sim-table td{padding:8px 10px;border-bottom:1px solid var(--border-light)}.sim-table tr:last-child td{border-bottom:none}.sim-panel-wrap{animation:simPanelIn .4s cubic-bezier(.16,1,.3,1);position:relative;margin-bottom:12px}.sim-panel-wrap:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:12px;background:linear-gradient(135deg,#ed1c2426,#9b8ec426,#6dae8c26);opacity:0;animation:sparkleGlow 1.5s ease-out;pointer-events:none;z-index:-1}@keyframes simPanelIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sparkleGlow{0%{opacity:.8;filter:blur(4px)}50%{opacity:.4;filter:blur(8px)}to{opacity:0;filter:blur(12px)}}.sim-inline{flex:1;max-width:50%;animation:simPanelIn .3s ease-out}.sim-inline .demo-player{background:none;border:none;box-shadow:none;padding:0}.demo-player{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:12px 16px;box-shadow:var(--shadow-sm);position:relative}.demo-player.demo-player-stale{display:flex;align-items:center;gap:14px;padding:0 12px 0 18px;height:54px;background:linear-gradient(90deg,#fbf2de,#faefd2 55%,#fbf2de);border:1px solid rgba(212,169,90,.55);box-shadow:inset 4px 0 0 0 var(--viz-amber),0 1px 2px #d4a95a2e,var(--shadow-sm);animation:demoStaleIn .22s cubic-bezier(.22,.9,.3,1)}@keyframes demoStaleIn{0%{opacity:0;transform:translateY(-1px)}to{opacity:1;transform:translateY(0)}}.demo-player-stale-body{flex:1;min-width:0;display:inline-flex;align-items:center;gap:10px}.demo-player-stale-icon{color:var(--viz-amber);flex-shrink:0;animation:demoStalePulse 1.8s ease-in-out infinite}@keyframes demoStalePulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}.demo-player-stale-text{display:flex;align-items:baseline;gap:10px;min-width:0;line-height:1.3}.demo-player-stale-text strong{font-size:10.5px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:#8a6a1a;white-space:nowrap}.demo-player-stale-text span{font-size:12px;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.demo-player-stale-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 16px;border:1px solid #b7913f;background:var(--viz-amber);color:#fff;font-family:var(--font);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;border-radius:7px;cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px #8a6a1a59,0 4px 10px -2px #d4a95a73;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s}.demo-player-stale-btn:hover{background:#c7974d;border-color:#a88034;transform:translateY(-1px);box-shadow:0 2px 5px #8a6a1a66,0 6px 14px -2px #d4a95a80}.demo-player-stale-btn:active{transform:translateY(0)}.demo-player-stale-btn>svg{flex-shrink:0}@media(max-width:960px){.demo-player-stale-text span{display:none}}.demo-controls{display:flex;align-items:center;gap:16px}.demo-transport{display:flex;align-items:center;gap:6px}.demo-btn{border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.demo-btn-ghost{width:30px;height:30px;border-radius:50%;background:transparent;color:var(--text-muted);border:1px solid var(--border-light)}.demo-btn-ghost:hover{background:var(--surface-alt);color:var(--text);border-color:var(--border)}.demo-btn-primary{width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 2px 8px #ef444440;position:relative}.demo-btn-primary:hover{filter:brightness(1.08);transform:scale(1.04)}.demo-btn-primary.pause{background:var(--amber);box-shadow:0 2px 8px #f59e0b40}.demo-btn-primary.ai-busy{background:linear-gradient(135deg,#ed1c24a6,#9b8ec4f2,#6dae8cb3);box-shadow:0 2px 8px #9b8ec473,0 0 #9b8ec499;animation:demoBtnAiPulse 1.8s ease-in-out infinite}.demo-btn-primary.ai-busy:hover{filter:brightness(1.05);transform:none}@keyframes demoBtnAiPulse{0%,to{box-shadow:0 2px 8px #9b8ec473,0 0 #9b8ec499}50%{box-shadow:0 2px 12px #9b8ec48c,0 0 0 8px #9b8ec400}}.demo-btn-spin{animation:demoBtnSpin .9s linear infinite}@keyframes demoBtnSpin{to{transform:rotate(360deg)}}.demo-scrubber{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.demo-scrubber-top{position:relative;height:12px;pointer-events:none}.demo-scrubber-ship{position:absolute;top:0;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:.85;pointer-events:auto;cursor:help}.demo-scrubber-ship svg{display:block}.demo-progress{height:6px;background:var(--surface-alt);border-radius:3px;position:relative;cursor:pointer}.demo-progress-cruise{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,#4b7bbd24,#4b7bbd24 4px,#4b7bbd42 4px,#4b7bbd42 8px);border-radius:3px;border-left:1.5px solid rgba(75,123,189,.55);pointer-events:none}.demo-progress-bar{position:relative;height:100%;background:var(--red);border-radius:3px;transition:width .12s linear;pointer-events:none}.demo-progress-fire-mark{position:absolute;top:50%;width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);opacity:.5;pointer-events:none;z-index:1;filter:drop-shadow(0 0 1px rgba(0,0,0,.5))}.demo-progress-fire-mark.crit,.demo-progress-fire-mark.warn,.demo-progress-fire-mark.info{color:#fff}.demo-progress-thumb{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--blue);border:2px solid #fff;box-shadow:0 1px 3px #121a2840,0 0 0 1px #4b7bbd4d;transform:translate(-50%,-50%);cursor:grab;transition:left .12s linear,height .18s cubic-bezier(.2,.9,.3,1.2),border-radius .18s ease,box-shadow .18s ease,background .18s ease;z-index:2}.demo-progress-thumb:hover,.demo-progress-thumb.scrubbing{height:26px;border-radius:4px;background:#5a8acb;box-shadow:0 2px 8px #121a284d,0 0 0 3px #4b7bbd38}.demo-progress-thumb.scrubbing{background:#3e6fb1;cursor:grabbing;box-shadow:0 4px 12px #121a2852,0 0 0 3px #4b7bbd47}.demo-progress-thumb:hover:before,.demo-progress-thumb:hover:after,.demo-progress-thumb.scrubbing:before,.demo-progress-thumb.scrubbing:after{content:"";position:absolute;top:50%;width:1.5px;height:10px;background:#ffffffb3;border-radius:1px;transform:translateY(-50%);pointer-events:none}.demo-progress-thumb:hover:before,.demo-progress-thumb.scrubbing:before{left:3.5px}.demo-progress-thumb:hover:after,.demo-progress-thumb.scrubbing:after{right:3.5px}body.is-scrubbing,body.is-scrubbing *{user-select:none!important;-webkit-user-select:none!important;cursor:grabbing!important}.demo-scrubber-labels{display:flex;justify-content:space-between;font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);-webkit-user-select:none;user-select:none;pointer-events:none;margin-top:3px}.demo-day-display{display:flex;flex-direction:column;align-items:flex-end;min-width:102px;line-height:1}.demo-day-num{font-size:22px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.demo-day-unit{font-size:14px;font-weight:600;color:var(--text-secondary);margin-left:1px}.demo-day-label{font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-top:3px}.demo-day-date{font-size:10px;font-weight:700;color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-top:3px;white-space:nowrap}.demo-speed{display:flex;align-items:center;gap:0;background:var(--surface-alt);border-radius:999px;padding:2px;border:1px solid var(--border-light)}.demo-speed-btn{border:none;background:transparent;cursor:pointer;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums;transition:all .15s}.demo-speed-btn:hover{color:var(--text)}.demo-speed-btn.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.demo-events-section{margin-top:8px}.demo-events-drag{height:6px;cursor:ns-resize;display:flex;align-items:center;justify-content:center}.demo-events-drag:after{content:"";width:32px;height:3px;border-radius:2px;background:var(--border);transition:background .15s}.demo-events-drag:hover:after{background:var(--text-muted)}.demo-events-toggle{display:flex;align-items:center;gap:4px;border:none;background:none;cursor:pointer;font-family:var(--font);font-size:10px;color:var(--text-muted);padding:2px 0;margin-bottom:2px}.demo-events-toggle:hover{color:var(--text-secondary)}.demo-events{display:flex;flex-direction:column;gap:2px;overflow-y:auto}.demo-event{display:flex;align-items:center;gap:6px;font-size:11px;padding:2px 0;animation:demoEventSlideIn .22s cubic-bezier(.22,.9,.3,1) both;will-change:max-height,opacity}@keyframes demoEventSlideIn{0%{max-height:0;opacity:0;padding-top:0;padding-bottom:0;transform:translateY(-4px)}to{max-height:32px;opacity:1;transform:translateY(0)}}.demo-event-day{font-size:10px;font-weight:600;color:var(--text-muted);min-width:24px}.demo-event-msg{color:var(--text-secondary)}.demo-event-milestone .demo-event-msg{color:var(--blue);font-weight:600}.demo-event-surge .demo-event-msg{color:var(--amber);font-weight:600}.demo-event-alert .demo-event-msg{color:var(--red);font-weight:600}.funnel{margin-top:12px}.funnel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.funnel-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.funnel-capture{font-size:12px;font-weight:700;color:var(--green)}.funnel-steps{display:flex;flex-direction:column;gap:4px}.funnel-step{display:flex;align-items:center;gap:8px}.funnel-bar-wrap{flex:1;height:12px;background:var(--surface-alt);border-radius:6px;overflow:hidden}.funnel-bar{height:100%;border-radius:6px;transition:width .4s ease-out;opacity:.8}.funnel-label{display:flex;align-items:baseline;gap:4px;min-width:140px}.funnel-count{font-size:13px;font-weight:700;min-width:28px}.funnel-desc{font-size:10px;color:var(--text-muted)}.port-timeline{margin-bottom:16px;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:12px 16px;box-shadow:var(--shadow-sm)}.pt-legend{display:flex;gap:14px;align-items:center;margin-bottom:8px}.pt-legend-item{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;text-transform:capitalize}.pt-time-axis{position:relative;height:14px;margin-bottom:2px}.pt-hour{position:absolute;font-size:9px;color:var(--text-muted);transform:translate(-50%)}.pt-rows{display:flex;flex-direction:column;gap:3px}.pt-row{position:relative;height:28px}.pt-block{position:absolute;top:0;bottom:0;border-radius:5px;cursor:pointer;overflow:hidden;transition:all .15s;background:var(--surface)}.pt-block:hover{transform:scaleY(1.05);box-shadow:var(--shadow)}.pt-block.selected{border-width:2px}.pt-block.overflow{border-style:dashed}.pt-block-fill{position:absolute;top:0;left:0;bottom:0;border-radius:4px 0 0 4px;transition:width .5s ease-out;opacity:.85}.pt-block-content{position:relative;z-index:1;display:flex;align-items:center;gap:4px;padding:0 6px;height:100%}.pt-block-bus{display:flex;align-items:center;flex-shrink:0}.pt-block-name{font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.pt-block-occ{font-size:9px;font-weight:700;flex-shrink:0}.pt-block-content{color:var(--text)}.pt-block.filled .pt-block-content{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}.pt-collapse-btn{border:none;background:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:2px;border-radius:3px}.pt-collapse-btn:hover{background:var(--surface-alt);color:var(--text)}.pt-block-bus{display:flex;align-items:center;flex-shrink:0;color:#fffc}.pt-collapsed-summary{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--text-secondary);padding:4px 0}.pt-summary-sep{color:var(--text-muted)}.pt-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted);margin-top:4px}.mp-panel{margin-top:22px;font-variant-numeric:tabular-nums}.mp-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.mp-head-left{flex:1;min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mp-head-kicker{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:var(--text-muted);white-space:nowrap}.mp-pos-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:9px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;line-height:1.3}.mp-pos-chip-sep{opacity:.5;font-weight:600}.mp-pos-chip-pct{font-variant-numeric:tabular-nums}.mp-pos-chip.mp-pos-cheapest{background:#6dae8c24;color:var(--viz-green)}.mp-pos-chip.mp-pos-premium{background:#d4737324;color:var(--viz-red)}.mp-pos-chip.mp-pos-mid-range{background:#d4a95a26;color:var(--amber)}.mp-live-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:7px;font-size:8px;font-weight:800;letter-spacing:.7px;background:#7ba3cc24;color:var(--viz-blue);border:1px solid rgba(123,163,204,.35)}.mp-refresh{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-family:var(--font);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--viz-purple);background:#9b8ec414;border:1px solid rgba(155,142,196,.35);border-radius:9px;cursor:pointer;transition:all .15s}.mp-refresh:hover:not(:disabled){background:#9b8ec429;border-color:var(--viz-purple)}.mp-refresh:disabled{opacity:.5;cursor:not-allowed}.mp-spin{animation:mpSpin .9s linear infinite}@keyframes mpSpin{to{transform:rotate(360deg)}}.mp-tldr{position:relative;display:flex;gap:11px;padding:11px 12px 11px 0;margin-bottom:14px;border-radius:6px;transition:background .2s}.mp-tldr-rail{width:3px;flex-shrink:0;border-radius:2px;align-self:stretch;position:relative;overflow:hidden}.mp-tldr.mp-tldr-cheapest .mp-tldr-rail{background:var(--viz-green)}.mp-tldr.mp-tldr-premium .mp-tldr-rail{background:var(--viz-red)}.mp-tldr.mp-tldr-mid-range .mp-tldr-rail{background:var(--amber)}.mp-tldr-text{margin:0;flex:1;min-width:0;font-size:13.5px;font-weight:650;line-height:1.35;letter-spacing:-.01em;color:var(--text);font-feature-settings:"ss01","cv11"}.mp-tldr.is-loading{background:linear-gradient(90deg,transparent 0%,rgba(155,142,196,.1) 50%,transparent 100%);background-size:200% 100%;animation:mpHeroShimmer 2.4s ease-in-out infinite;padding-left:3px;padding-right:14px}@keyframes mpHeroShimmer{0%{background-position:180% 0}to{background-position:-80% 0}}.mp-tldr.is-loading .mp-tldr-rail{background:linear-gradient(180deg,rgba(155,142,196,.15) 0%,var(--viz-purple) 50%,rgba(155,142,196,.15) 100%);background-size:100% 250%;animation:mpRailScan 1.4s ease-in-out infinite}@keyframes mpRailScan{0%{background-position:0 -100%}to{background-position:0 150%}}.mp-tldr-phrase{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-weight:600;font-style:normal;animation:mpPhraseIn .42s cubic-bezier(.16,1,.3,1) both}@keyframes mpPhraseIn{0%{opacity:0;transform:translateY(6px);filter:blur(2px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:translateY(0)}}.mp-tldr-spark{flex-shrink:0;color:var(--viz-purple);animation:mpSparkPulse 1.4s ease-in-out infinite}@keyframes mpSparkPulse{0%,to{opacity:.55;transform:scale(.92) rotate(0)}50%{opacity:1;transform:scale(1.05) rotate(6deg)}}.mp-tldr-dots{display:inline-flex;gap:3px;margin-left:1px;padding-bottom:2px;align-self:flex-end}.mp-tldr-dots span{width:3px;height:3px;border-radius:50%;background:var(--viz-purple);opacity:.35;animation:mpDot 1.1s ease-in-out infinite}.mp-tldr-dots span:nth-child(2){animation-delay:.18s}.mp-tldr-dots span:nth-child(3){animation-delay:.36s}@keyframes mpDot{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}.mp-rows{display:flex;flex-direction:column;gap:10px}.mp-row{padding:9px 11px;border-radius:10px;border:1px solid var(--border-light);background:var(--surface);text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.mp-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.mp-row-name{font-size:11px;font-weight:700;letter-spacing:.1px;color:var(--text);text-transform:none}.mp-row-price{display:inline-flex;align-items:baseline;gap:7px;font-size:12.5px;font-weight:750;color:var(--text);font-variant-numeric:tabular-nums}.mp-row-delta{font-size:9px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted)}.mp-row-delta.is-up{color:var(--viz-red)}.mp-row-delta.is-down{color:var(--viz-green)}.mp-bar-track{position:relative;height:5px;background:var(--border-light);border-radius:3px;overflow:visible}.mp-bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:3px}.mp-bar-comp{background:var(--text-muted);opacity:.55}.mp-bar-you{background:var(--amber)}.mp-row-you.mp-pos-cheapest .mp-bar-you{background:var(--viz-green)}.mp-row-you.mp-pos-premium .mp-bar-you{background:var(--viz-red)}.mp-row-you.mp-pos-mid-range .mp-bar-you{background:var(--amber)}.mp-bar-avg-tick{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text);opacity:.55;transform:translate(-50%);border-radius:1px;pointer-events:none}.mp-row-foot{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:9px;color:var(--text-muted);font-weight:600;line-height:1.3}.mp-row-foot-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.mp-row-foot-sep{opacity:.45;flex-shrink:0}.mp-row-foot-value{font-variant-numeric:tabular-nums;flex-shrink:0}.mp-row-foot-domain{display:inline-flex;align-items:center;gap:3px;text-transform:lowercase}.mp-row-you{padding:11px 13px;border:1.5px solid var(--amber);background:linear-gradient(180deg,#c08b300f,#c08b3004)}.mp-row-you.mp-pos-cheapest{border-color:var(--viz-green);background:linear-gradient(180deg,#6dae8c14,#6dae8c05)}.mp-row-you.mp-pos-premium{border-color:var(--viz-red);background:linear-gradient(180deg,#d4737314,#d4737305)}.mp-row-you .mp-row-name{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:var(--text-muted)}.mp-row-you .mp-row-price{font-size:15px;font-weight:800}.mp-row-comp .mp-row-name{color:var(--text-secondary)}.mp-row-comp.mp-row-link{cursor:pointer}.mp-row-comp.mp-row-link:hover{border-color:var(--viz-purple);background:#9b8ec40a}.mp-row-comp.mp-row-link:hover .mp-row-foot-domain{color:var(--viz-purple)}.mp-axis{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding:0 4px;font-size:8.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-variant-numeric:tabular-nums}.mp-axis-avg{color:var(--text);letter-spacing:.6px}.mp-analysis-wrap{margin-top:13px;padding-top:11px;border-top:1px solid var(--border-light)}.mp-analysis-toggle{display:inline-flex;align-items:center;gap:5px;padding:3px 0;background:transparent;border:none;font-family:var(--font);font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);cursor:pointer;transition:color .15s}.mp-analysis-toggle:hover{color:var(--text)}.mp-analysis-chev{transition:transform .2s}.mp-analysis-toggle.is-open .mp-analysis-chev{transform:rotate(90deg)}.mp-analysis-text{margin:8px 0 0;font-size:11px;line-height:1.6;color:var(--text-secondary)}.mp-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:8px;border-top:1px solid var(--border-light)}.mp-foot-meta{font-size:8.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted)}.mp-foot-error{font-size:10px;color:var(--red)}.comparison-panel{position:fixed;bottom:0;left:260px;right:0;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 20px #00000014;z-index:50;padding:16px 24px;max-height:50vh;overflow-y:auto;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}}.comparison-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.comparison-header h3{font-size:14px;font-weight:600}.comparison-grid{display:grid;gap:20px}.comparison-col{padding:12px;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--surface)}.comparison-name{font-size:13px;font-weight:600;margin-bottom:8px}.comparison-stats{margin-top:10px}.comparison-row{display:flex;justify-content:space-between;font-size:11px;padding:3px 0;border-bottom:1px solid var(--border-light)}.comparison-row:last-child{border-bottom:none}.comparison-row span{color:var(--text-muted)}.comparison-row strong{font-weight:600}.bus-view-wrap{max-width:100%}.walking-tour-view{display:inline-block;padding:2px}.bus-single{position:relative;flex-shrink:0}.bus-remove-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;margin:2px auto 0;transition:all .15s}.bus-remove-btn:hover{background:var(--red-light);color:var(--red);border-color:var(--red)}.bus-add-btn{display:flex;align-items:center;justify-content:center;width:28px;min-height:60px;border-radius:var(--radius);border:1px dashed var(--border);background:none;color:var(--text-muted);cursor:pointer;transition:all .15s;align-self:stretch;flex-shrink:0}.bus-add-btn:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}.voyage-map{height:180px;margin-bottom:16px;border-radius:8px;overflow:hidden;border:1px solid var(--border-light)}.voyage-map .leaflet-container{background:var(--surface-alt)}.ai-wish{margin-bottom:16px}.ai-wish-header{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--viz-purple);margin-bottom:6px}.ai-wish-row{display:flex;gap:4px}.ai-wish-input{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:12px;outline:none}.ai-wish-input:focus{border-color:var(--viz-purple);box-shadow:0 0 0 2px #9b8ec426}.ai-wish-btn{padding:8px 12px;border:none;border-radius:var(--radius);background:var(--viz-purple);color:#fff;cursor:pointer;display:flex;align-items:center;transition:all .15s}.ai-wish-btn:hover{filter:brightness(1.1)}.ai-wish-btn:disabled{opacity:.5;cursor:not-allowed}.ai-wish-spin{animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes tip-slide-from-right{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes tip-slide-from-left{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}.tip-slide-from-right{animation:tip-slide-from-right .32s ease-out}.tip-slide-from-left{animation:tip-slide-from-left .32s ease-out}.ai-wish-examples-toggle{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:4px 0;font-family:var(--font)}.ai-wish-examples-toggle:hover{color:var(--text-secondary)}.ai-wish-examples{display:flex;flex-direction:column;gap:2px;margin-top:4px}.ai-wish-example{text-align:left;padding:5px 8px;border:1px solid var(--border-light);border-radius:4px;font-size:11px;font-family:var(--font);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .15s}.ai-wish-example:hover{background:var(--surface-alt);border-color:var(--viz-purple)}.ai-wish-reasoning{margin-top:8px;padding:10px;border-radius:var(--radius);background:#f5f0fa;font-size:12px;color:var(--text-secondary);line-height:1.5;border-left:3px solid var(--viz-purple)}.ai-wish-error{margin-top:6px;padding:8px;border-radius:var(--radius);background:var(--red-light);font-size:12px;color:var(--viz-red)}.settings-page{max-width:780px;margin:0 auto;padding:32px 24px;overflow-y:auto;height:100%}.settings-page h2{font-size:20px;font-weight:700;margin-bottom:24px}.s-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-sm);margin-bottom:16px}.s-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.s-card-header h3{font-size:14px;font-weight:600;color:var(--text);flex:1}.s-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px}.s-status.ok{background:var(--green-light);color:var(--green)}.s-status.err{background:var(--red-light);color:var(--red)}.s-group{display:flex;flex-direction:column}.s-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;gap:16px;border-bottom:1px solid var(--border-light)}.s-row:last-child{border-bottom:none}.s-label{min-width:180px;flex:1;display:flex;flex-direction:column;gap:4px}.s-label-text{font-size:13px;font-weight:500;color:var(--text-secondary)}.s-help{font-size:11px;font-weight:400;color:var(--text-muted);line-height:1.45;max-width:460px}.s-value{font-size:13px;color:var(--text);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0}.s-select{padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:12px;background:var(--surface);min-width:220px;cursor:pointer;outline:none}.s-select:focus{border-color:var(--red);box-shadow:0 0 0 3px #ed1c2414}.s-input{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:12px;background:var(--surface);flex:1;outline:none}.s-input:focus{border-color:var(--red);box-shadow:0 0 0 2px #ed1c2414}.s-inline-wrap{position:relative;display:inline-flex;align-items:center;min-width:160px;max-width:360px;border:1px solid transparent;border-radius:var(--radius);background:transparent;transition:all .12s}.s-row:hover .s-inline-wrap{border-color:var(--border-light);background:var(--surface)}.s-inline-wrap.focused,.s-inline-wrap.focused:hover{border-color:var(--red);background:var(--surface);box-shadow:0 0 0 3px #ed1c2414}.s-inline-wrap.empty{border-color:var(--border-light)}.s-inline-input{flex:1;min-width:0;padding:5px 10px;border:none;outline:none;background:transparent;font-family:var(--font);font-size:13px;color:var(--text);text-align:right}.s-inline-wrap.focused .s-inline-input{text-align:left}.s-inline-input::placeholder{color:var(--text-muted);font-style:italic}.s-inline-suffix{font-size:12px;color:var(--text-muted);font-weight:500;padding:0 10px 0 2px;-webkit-user-select:none;user-select:none}.s-inline-edit-hint{pointer-events:none;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:0 8px 0 4px;opacity:0;transition:opacity .12s}.s-row:hover .s-inline-edit-hint{opacity:.6}.s-inline-wrap.focused .s-inline-edit-hint{opacity:0}.s-toggle{display:inline-flex;align-items:center;cursor:pointer;padding:4px 6px}.s-toggle input{position:absolute;opacity:0;width:0;height:0}.s-toggle-track{width:34px;height:18px;border-radius:10px;background:var(--border);position:relative;transition:background .15s}.s-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0003}.s-toggle input:checked+.s-toggle-track{background:var(--red)}.s-toggle input:checked+.s-toggle-track .s-toggle-thumb{transform:translate(16px)}.s-toggle input:focus-visible+.s-toggle-track{box-shadow:0 0 0 3px #ed1c2426}.restore-btn{padding:3px;border:none;background:none;cursor:pointer;color:var(--text-muted);opacity:.45;transition:all .15s;display:inline-flex;align-items:center;border-radius:3px}.restore-btn:hover{opacity:1;color:var(--text);background:var(--surface-alt)}.s-btn{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:12px;font-weight:500;background:var(--surface);color:var(--text);cursor:pointer;transition:all .15s}.s-btn:hover{background:var(--surface-alt)}.s-btn:disabled{opacity:.5;cursor:not-allowed}.s-btn-sm{padding:3px 8px;border:1px solid var(--border);border-radius:4px;font-family:var(--font);font-size:10px;font-weight:600;background:var(--surface);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:3px;transition:all .15s}.s-btn-sm:hover{background:var(--surface-alt);color:var(--text)}.s-btn-sm.secondary{border-color:transparent;color:var(--text-muted)}.s-btn-sm.secondary:hover{color:var(--text-secondary)}.s-edit-row{display:flex;gap:6px;align-items:center;flex:1}.s-display-row{display:flex;gap:6px;align-items:center}.s-display-val{font-size:12px;font-family:SF Mono,Fira Code,monospace;color:var(--text)}.s-hint{font-size:11px;color:var(--text-muted)}.s-log{max-height:300px;overflow-y:auto;font-size:11px;font-family:SF Mono,Fira Code,monospace}.s-log-empty{color:var(--text-muted);font-style:italic;padding:12px 0;font-family:var(--font)}.s-log-entry{display:flex;gap:8px;padding:3px 0;border-bottom:1px solid var(--border-light)}.s-log-time{color:var(--text-muted);min-width:60px}.s-log-cat{font-weight:600;min-width:70px;color:var(--text-secondary)}.s-log-msg{color:var(--text);flex:1}.s-log-info .s-log-cat{color:var(--viz-blue)}.s-log-success .s-log-cat{color:var(--viz-green)}.s-log-warning .s-log-cat{color:var(--viz-amber)}.s-log-error .s-log-cat{color:var(--viz-red)}.s-rule-entry{flex-direction:column;gap:4px}.s-rule-diff{display:flex;flex-wrap:wrap;gap:4px 12px;padding:4px 0 2px;font-size:11px}.s-rule-diff-row{display:flex;gap:4px;align-items:center}.s-rule-key{color:var(--text-secondary);font-weight:600;min-width:80px}.s-rule-old{color:var(--viz-red);text-decoration:line-through}.s-rule-new{color:var(--viz-green);font-weight:600}.s-logout-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.s-logout-btn:hover{background:var(--red-light);color:var(--red);border-color:var(--red)}.voyage-selector-main{display:flex;align-items:center;gap:8px;position:relative}.voyage-selector-icon{color:var(--text-muted);flex-shrink:0}.voyage-selector-main select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:12px;font-weight:500;background:var(--surface)}.pt-block-occ-badge{font-size:9px;font-weight:700;flex-shrink:0;padding:1px 5px;border-radius:3px;display:inline-flex;align-items:center}.detail-panel.full{width:420px}.detail-panel-subtitle{display:flex;align-items:center;gap:6px;margin-top:4px}.detail-panel-port{font-size:11px;color:var(--text-muted)}.detail-pricing-reason{font-size:11px;color:var(--text-secondary);padding:6px 10px;background:var(--surface-alt);border-radius:var(--radius);margin-bottom:8px}.detail-bus-wrap{background:var(--surface-alt);border-radius:var(--radius);padding:10px 12px 8px;margin-bottom:10px}.detail-bus-caption{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin-bottom:6px}.detail-bus-caption .dbc-num{font-size:13px;font-weight:700;color:var(--text);letter-spacing:0;text-transform:none}.detail-bus-caption .dbc-unit{font-size:10px;font-weight:600;color:var(--text-secondary);margin-right:2px}.detail-bus-caption .dbc-sep{color:var(--border);font-weight:400}.detail-bus-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.detail-bus-scroll::-webkit-scrollbar{height:4px}.detail-bus-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.detail-bus-scroll .bus-view-wrap{overflow:visible!important}.detail-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:1px;background:var(--border-light);border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}.detail-stats-grid.loading{grid-template-columns:1fr}.dsg-cell{background:var(--surface);padding:7px 8px 8px;display:flex;flex-direction:column;gap:2px;min-width:0}.dsg-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsg-value{font-size:11px;font-weight:600;color:var(--text);display:flex;align-items:baseline;gap:1px}.dsg-value strong{font-size:16px;font-weight:700;line-height:1}.dsg-value .dsg-dim{color:var(--text-muted);font-size:11px}.dsg-value .dsg-unit{font-size:11px;color:var(--text-secondary)}.dsg-value.pos strong{color:var(--green)}.dsg-value.neg strong{color:var(--red)}.dsg-value.dim{color:var(--text-muted);font-style:italic;font-weight:500}.sidebar-curve{padding:10px 12px 12px;cursor:pointer;transition:opacity .15s}.sidebar-curve:hover{opacity:.85}.sidebar-curve-title{display:none}.right-section-curve .sidebar-curve{padding-top:6px}.sidebar-curve-context{font-size:10px;color:var(--text-secondary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-curve svg{display:block;width:100%}.sidebar-curve-overrides{display:flex;gap:4px;align-items:center;margin-top:4px;flex-wrap:wrap}.sidebar-curve-diff{font-size:9px;color:var(--text-muted);font-style:italic}.sidebar-curve.empty{padding:14px 14px 16px}.sidebar-curve-empty-body{display:flex;flex-direction:column;gap:6px;padding:16px 8px;text-align:center;color:var(--text-muted)}.sidebar-curve-empty-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary)}.sidebar-curve-empty-hint{font-size:10px;line-height:1.4;color:var(--text-muted)}.sidebar-curve-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:9px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.sidebar-curve-foot-date{color:var(--text-secondary);text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}.sidebar-curve-foot-legend{display:inline-flex;align-items:center;gap:4px}.sidebar-curve-foot-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 1.5px #ffffffe6,0 0 0 2.5px var(--blue)}.sidebar-curve-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:2px 2px 6px;padding-bottom:4px;border-bottom:1px dashed var(--border-light)}.sidebar-curve-head-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);margin:0 2px 3px;line-height:1}.sidebar-curve-price{font-size:18px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.sidebar-curve-head-meta{display:flex;align-items:baseline;gap:6px}.sidebar-curve-head-now{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--blue);background:#2e86ab1f;padding:1px 6px;border-radius:10px}.sidebar-curve-head-date{font-size:11px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.curve-editor{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:20px}.curve-editor h3{font-size:14px;font-weight:600;margin-bottom:12px}.curve-editor-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.curve-level-btn{padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:11px;font-weight:600;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.curve-level-btn:hover{background:var(--surface-alt)}.curve-level-btn.active{background:var(--red-soft);color:var(--red);border-color:var(--red)}.curve-level-step{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--surface-alt);color:var(--text-muted);font-size:9px;font-weight:700;font-variant-numeric:tabular-nums;transition:background .15s,color .15s}.curve-level-btn.active .curve-level-step{background:var(--red);color:#fff}.time-scope-panel{grid-column:1 / -1;border:1px solid var(--border);border-radius:8px;padding:10px 14px;background:var(--surface);display:flex;flex-direction:column;gap:8px}.time-scope-header{display:flex;align-items:center;gap:8px}.time-scope-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.time-scope-badge{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600}.time-scope-badge.always{background:#0000000d;color:var(--text-muted)}.time-scope-badge.limited{background:#4b7bbd1f;color:var(--blue, #4b7bbd)}.time-scope-hint{font-size:10px;color:var(--text-muted);font-style:italic}.time-scope-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:10px;padding:2px}.time-scope-clear:hover{color:var(--red)}.time-scope-body{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary);flex-wrap:wrap}.time-scope-input{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:11px;font-family:inherit}.time-scope-sep{margin-left:12px;color:var(--text-muted)}.time-scope-flag{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.time-scope-error{font-size:10px;color:var(--red);background:#ed1c240f;border:1px solid rgba(237,28,36,.25);border-radius:4px;padding:4px 8px}.time-scope-explain{font-size:10px;color:var(--text-muted);line-height:1.4}.time-scope-explain strong{color:var(--text-secondary)}.curve-svg-wrap{position:relative;overflow:visible}.curve-svg-wrap svg{display:block}.curve-control-point{cursor:ns-resize;transition:r .1s}.curve-control-point:hover{r:7}.curve-baseline{stroke-dasharray:4 3}.curve-modifier-row{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12px}.curve-modifier-row label{color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.curve-modifier-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-alt);border-radius:2px}.curve-modifier-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--red);cursor:pointer;border:2px solid #fff;box-shadow:var(--shadow)}.curve-modifier-value{font-weight:700;min-width:44px;text-align:right;color:var(--text)}.curve-save-row{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.curve-save-btn{padding:6px 16px;border:none;border-radius:var(--radius);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.curve-save-btn.primary{background:var(--red);color:#fff}.curve-save-btn.primary:hover{filter:brightness(1.1)}.curve-save-btn.secondary{background:var(--surface-alt);color:var(--text-secondary);border:1px solid var(--border)}.curve-save-btn.secondary:hover{background:var(--border)}.ai-assistant-card{background:var(--surface);border:1px solid rgba(155,142,196,.2);border-radius:var(--radius-lg);padding:16px 20px;box-shadow:var(--shadow-sm)}.ai-assistant-scope{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--viz-purple);background:#9b8ec41a;padding:1px 6px;border-radius:8px;margin-left:auto}.ai-assistant-hint-block{font-size:11px;color:var(--text-muted);line-height:1.45;margin-bottom:10px}.ai-assistant-input-row{display:flex;gap:6px;margin-bottom:6px}.ai-assistant-input{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:12px;outline:none;transition:all .15s}.ai-assistant-input:focus{border-color:var(--viz-purple);box-shadow:0 0 0 2px #9b8ec426}.ai-assistant-submit{padding:9px 14px;border:none;border-radius:var(--radius);background:var(--viz-purple);color:#fff;cursor:pointer;display:flex;align-items:center;transition:all .15s}.ai-assistant-submit:hover{filter:brightness(1.1)}.ai-assistant-submit:disabled{opacity:.5;cursor:not-allowed}.ai-assistant-examples-toggle{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:2px 0;font-family:var(--font)}.ai-assistant-examples-toggle:hover{color:var(--viz-purple)}.ai-assistant-examples{display:flex;flex-direction:column;gap:3px;margin-top:6px}.ai-assistant-example{text-align:left;padding:6px 10px;border:1px solid var(--border-light);border-radius:4px;font-size:11px;font-family:var(--font);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .15s}.ai-assistant-example:hover{background:#f5f0fa;border-color:var(--viz-purple);color:var(--text)}.ai-assistant-result{margin-top:10px;padding:12px;border-radius:var(--radius);background:#f5f0fa;border-left:3px solid var(--viz-purple);animation:guideIn .25s ease-out}.ai-assistant-result.error{background:var(--red-light);border-left-color:var(--red)}.ai-assistant-error{font-size:12px;color:var(--viz-red)}.ai-assistant-reasoning{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}.ai-assistant-meta{display:flex;gap:10px;align-items:center;margin-bottom:8px}.ai-assistant-actions{display:flex;gap:6px}.sim-chart-explainer{font-size:11px;color:var(--text-muted);margin:-6px 0 12px;line-height:1.4}.ai-suggestion{background:#f5f0fa;border:1px solid rgba(155,142,196,.25);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.ai-suggestion-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--viz-purple)}.ai-suggestion-body{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.ai-suggestion-impact{display:flex;gap:16px;margin-bottom:12px}.ai-suggestion-impact-item{font-size:11px;color:var(--text-muted)}.ai-suggestion-impact-item strong{font-weight:700;font-size:13px;display:block}.ai-suggestion-actions{display:flex;gap:6px}.ai-suggestion-btn{padding:5px 12px;border-radius:var(--radius);font-family:var(--font);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.ai-suggestion-btn.accept{background:var(--viz-purple);color:#fff;border:none}.ai-suggestion-btn.accept:hover{filter:brightness(1.1)}.ai-suggestion-btn.modify{background:var(--surface);color:var(--viz-purple);border:1px solid var(--viz-purple)}.ai-suggestion-btn.modify:hover{background:#f5f0fa}.ai-suggestion-btn.dismiss{background:none;color:var(--text-muted);border:1px solid var(--border)}.ai-suggestion-btn.dismiss:hover{background:var(--surface-alt)}.ai-confidence{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:auto}.ai-confidence.high{background:var(--green-light);color:var(--green)}.ai-confidence.medium{background:var(--amber-light);color:var(--amber)}.ai-confidence.low{background:var(--red-light);color:var(--red)}.bracket-editor{margin-top:12px}.bracket-editor-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:6px}.bracket-table{width:100%;border-collapse:collapse;font-size:12px}.bracket-table th{text-align:left;padding:4px 8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);border-bottom:1px solid var(--border)}.bracket-table td{padding:4px 8px;border-bottom:1px solid var(--border-light)}.bracket-table input[type=number]{width:60px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-family:var(--font);font-size:12px;text-align:right}.bracket-table input[type=number]:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 2px #ed1c2414}.override-indicator{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;background:#9b8ec41f;color:var(--viz-purple)}.trend-chart{margin-top:12px}.trend-chart-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:4px}.trend-chart svg{display:block;width:100%;border-radius:4px;background:var(--surface-alt)}.tour-table-wrap{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto;margin-bottom:20px;background-image:linear-gradient(to bottom,rgba(237,28,36,.015) 0%,transparent 8%),repeating-linear-gradient(to bottom,#0000,#0000 37px,#00000003 37px,#00000003 38px)}.tt-empty{padding:32px 20px;text-align:center;color:var(--text-muted);font-size:12px;font-style:italic}.tt-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font);font-variant-numeric:tabular-nums;color:var(--text)}.tt-table thead tr{background:linear-gradient(to bottom,var(--surface) 0%,var(--surface-alt) 100%);border-bottom:1.5px solid var(--border)}.tt-table thead th{padding:10px 10px 9px;text-align:left;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);white-space:nowrap;vertical-align:bottom;position:sticky;top:0;background:linear-gradient(to bottom,var(--surface) 0%,var(--surface-alt) 100%);z-index:1}.tt-mh-main{font-size:10px;font-weight:800;letter-spacing:.5px;color:var(--text)}.tt-mh-sub{font-size:8px;font-weight:600;color:var(--text-muted);margin-top:1px;text-transform:uppercase;letter-spacing:.4px}.tt-mh-now{color:var(--text);display:inline-flex;align-items:center;gap:4px}.tt-now-dot{width:6px;height:6px;border-radius:50%;background:var(--viz-green);box-shadow:0 0 0 2px #6dae8c38;animation:tt-now-pulse 2.4s ease-in-out infinite}@keyframes tt-now-pulse{0%,to{box-shadow:0 0 0 2px #6dae8c38}50%{box-shadow:0 0 0 4px #6dae8c14}}.tt-col-check{width:26px;text-align:center}.tt-col-tour{min-width:180px;max-width:260px}.tt-col-meta{width:80px}.tt-col-cap{width:84px;text-align:right}.tt-col-booked{width:100px;text-align:right}.tt-col-fill{width:56px;text-align:right}.tt-col-cost{width:60px;text-align:right}.tt-col-milestone{width:58px;text-align:right}.tt-col-now{width:78px;text-align:right;background:#6dae8c0d!important;border-left:1.5px solid rgba(109,174,140,.3);border-right:1.5px solid rgba(109,174,140,.3)}.tt-col-pnl{width:82px;text-align:right}.tt-col-traj{width:168px}.tt-row{border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .12s;position:relative}.tt-row:last-child{border-bottom:none}.tt-row:hover{background:#ed1c2406}.tt-row.selected{background:#ed1c240d;box-shadow:inset 3px 0 0 var(--red)}.tt-row.selected:hover{background:#ed1c2412}.tt-row.tt-row-ai{background:#9b8ec40f;box-shadow:inset 3px 0 0 0 var(--viz-purple)}.tt-row.tt-row-ai:hover{background:#9b8ec41f}.tt-row.tt-row-ai.selected{background:#ed1c240d;box-shadow:inset 3px 0 0 0 var(--red)}.tt-row.tt-row-ai.tt-row-ai-kept{background:#6dae8c0f;box-shadow:inset 3px 0 0 0 var(--viz-green)}.tt-row.tt-row-ai.tt-row-ai-kept:hover{background:#6dae8c1f}.tt-row.tt-row-ai.tt-row-ai-kept.selected{background:#ed1c240d;box-shadow:inset 3px 0 0 0 var(--red)}.tt-cell-now-inner{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%}.tt-cell-now-inner .tt-ai-badge{margin-right:auto}.tt-ai-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--viz-purple);cursor:pointer;vertical-align:-1px;transition:transform .15s,color .15s;animation:ttAiBadgePulse 1.4s ease-in-out infinite}.tt-ai-auto-mark{position:absolute;top:-1px;right:-2px;font-size:7.5px;line-height:1;font-weight:800;letter-spacing:0;color:inherit;pointer-events:none;text-shadow:0 0 2px var(--bg),0 0 2px var(--bg)}.tt-ai-badge:hover{transform:scale(1.2);color:#7a6ba8;animation-play-state:paused}@keyframes ttAiBadgePulse{0%,to{opacity:1;filter:drop-shadow(0 0 0 transparent)}50%{opacity:.45;filter:drop-shadow(0 0 3px rgba(155,142,196,.7))}}.tt-ai-badge.tt-ai-badge-resolved{color:var(--viz-green);animation:none;opacity:1;filter:drop-shadow(0 0 2px rgba(109,174,140,.45))}.tt-ai-badge.tt-ai-badge-resolved:hover{color:#5a9a78;transform:scale(1.2)}.tt-cell{padding:10px;vertical-align:middle;white-space:nowrap}.tt-num{text-align:right;font-variant-numeric:tabular-nums}.tt-dim{color:var(--text-muted);font-weight:500}.tt-dot{color:var(--border);margin:0 3px;font-weight:400}.tt-cell-check{text-align:center;padding-left:8px;padding-right:2px}.tt-cell-check input[type=checkbox]{width:13px;height:13px;cursor:pointer;accent-color:var(--red)}.tt-cell-tour{max-width:260px;overflow:hidden}.tt-tour-name{font-weight:700;font-size:12.5px;color:var(--text);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.tt-tour-sub{display:flex;align-items:center;gap:3px;margin-top:2px;font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:600}.tt-type-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px 2px 5px;border-radius:10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.tt-type-morning{background:#d4a95a1f;color:var(--viz-amber)}.tt-type-afternoon{background:#7ba3cc1f;color:var(--viz-blue)}.tt-type-fullday{background:#9b8ec41f;color:var(--viz-purple)}.tt-cap-val{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-weight:600;font-size:11px}.tt-cap-val strong{color:var(--text);font-weight:800;font-size:13px}.tt-cap-unit{color:var(--text-muted);font-weight:500;font-size:10px}.tt-booked-val{display:flex;align-items:baseline;justify-content:flex-end;gap:1px;font-size:12px}.tt-booked-val strong{font-weight:800;font-size:13px;color:var(--text)}.tt-booked-bar{height:3px;background:var(--surface-alt);border-radius:2px;overflow:hidden;margin-top:4px}.tt-booked-bar-fill{height:100%;border-radius:2px;transition:width .15s linear}.tt-booked-bar-fill.high{background:var(--viz-green)}.tt-booked-bar-fill.mid{background:var(--viz-amber)}.tt-booked-bar-fill.low{background:var(--viz-red)}.tt-booked-bar-fill.empty{background:var(--border)}.tt-cell-fill strong{font-weight:800;font-size:13px}.tt-cell-fill.tt-fill-high strong{color:var(--viz-green)}.tt-cell-fill.tt-fill-mid strong{color:var(--viz-amber)}.tt-cell-fill.tt-fill-low strong{color:var(--viz-red)}.tt-cell-fill.tt-fill-empty strong{color:var(--text-muted)}.tt-cell-cost strong{font-weight:700;color:var(--text-secondary)}.tt-cell-cost .tt-dim{font-size:10px;margin-right:1px}.tt-cell-milestone{background:#00000003;border-left:1px dashed var(--border-light);position:relative}.tt-cell-milestone .tt-ms-price{font-size:12px;font-weight:700;margin-right:2px}.tt-ms-arrow{display:inline-block;vertical-align:-1px}.tt-ms-unchanged .tt-ms-price{color:var(--text-muted);font-weight:500;opacity:.7}.tt-ms-up .tt-ms-price{color:var(--viz-green);font-weight:800}.tt-ms-up .tt-ms-arrow.up{color:var(--viz-green)}.tt-ms-down .tt-ms-price{color:var(--viz-red);font-weight:800}.tt-ms-down .tt-ms-arrow.down{color:var(--viz-red)}.tt-ms-flat .tt-ms-price,.tt-ms-flat .tt-ms-arrow.flat,.tt-ms-missing{color:var(--text-muted)}.tt-cell-now{background:#ed1c240b;border-left:1.5px solid rgba(237,28,36,.25);border-right:1.5px solid rgba(237,28,36,.25);position:relative}.tt-now-price{font-size:16px;font-weight:900;color:var(--red);letter-spacing:-.3px;font-variant-numeric:tabular-nums}.tt-cell-pnl strong{font-size:12.5px;font-weight:800;letter-spacing:-.2px}.tt-cell-pnl.pos strong{color:var(--viz-green)}.tt-cell-pnl.neg strong{color:var(--viz-red)}.tt-cell-traj{padding:8px 10px}.tt-strip{display:block;background:#00000005;border-radius:4px;border:1px solid var(--border-light)}@media(max-width:1400px){.tt-col-tour{min-width:160px}.tt-table thead th{padding:8px 8px 7px}.tt-cell{padding:8px}}.tt-colhelp{animation:ttColhelpIn .18s cubic-bezier(.2,.9,.3,1.2)}@keyframes ttColhelpIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tt-colhelp-inner{background:#1d2433;color:#f5f6f8;border:1px solid #2e3a4f;border-radius:var(--radius-lg);padding:14px 16px 15px;box-shadow:0 20px 56px #121a286b,0 4px 10px #121a2838;font-family:var(--font);line-height:1.55}.tt-colhelp-title{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#f5f6f8;margin-bottom:7px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.08)}.tt-colhelp-body{font-size:12px;font-weight:500;color:#f5f6f8db}.tt-colhelp-arrow-top{position:absolute;top:-5px;width:10px;height:10px;background:#1d2433;border-left:1px solid #2e3a4f;border-top:1px solid #2e3a4f;transform:rotate(45deg) translate(-50%);transform-origin:top left}.ai-switch-wrap{display:inline-flex;align-items:center;gap:8px;padding:0 6px 0 14px;border-left:1px solid var(--border);border-right:1px solid var(--border);margin:0 4px;height:30px}.ai-switch-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);padding-right:2px;white-space:nowrap}.ai-switch{display:inline-flex;align-items:stretch;height:22px;background:var(--surface-alt);border-radius:11px;padding:2px;gap:1px;box-shadow:inset 0 1px 2px #0000000a}.ai-switch-seg-wrap{position:relative;display:inline-flex;align-items:stretch;border-radius:9px;transition:background .2s,box-shadow .2s}.ai-switch-seg{border:none;background:transparent;padding:0 18px;font-family:var(--font);font-size:9.5px;font-weight:700;letter-spacing:.5px;color:var(--text-muted);border-radius:9px;cursor:pointer;transition:color .15s,background .2s,box-shadow .2s,filter .2s;display:inline-flex;align-items:center;justify-content:center;min-width:0}.ai-switch-seg:hover:not(:disabled):not(.active){color:var(--text)}.ai-switch-seg:disabled{cursor:not-allowed}.ai-switch-seg-gear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);opacity:0;cursor:pointer;border-radius:50%;padding:0;transition:opacity .15s,background .15s,color .15s;pointer-events:none}.ai-switch-seg-gear svg{display:block}.ai-switch-seg-wrap:hover .ai-switch-seg-gear{opacity:.7;pointer-events:auto}.ai-switch-seg-wrap:hover .ai-switch-seg-gear:hover{opacity:1}.ai-switch-seg-wrap.active .ai-switch-seg-gear{color:var(--text-secondary)}.ai-switch-seg-wrap.active:hover .ai-switch-seg-gear:hover{color:var(--text);background:#00000014}.ai-switch.ai-switch-auto .ai-switch-seg-wrap.active .ai-switch-seg-gear{color:#ffffffd9}.ai-switch.ai-switch-auto .ai-switch-seg-wrap.active:hover .ai-switch-seg-gear:hover{color:#fff;background:#ffffff38}.ai-switch.ai-switch-ai .ai-switch-seg-wrap.active .ai-switch-seg-gear{color:#ffffffd9}.ai-switch.ai-switch-ai .ai-switch-seg-wrap.active:hover .ai-switch-seg-gear:hover{color:#fff;background:#ffffff38}.ai-switch-seg-wrap:not(.active):hover .ai-switch-seg-gear:hover{color:var(--text);background:var(--surface)}.ai-switch-seg.active{color:var(--text);background:var(--surface);box-shadow:0 1px 2px #00000014,0 0 0 1px var(--border-light)}.ai-switch.ai-switch-auto .ai-switch-seg.active{background:var(--viz-green);color:#fff;box-shadow:0 1px 2px #6dae8c66,0 0 10px -1px #6dae8c8c,inset 0 -1px #00000014;text-shadow:0 1px 0 rgba(0,0,0,.1)}.ai-switch.ai-switch-ai .ai-switch-seg.active{background:linear-gradient(135deg,#ed1c24,#9b8ec4,#6dae8c);color:#fff;background-size:200% 200%;animation:aiSwitchShimmer 4s ease-in-out infinite;box-shadow:0 1px 2px #9b8ec466,0 0 12px -1px #9b8ec48c}@keyframes aiSwitchShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.ai-switch-seg-ai{background:linear-gradient(135deg,#ed1c241f,#9b8ec41f,#6dae8c1f);color:var(--text-muted);cursor:pointer}.ai-switch-seg-ai:hover{color:var(--text)}.ai-switch-seg-wrap-nokey .ai-switch-seg-ai{opacity:.68}@media(max-width:1280px){.ai-switch-label{display:none}.ai-switch-seg{padding:0 14px}}.ai-key-prompt-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#121a2885;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:520;animation:modalBackdropIn .15s ease-out}.ai-key-prompt{position:relative;background:var(--surface);border-radius:16px;padding:26px 26px 20px;width:calc(100vw - 48px);max-width:420px;box-shadow:0 24px 60px #121a2852,0 2px 8px #00000014;text-align:center;animation:modalPanelIn .2s cubic-bezier(.2,.9,.3,1.2)}.ai-key-prompt-icon{width:48px;height:48px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ed1c242e,#9b8ec43d,#6dae8c2e);color:var(--viz-purple)}.ai-key-prompt-title{margin:0 0 8px;font-size:16px;font-weight:800;letter-spacing:-.01em;color:var(--text)}.ai-key-prompt-body{margin:0 0 20px;font-size:12.5px;line-height:1.55;color:var(--text-secondary)}.ai-key-prompt-actions{display:flex;gap:10px;justify-content:center}.ai-key-prompt-cancel,.ai-key-prompt-go{font-family:var(--font);font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:9px 16px;border-radius:10px;cursor:pointer;transition:all .15s}.ai-key-prompt-cancel{border:1px solid var(--border-light);background:transparent;color:var(--text-muted)}.ai-key-prompt-cancel:hover{background:var(--border-light);color:var(--text)}.ai-key-prompt-go{border:1px solid var(--viz-purple);background:var(--viz-purple);color:#fff;box-shadow:0 3px 10px #9b8ec459}.ai-key-prompt-go:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 5px 14px #9b8ec473}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#121a2873;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:500;animation:modalBackdropIn .15s ease-out}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 24px 72px #121a2859,0 2px 8px #00000014;max-width:640px;width:calc(100vw - 48px);max-height:calc(100vh - 64px);overflow:auto;animation:modalPanelIn .2s cubic-bezier(.2,.9,.3,1.2)}@keyframes modalPanelIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 14px;border-bottom:1px solid var(--border-light)}.modal-head h2{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.2px}.modal-head .modal-sub{font-size:11.5px;color:var(--text-secondary);margin-top:3px}.modal-head .modal-sub strong{color:var(--text);font-weight:700}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid transparent;background:transparent;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.modal-close:hover{background:var(--surface-alt);color:var(--text)}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 22px 18px;border-top:1px solid var(--border-light)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.btn:hover{background:var(--surface-alt)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--surface-alt);color:var(--text)}.btn-primary{background:var(--viz-green);border-color:var(--viz-green);color:#fff;box-shadow:0 1px 2px #6dae8c4d}.btn-primary:hover{filter:brightness(1.06);background:var(--viz-green)}.ap-config{max-width:960px}.ap-config-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ap-config-title-row h2{margin:0}.ap-config-mode-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:10px;background:#9b8ec41f;color:var(--viz-purple);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;cursor:help;border:1px solid rgba(155,142,196,.25);transition:background .15s,border-color .15s}.ap-config-mode-tag:hover{background:#9b8ec433;border-color:#9b8ec473}.ap-config-horizon-hint{padding:10px 22px 12px;font-size:11px;color:var(--text-secondary);line-height:1.5;border-bottom:1px solid var(--border-light);background:#9b8ec40f}.ap-config-horizon-hint strong{color:var(--text);font-weight:700}.ap-config-pause-row{display:flex;align-items:flex-start;gap:12px;padding:14px 22px;border-bottom:1px solid var(--border-light);background:var(--surface);cursor:pointer}.ap-config-pause-row:hover{background:var(--surface-alt)}.ap-config-pause-row>input[type=checkbox]{margin-top:2px;width:15px;height:15px;accent-color:var(--viz-green);cursor:pointer;flex-shrink:0}.ap-config-pause-body{flex:1;min-width:0}.ap-config-pause-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:2px}.ap-config-pause-sub{font-size:10.5px;line-height:1.5;color:var(--text-muted)}.ap-config-pause-sub strong{color:var(--viz-purple);font-weight:700}.ap-config-table{width:100%;border-collapse:collapse;font-family:var(--font);font-size:12px}.ap-config-table thead th{text-align:left;padding:12px 16px 10px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);border-bottom:1px solid var(--border-light);background:var(--surface-alt)}.ap-config-col-modifier{width:100px}.ap-config-col-fire-after{width:360px}.ap-config-col-cooldown{width:80px}.ap-config-col-enabled{width:60px;text-align:center}.ap-config-table tbody tr{border-bottom:1px solid var(--border-light)}.ap-config-table tbody tr:last-child{border-bottom:none}.ap-config-table tbody td{padding:14px 16px;vertical-align:middle}.ap-config-table tbody tr.ap-disabled td{opacity:.45}.ap-trigger{display:flex;align-items:flex-start;gap:10px}.ap-trigger-label{font-size:12px;font-weight:700;color:var(--text)}.ap-trigger-kicker{font-size:10.5px;color:var(--text-secondary);margin-top:1px}.ap-sev-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-top:5px;flex-shrink:0;box-shadow:0 0 0 2px #ffffffe6}.ap-sev-critical{background:var(--viz-red)}.ap-sev-warning{background:var(--viz-amber)}.ap-sev-info{background:var(--viz-blue)}.ap-input-pct,.ap-input-days{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.ap-input-pct input,.ap-input-days input{width:44px;border:none;background:transparent;font-family:var(--font);font-size:12px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums;color:var(--text);outline:none}.ap-input-pct span,.ap-input-days span{font-size:10.5px;color:var(--text-muted);font-weight:600}.ap-input-pct input:disabled,.ap-input-days input:disabled{cursor:not-allowed}.ap-fire-after{display:flex;flex-direction:column;gap:4px;min-width:0}.ap-fire-after-row{display:flex;align-items:center;gap:8px}.ap-fire-after-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:var(--border-light);border-radius:2px;outline:none;cursor:pointer}.ap-fire-after-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--viz-purple);border:2px solid #fff;box-shadow:0 1px 3px #121a2840,0 0 0 1px #9b8ec44d;cursor:grab;transition:transform .15s}.ap-fire-after-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.ap-fire-after-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--viz-purple);border:2px solid #fff;box-shadow:0 1px 3px #121a2840,0 0 0 1px #9b8ec44d;cursor:grab}.ap-fire-after-slider:disabled{cursor:not-allowed;opacity:.5}.ap-fire-after-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.ap-fire-after-pct{font-size:11px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.ap-fire-after-caption{font-size:10px;color:var(--viz-purple);font-weight:600;font-variant-numeric:tabular-nums}.ap-fire-after-caption-dim{color:var(--text-muted);font-weight:500}.ap-disabled .ap-fire-after-caption{color:var(--text-muted)}.ai-prompts-config{max-width:820px}.ap-config-mode-tag.ai-mode-tag{background:linear-gradient(135deg,#ed1c2424,#9b8ec42e,#6dae8c24);border-color:#9b8ec466;color:var(--viz-purple)}.ai-prompts-config .modal-sub code{background:var(--surface-alt);border:1px solid var(--border-light);border-radius:3px;padding:0 5px;font-size:10px;color:var(--viz-purple);font-family:ui-monospace,SF Mono,Menlo,monospace;margin:0 1px}.ai-prompt-vars{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);background:linear-gradient(180deg,#9b8ec40a,#9b8ec403)}.ai-prompt-vars>summary{display:flex;align-items:center;gap:8px;padding:10px 22px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.ai-prompt-vars>summary::-webkit-details-marker{display:none}.ai-prompt-vars>summary:before{content:"▸";font-size:9px;color:var(--viz-purple);transition:transform .15s;display:inline-block;width:10px}.ai-prompt-vars[open]>summary:before{transform:rotate(90deg)}.ai-prompt-vars-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:1px 6px;font-size:9px;font-weight:800;background:#9b8ec424;color:var(--viz-purple);border-radius:8px}.ai-prompt-vars-body{padding:4px 22px 14px;display:flex;flex-direction:column;gap:10px}.ai-prompt-vars-group{display:flex;align-items:flex-start;gap:10px}.ai-prompt-vars-group-label{flex:0 0 100px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding-top:4px}.ai-prompt-vars-chips{flex:1;display:flex;flex-wrap:wrap;gap:4px}.ai-prompt-var-chip{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid var(--border-light);border-radius:3px;background:var(--surface);cursor:pointer;transition:all .12s}.ai-prompt-var-chip:hover{border-color:#9b8ec480;background:#9b8ec414}.ai-prompt-var-chip code{background:none;border:none;padding:0;font-size:10px;color:var(--viz-purple);font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600}.ai-prompts-list{display:flex;flex-direction:column;gap:14px;padding:14px 22px 4px;max-height:50vh;overflow-y:auto}.ai-prompt-row{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;background:var(--surface-alt);border:1px solid var(--border-light);border-radius:var(--radius)}.ai-prompt-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-prompt-reset-one{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);font-family:var(--font);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;transition:all .15s}.ai-prompt-reset-one:hover:not(:disabled){color:var(--viz-purple);border-color:#9b8ec466;background:#9b8ec414}.ai-prompt-reset-one:disabled{opacity:.4;cursor:not-allowed}.ai-prompt-textarea{width:100%;min-height:140px;resize:vertical;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;line-height:1.55;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.ai-prompt-textarea:focus{border-color:var(--viz-purple);box-shadow:0 0 0 3px #9b8ec426}.ai-prompt-gates{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(140px,.85fr);gap:14px;margin-top:10px;padding:12px 14px;background:var(--surface-alt);border:1px solid var(--border-light);border-radius:8px}.ai-prompt-gate{display:flex;flex-direction:column;gap:6px;min-width:0}.ai-prompt-gate-label{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary)}.ai-prompt-gate-help{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;background:var(--surface);border:1px solid var(--border);font-size:9px;font-weight:700;color:var(--text-muted);cursor:help}.ai-prompt-gate-control{display:flex;align-items:center;gap:8px}.ai-prompt-gate-input{width:56px;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-family:var(--font);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;outline:none;transition:border-color .15s,box-shadow .15s}.ai-prompt-gate-input:focus{border-color:var(--viz-purple);box-shadow:0 0 0 3px #9b8ec426}.ai-prompt-gate-unit{font-size:11px;font-weight:700;color:var(--text-muted)}.ap-toggle{position:relative;width:34px;height:18px;border-radius:9px;border:none;background:var(--surface-alt);cursor:pointer;padding:0;transition:background .2s;box-shadow:inset 0 1px 2px #0000000f}.ap-toggle.on{background:var(--viz-green)}.ap-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:left .2s cubic-bezier(.3,.8,.4,1)}.ap-toggle.on .ap-toggle-thumb{left:18px}.ai-lightbox-backdrop{background:radial-gradient(ellipse at center,#121a288c 40%,#121a28b8)}.ai-lightbox{max-width:760px;width:calc(100vw - 48px);overflow:hidden;border-radius:12px;background:var(--surface);border:1px solid var(--border-light);box-shadow:0 28px 72px #121a2861,0 4px 10px #121a2833;animation:aiLbIn .3s cubic-bezier(.18,.9,.28,1.12);position:relative}@keyframes aiLbIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-lb-top{display:flex;align-items:center;justify-content:space-between;padding:16px 22px 0}.ai-lb-kicker-row{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:var(--text-secondary);min-width:0}.ai-lb-zap{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#ed1c2426,#9b8ec438,#6dae8c2e);color:#5b4d87;flex-shrink:0}.ai-lb-kicker-row .ap-sev-dot{margin-top:0;flex-shrink:0}.ai-lb-kicker-main{color:var(--text);font-weight:900;letter-spacing:.7px}.ai-lb-kicker-sep{color:var(--border);font-weight:400}.ai-lb-kicker-sub{color:var(--text-muted)}.ai-lb-tag{margin-left:6px;padding:2px 7px;border-radius:10px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.ai-lb-tag-reverted{color:var(--viz-amber);background:#d4a95a29}.ai-lb-tag-promoted{color:var(--viz-green);background:#6dae8c2e}.ai-lb-tag-ai{display:inline-flex;align-items:center;gap:3px;color:var(--viz-purple);background:linear-gradient(135deg,#ed1c241a,#9b8ec42e,#6dae8c1a);box-shadow:0 0 0 1px #9b8ec459 inset}.ai-lb-tag-queue{color:var(--viz-amber);background:#d4a95a24;box-shadow:0 0 0 1px #d4a95a59 inset;animation:aiLbQueuePulse 2.4s ease-in-out infinite}@keyframes aiLbQueuePulse{0%,to{box-shadow:0 0 0 1px #d4a95a59 inset,0 0 #d4a95a00}50%{box-shadow:0 0 0 1px #d4a95a8c inset,0 0 0 3px #d4a95a29}}.ai-lb-close{margin-top:-2px}.ai-lb-title{padding:12px 22px 18px;border-bottom:1px solid var(--border-light)}.ai-lb-title h2{font-size:22px;font-weight:800;letter-spacing:-.3px;line-height:1.2;color:var(--text);margin:0}.ai-lb-fired{margin-top:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.ai-lb-fired strong{color:var(--text-secondary);font-weight:800;font-variant-numeric:tabular-nums}.ai-lb-fired-sep{color:var(--border);margin:0 6px;font-weight:400}.ai-lb-prices{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:16px;padding:22px 22px 20px;background:radial-gradient(ellipse at 50% 0%,rgba(155,142,196,.06) 0%,transparent 60%),var(--surface);border-bottom:1px solid var(--border-light)}.ai-lb-price{padding:16px 18px 14px;background:var(--surface);border:1px solid var(--border-light);border-radius:10px;text-align:center;box-shadow:0 1px 2px #121a280a;opacity:0;animation:aiLbCardIn .4s cubic-bezier(.2,.9,.3,1.05) forwards}@keyframes aiLbCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-lb-price-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:var(--text-muted);margin-bottom:6px}.ai-lb-price-value{font-size:32px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.6px}.ai-lb-price-before .ai-lb-price-value{color:var(--text-secondary)}.ai-lb-price-after{position:relative;border-color:#9b8ec473;box-shadow:0 1px 2px #9b8ec424,0 0 0 1px #9b8ec41a;background:var(--surface)}.ai-lb-price-after:before{content:"";position:absolute;top:0;left:14px;right:14px;height:2px;border-radius:2px;background:linear-gradient(90deg,#ed1c248c,#9b8ec4d9,#6dae8c99)}.ai-lb-price-after .ai-lb-price-label{color:var(--viz-purple)}.ai-lb-price-after .ai-lb-price-value{color:var(--text)}.ai-lb-arrow-wrap{display:flex;align-items:center;justify-content:center;opacity:0;animation:aiLbArrowIn .45s cubic-bezier(.2,.9,.3,1.05) forwards}@keyframes aiLbArrowIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.ai-lb-arrow{color:var(--viz-purple);flex-shrink:0}.ai-lb-delta-pill{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:4px 9px;border-radius:999px;font-size:10.5px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.3px;border:1px solid transparent}.ai-lb-delta-pill.up{color:var(--viz-green);background:#6dae8c1f;border-color:#6dae8c47}.ai-lb-delta-pill.down{color:var(--viz-red);background:#d473731a;border-color:#d4737342}.ai-lb-delta-sep{color:inherit;opacity:.5;font-weight:400}.ai-lb-reason{padding:16px 22px 16px 24px;font-size:12.5px;line-height:1.6;color:var(--text-secondary);background:var(--surface);border-left:2px solid rgba(155,142,196,.35);margin:18px 22px 0;border-radius:0 6px 6px 0;font-style:italic;opacity:0;animation:aiLbFadeIn .4s ease-out forwards}.ai-lb-reason strong{color:var(--text);font-weight:700;font-style:normal}.ai-lb-reason-attrib{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:3px 8px;border-radius:8px;font-size:9.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--viz-purple);background:#9b8ec41a;font-style:normal}.ai-lb-reason-attrib span{opacity:.85}@keyframes aiLbFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-lb-status{display:flex;align-items:center;gap:10px;margin:14px 22px 0;padding:10px 12px 10px 14px;border-radius:8px;background:#6dae8c14;border:1px solid rgba(109,174,140,.22);font-size:11.5px;font-weight:500;color:var(--text-secondary);letter-spacing:.1px;opacity:0;animation:aiLbFadeIn .4s ease-out forwards}.ai-lb-status.ai-lb-status-paused{background:#d4a95a1a;border-color:#d4a95a4d}.ai-lb-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--viz-green);box-shadow:0 0 0 3px #6dae8c2e;flex-shrink:0}.ai-lb-status-paused .ai-lb-status-dot{background:var(--viz-amber);box-shadow:0 0 0 3px #d4a95a38;animation:aiLbStatusPulse 1.8s ease-in-out infinite}@keyframes aiLbStatusPulse{0%,to{box-shadow:0 0 0 3px #d4a95a2e}50%{box-shadow:0 0 0 6px #d4a95a0a}}.ai-lb-status-copy{flex:1;min-width:0;line-height:1.5}.ai-lb-status-copy strong{color:var(--text);font-weight:700}.ai-lb-status-resume{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border:1px solid rgba(155,142,196,.45);background:#9b8ec41a;color:var(--viz-purple);font-family:var(--font);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;border-radius:999px;cursor:pointer;transition:all .15s;white-space:nowrap}.ai-lb-status-resume:hover{background:#9b8ec433;border-color:var(--viz-purple)}.ai-lb-status-resume svg{flex-shrink:0}.ai-lb-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px 16px;margin-top:16px;border-top:1px solid var(--border-light);background:var(--surface-alt);opacity:0;animation:aiLbFadeIn .4s ease-out forwards}.ai-lb-stay{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.ai-lb-stay input[type=checkbox]{width:14px;height:14px;accent-color:var(--viz-purple);cursor:pointer}.ai-lb-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.ai-lb-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.2px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s}.ai-lb-btn:hover{background:var(--surface-alt)}.ai-lb-btn:active{transform:translateY(1px)}.ai-lb-btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary);padding:0 11px}.ai-lb-btn-ghost:hover{background:var(--surface);border-color:var(--border-light);color:var(--text)}.ai-lb-btn-primary{background:var(--viz-green);border-color:var(--viz-green);color:#fff;box-shadow:0 1px 2px #6dae8c59,0 2px 8px -1px #6dae8c59;padding:0 16px}.ai-lb-btn-primary:hover{background:#7cbd9a;border-color:#7cbd9a}.ai-lb-btn-batch{background:var(--viz-amber);border-color:var(--viz-amber);color:#2b2010;box-shadow:0 1px 2px #d4a95a59,0 2px 8px -1px #d4a95a59}.ai-lb-btn-batch:hover{background:#e3b86b;border-color:#e3b86b}.ai-pending-lightbox{max-width:580px}.ai-pending-rows{display:flex;flex-direction:column;gap:8px;padding:16px 22px 6px}.ai-pending-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;background:var(--surface-alt);border:1px solid var(--border-light);position:relative;overflow:hidden;opacity:0;animation:aiPendingRowIn .35s cubic-bezier(.18,.9,.28,1.12) forwards}@keyframes aiPendingRowIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.ai-pending-row:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(155,142,196,.18) 50%,transparent 80%);background-size:220% 100%;background-position:200% 0;animation:aiPendingShimmer 2.4s ease-in-out infinite;pointer-events:none}@keyframes aiPendingShimmer{to{background-position:-120% 0}}.ai-pending-row-body{flex:1;min-width:0}.ai-pending-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ai-pending-row-name{font-size:13px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-pending-row-price{font-variant-numeric:tabular-nums;font-size:14px;font-weight:800;color:var(--text);flex-shrink:0}.ai-pending-row-sub{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.ai-pending-row-zap{color:var(--viz-purple);flex-shrink:0}.ai-pending-row-dot{color:var(--border);font-weight:400}.ai-pending-row-overflow{justify-content:center;background:transparent;border-style:dashed}.ai-pending-row-overflow:after{display:none}.ai-pending-row-overflow .ai-pending-row-name{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px}.ai-pending-status{position:relative;margin:14px 22px 4px;padding:14px 16px;border-radius:9px;background:linear-gradient(135deg,#ed1c240d,#9b8ec41a,#6dae8c0d);border:1px solid rgba(155,142,196,.22);overflow:hidden}.ai-pending-status-rail{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent,var(--viz-purple),transparent);background-size:100% 200%;animation:aiPendingRail 2.2s ease-in-out infinite}@keyframes aiPendingRail{0%{background-position:0 -100%}to{background-position:0 200%}}.ai-pending-phrase{margin:0;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--text);animation:aiPendingPhraseIn .4s cubic-bezier(.16,1,.3,1)}@keyframes aiPendingPhraseIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-pending-spark{color:var(--viz-purple);flex-shrink:0;animation:aiPendingSpark 1.6s ease-in-out infinite}@keyframes aiPendingSpark{0%,to{transform:rotate(-6deg) scale(1);opacity:.85}50%{transform:rotate(6deg) scale(1.12);opacity:1}}.ai-pending-dots{display:inline-flex;gap:3px;margin-left:2px}.ai-pending-dots span{width:4px;height:4px;border-radius:50%;background:var(--viz-purple);opacity:.35;animation:aiPendingDot 1.2s ease-in-out infinite}.ai-pending-dots span:nth-child(2){animation-delay:.15s}.ai-pending-dots span:nth-child(3){animation-delay:.3s}@keyframes aiPendingDot{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.ai-pending-footer{display:flex;align-items:center;gap:6px;padding:12px 22px 16px;margin-top:12px;font-size:10.5px;font-weight:600;color:var(--text-muted);letter-spacing:.3px;border-top:1px solid var(--border-light);background:var(--surface-alt)}.ai-pending-footer-elapsed{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:700}.ai-pending-footer-model{color:var(--text-muted);font-weight:600}.ai-pending-footer-spacer{flex:1}.ai-pending-footer-hint{text-transform:uppercase;font-size:9.5px;letter-spacing:.7px;color:var(--text-muted)}@media(max-width:720px){.ai-lb-prices{padding:18px 16px;gap:12px}.ai-lb-price{padding:14px 14px 12px}.ai-lb-price-value{font-size:28px}.ai-lb-title h2{font-size:19px}.ai-lb-footer{flex-direction:column;align-items:stretch;gap:10px}.ai-lb-footer .ai-lb-actions{justify-content:flex-end}}.demo-event-clickable{cursor:pointer;position:relative;transition:background .15s,box-shadow .15s}.demo-event-clickable:hover{background:#9b8ec414;box-shadow:inset 3px 0 0 var(--viz-purple)}.demo-event-clickable .demo-event-chevron{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--viz-purple);font-weight:700}.demo-event-intervention{background:linear-gradient(90deg,rgba(155,142,196,.1) 0%,transparent 100%)}.demo-event-intervention .demo-event-day{color:var(--viz-purple);font-weight:800}.toast.toast-clickable{cursor:pointer;border-left:3px solid var(--viz-purple);padding-right:14px}.toast.toast-clickable:hover{filter:brightness(1.04)}.toast.toast-clickable:after{content:"›";margin-left:6px;color:var(--viz-purple);font-weight:800;font-size:15px}.right-section-header-details{flex-direction:column;align-items:flex-start!important;gap:6px;padding:12px 14px 10px;border-bottom:1px solid var(--border-light);cursor:default;text-transform:none;letter-spacing:normal}.right-section-header-details:hover{background:none}.rsd-title{font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.1px;line-height:1.2;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rsd-chip-row{display:flex;align-items:center;gap:6px;width:100%}.rsd-chip-row .badge{font-size:9px;padding:2px 6px}.rsd-chip-row .price-tag.tiny{font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;margin-left:auto}.rsd-chip-row .close-btn{margin-left:4px}.right-section-body{padding:12px 14px 16px;overflow-y:auto;flex:1;min-height:0}.right-section-body>*+*{margin-top:12px}.right-section-details .detail-bus-wrap{margin-top:0}.right-section-details .detail-bus-scroll{max-height:180px;overflow-x:auto;overflow-y:hidden}.right-section-details .detail-stats-grid{grid-template-columns:repeat(2,1fr)}.right-section-details .detail-pricing-reason{font-size:11px;line-height:1.5}
