.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}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{--shell-bg: #e8ebef;--surface-page: #f6f7f9;--surface-panel: #ffffff;--surface-raised: #f8f9fb;--surface-muted: #eef1f4;--surface-hover: #eceff3;--surface-control: #f1f3f6;--surface-control-hover: #eef2f6;--surface-selected: #dbe4f0;--surface-subtle: #f5f6f8;--grid-header: #26354f;--grid-header-border: #263145;--grid-row-alt: #f5f6f8;--grid-row-hover: #eaf2ff;--grid-num: #141c2d;--border-default: #e1e5ec;--border-muted: #e8ebf1;--border-strong: #cfd6df;--border-control: #d6dce5;--border-subtle: #f0f2f6;--text-primary: #1a1f36;--text-title: #1b2740;--text-heading: #2a3a58;--text-body: #3a4a70;--text-secondary: #6a7898;--text-tertiary: #8a9ab8;--text-disabled: #b0bcd8;--brand-blue: #0b4da7;--brand-green: #0ca950;--brand-green-hover: #087a38;--brand-logo-yellow: #fdb813;--brand-logo-green: #00a650;--success-bg: #e6f9ee;--success-text: #1a8040;--warning-bg: #fff8e6;--warning-text: #b07800;--warning-border: #f0d890;--danger-bg: #ffeaea;--danger-text: #c02020;--danger-border: #f0a0a0;--info-bg: #e8f0ff;--info-text: #2a5acc;--info-border: #b0c8f8;--normal: #1a8040;--caution: #b07800;--warning: #d97706;--danger: #c02020;--area-s: #c02020;--area-h: #b07800;--area-e: #0ca950;--nav-bg: #1c2f4a;--nav-panel: #1d2a40;--nav-tab: #0b1020;--nav-hover: #2a3a5c;--nav-active: #243453;--nav-leaf-active: #202d49;--nav-marker: #6f7f9f;--nav-text: #b6c0d4;--nav-soft: #95a1ba;--nav-item: #c7d0df;--nav-strong: #d9dfec;--nav-bright: #f1f4f8;--nav-id: #aab5c9;--nav-border: #263145;--nav-border-strong: #344057;--nav-divider: rgba(148, 163, 184, .35);--nav-hover-overlay: rgba(148, 163, 184, .08);--nav-current-overlay: rgba(148, 163, 184, .12);--white-hover: rgba(255, 255, 255, .08);--action-border: rgba(255, 255, 255, .18);--session-bg: rgba(255, 255, 255, .06);--session-border: rgba(148, 163, 184, .28);--gnb-h: 56px;--nav-lv1-w: 96px;--nav-lv2-w: 220px;--shadow-soft: 0 4px 12px rgba(10, 20, 50, .1);--radius: 8px;--font-ui: "Inter", "Pretendard Variable", "Malgun Gothic", sans-serif;--font-ko: "Pretendard Variable", "Malgun Gothic", sans-serif;--font-data: "Inter", "Pretendard Variable", "Malgun Gothic", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);background:var(--shell-bg);color:var(--text-primary);font-size:13px;-webkit-font-smoothing:antialiased}.tnum{font-variant-numeric:tabular-nums}.shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.shell-body{display:flex;flex:1;overflow:hidden;position:relative}.loading-bar{position:fixed;top:0;left:0;right:0;height:4px;z-index:100000;background:#0b4da726;overflow:hidden}.loading-bar:before{content:"";position:absolute;top:0;bottom:0;left:0;width:35%;background:var(--brand-blue);border-radius:0 3px 3px 0;animation:ehs-loadbar 1.05s cubic-bezier(.4,0,.2,1) infinite}.loading-block{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:transparent;cursor:wait}@keyframes ehs-loadbar{0%{left:-35%;width:35%}50%{width:45%}to{left:100%;width:35%}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100001;display:flex;align-items:center;justify-content:center;background:#0f172a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade .14s ease}.modal-alert{width:min(360px,calc(100vw - 40px));background:var(--surface-panel);border:1px solid var(--border-default);border-radius:14px;box-shadow:0 18px 48px #0a143247;padding:26px 24px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;animation:modal-pop .16s cubic-bezier(.34,1.4,.5,1)}.modal-alert-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:34px}.modal-alert.lv-success .modal-alert-icon{background:var(--success-bg);color:var(--success-text)}.modal-alert.lv-error .modal-alert-icon{background:var(--danger-bg);color:var(--danger-text)}.modal-alert.lv-info .modal-alert-icon{background:var(--info-bg);color:var(--info-text)}.modal-alert-msg{font-size:15px;font-weight:600;color:var(--text-title);line-height:1.5;white-space:pre-line}.modal-alert-ok{min-width:96px;height:38px;margin-top:6px;justify-content:center}.modal-alert-actions{display:flex;gap:8px;margin-top:6px}.modal-alert-actions .btn{min-width:96px;height:38px;justify-content:center}.auth-content{display:flex;align-items:flex-start;justify-content:center}.auth-wrap{width:100%;display:flex;justify-content:center;padding:40px 16px 64px}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px;background:var(--surface-panel, #fff);border:1px solid var(--border-default, #e1e5ec);border-radius:12px;padding:28px 26px 22px;box-shadow:0 8px 28px #0a143214}.auth-brand{display:flex;justify-content:center;margin-bottom:4px}.auth-brand .wordmark{color:var(--text-title);font-size:20px;font-weight:800;text-align:center;display:block}.auth-brand .wordmark small{display:block;font-size:10.5px;font-weight:600;color:var(--text-tertiary);letter-spacing:.04em;margin-top:2px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--border-default);margin-bottom:6px}.auth-tabs button{border:0;background:transparent;cursor:pointer;padding:10px 0 11px;font-size:14px;font-weight:700;color:var(--text-tertiary);border-bottom:2px solid transparent}.auth-tabs button.on{color:var(--brand, #0b4da7);border-bottom-color:var(--brand, #0b4da7)}.auth-field{display:flex;flex-direction:column;gap:5px}.auth-field span{font-size:12px;font-weight:700;color:var(--text-secondary)}.auth-field input{height:40px;padding:0 12px;font-size:14px;color:var(--text-body);border:1px solid var(--border-control, #d6dde7);border-radius:7px;background:#fff;outline:0}.auth-field input:focus{border-color:var(--brand, #0b4da7);box-shadow:0 0 0 3px #0b4da71a}.auth-field input[aria-invalid=true]{border-color:#c0392b}.auth-field input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #c0392b1f}.auth-hint{font-size:11.5px;font-style:normal;color:var(--text-tertiary);line-height:1.45}.auth-hint.err{color:#ab2318}.auth-notice{display:flex;gap:7px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:#0b4da7;background:#eef4fd;border:1px solid #cddffa;border-radius:8px;padding:10px 12px}.auth-err{display:flex;gap:7px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:#ab2318;background:#fdecea;border:1px solid #f6ccc7;border-radius:8px;padding:10px 12px}.auth-done{display:flex;gap:7px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:#0d6d3e;background:#e4f5ec;border:1px solid #bfe6d0;border-radius:8px;padding:10px 12px}.auth-submit{height:42px;justify-content:center;font-size:14px;margin-top:4px}.auth-link{border:0;background:transparent;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--brand, #0b4da7);padding:2px;text-align:center}.auth-link:hover{text-decoration:underline}.role-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;background:var(--surface-raised, #eef1f5);color:var(--text-secondary);border:1px solid var(--border-muted, #dce2ea)}.role-badge.admin{background:#0b4da7;border-color:#0b4da7;color:#fff}.auth-back{border:0;background:transparent;cursor:pointer;font-size:12.5px;color:var(--text-tertiary);display:inline-flex;align-items:center;gap:5px;justify-content:center;padding:4px}.auth-back:hover{color:var(--text-body)}.auth-foot{margin:2px 0 0;font-size:11.5px;line-height:1.6;color:var(--text-tertiary);text-align:center}.gnb-user .u-role{margin-left:7px;font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--white-hover);color:var(--nav-text);border:1px solid var(--nav-divider)}.gnb-user .u-role.admin{background:#0b4da7;border-color:#0b4da7;color:#fff}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}.map-card{width:100%;height:100%;min-height:240px;background:#eef1f4}.geo-view{display:flex;flex-direction:column;height:100%;min-height:0;gap:8px;overflow-y:auto}.geo-view .hstat{flex:0 0 auto}.geo-view .hstat-fill{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.geo-view .hstat-fill .hstat-chart{flex:1 1 auto;min-height:140px;height:auto}.geo-view .geo-map{flex:1 1 auto;min-height:200px;border-radius:8px;overflow:hidden}.geo-view .geo-map .map-card{height:100%;min-height:0}.geo-view .geo-body{flex:1 1 auto;min-height:150px;display:flex;flex-direction:column}.geo-view .geo-body .card-view{flex:1 1 auto;min-height:0}.geo-view .rd-stats{flex:0 0 auto}.geo-summary{flex:0 0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:8px}.geo-summary-tile{background:var(--surface-raised);border:1px solid var(--border-muted);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:3px}.gs-label{font-size:10.5px;color:var(--text-secondary);font-weight:600}.gs-value{font-size:14px;font-weight:800;color:var(--text-title);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hstat{flex:0 0 auto}.hstat-head{font-size:12px;font-weight:700;color:var(--text-title);display:flex;align-items:center;gap:6px;margin-bottom:4px}.hstat-head>i{color:var(--brand-blue)}.hstat-head .hstat-sum{margin-left:auto;font-weight:600;color:var(--text-secondary);font-size:11px}.geo-maprow-stat .hstat-head{font-size:15.5px;font-weight:700;color:var(--text-heading);margin-bottom:10px}.geo-maprow-stat .hstat-head>i{font-size:18px}.geo-maprow-stat .hstat-head .hstat-sum{font-size:12px}.hstat-chart{height:190px}.hosp-map{display:flex;flex-direction:column;height:100%;min-height:0;gap:6px}.hosp-map .map-card{flex:1 1 auto;min-height:0}.hosp-near{flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:8px;background:var(--info-bg);border:1px solid var(--info-border);font-size:12.5px;color:var(--text-body)}.hosp-near.muted{background:var(--surface-muted);border-color:var(--border-muted);color:var(--text-secondary)}.hosp-near>i{color:var(--danger-text);font-size:16px}.hosp-near .hn-lead{color:var(--text-secondary);font-weight:600}.hosp-near .hn-name{color:var(--text-title);font-weight:800}.hosp-near .hn-dist{background:var(--danger);color:#fff;border-radius:999px;padding:1px 8px;font-weight:700;font-size:11px}.hosp-near .hn-addr{color:var(--text-secondary)}.hosp-near .hn-tel{color:var(--brand-blue);font-weight:600}.leaflet-tooltip.rd-label{background:transparent;border:0;box-shadow:none;padding:0;color:#7f1d1d;font-weight:800;font-size:11px;text-shadow:0 1px 2px rgba(255,255,255,.95)}.leaflet-tooltip.rd-label:before{display:none}.portlet-body.is-map{display:flex;padding:0;min-height:0}.portlet-body.is-map .map-card{flex:1;min-height:200px}.ai-map{height:62vh;min-height:420px;margin-bottom:4px;border-radius:10px;overflow:hidden;border:1px solid var(--border-default, #e1e5ec)}.ai-map .map-card{height:100%;min-height:0}.leaflet-container{font:inherit;position:relative;z-index:1}.ai-search{display:flex;align-items:center;gap:6px;height:34px;padding:0 6px 0 10px;border:1px solid var(--border-control, #d6dce5);border-radius:8px;background:var(--surface-panel, #fff)}.ai-search:focus-within{border-color:var(--brand-blue);box-shadow:0 0 0 3px #0b4da71a}.ai-search>i{color:var(--text-tertiary);font-size:15px}.ai-search input{border:0;outline:0;background:transparent;font-size:13px;width:210px;max-width:40vw;color:var(--text-body)}.ai-search-x{border:0;background:transparent;cursor:pointer;color:var(--text-tertiary);display:flex;padding:2px}@keyframes ehs-spin{to{transform:rotate(360deg)}}.spin-ic{display:inline-block;animation:ehs-spin .8s linear infinite;color:var(--brand-blue)}.pb-loading{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;min-height:60px;color:var(--text-secondary);font-size:13px}.pb-loading .spin-ic{font-size:18px}.gnb{height:var(--gnb-h);min-height:var(--gnb-h);--nav-bg: #ffffff;--nav-strong: #1e293b;--nav-soft: #6a7898;--nav-text: #475569;--nav-id: #6a7898;--nav-border: #e6e9ef;--nav-divider: #e6e9ef;--action-border: #d7dce6;--white-hover: #f1f4f8;background:#fff;border-bottom:1px solid var(--nav-border);display:flex;align-items:center;gap:12px;padding:0 16px;flex-shrink:0}.gnb .gnb-logo .wordmark,.gnb .gnb-user .u-name,.gnb .gnb-hamburger{color:#1e293b}.gnb .gnb-actions button{color:var(--nav-text)}.gnb .gnb-actions button:hover,.gnb .gnb-theme:hover{color:#1e293b}.gnb .gnb-actions button.gnb-login{color:#1e293b;background:#f1f4f8}.gnb .gnb-actions button.gnb-login:hover{background:#e6e9ef}.gnb-hamburger{display:none;width:34px;height:34px;border-radius:6px;border:1px solid var(--action-border);background:transparent;color:#fff;cursor:pointer;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.gnb-hamburger:hover{background:var(--white-hover)}.gnb-logo{display:flex;align-items:center;gap:9px;min-width:190px}.gnb-logo svg{height:22px;width:auto;display:block}.gnb-logo .wordmark{color:#fff;font-weight:700;font-size:16px;line-height:1;white-space:nowrap}.gnb-logo .wordmark small{font-weight:500;color:var(--nav-soft);font-size:11px;margin-left:6px}.gnb-right{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--nav-strong)}.gnb-user{display:inline-flex;align-items:center;gap:9px;height:28px;white-space:nowrap;font-size:12px}.gnb-user .u-name{color:#fff;font-family:var(--font-ko);font-weight:700}.gnb-user .u-id{color:var(--nav-id);font-weight:500}.gnb-user .u-meta{font-size:11px;color:var(--nav-text);border-left:1px solid var(--nav-divider);padding-left:9px}.gnb-session{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 9px;border-radius:5px;background:var(--session-bg);border:1px solid var(--session-border);white-space:nowrap}.gnb-session .s-label{font-size:10px;font-weight:700;color:var(--nav-soft);text-transform:uppercase}.gnb-session .s-time{font-size:12px;font-weight:700;color:#fff}.gnb-actions{display:inline-flex;align-items:center;gap:4px}.gnb-actions button{width:28px;height:28px;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--nav-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;font-size:14px}.gnb-actions button:hover{background:var(--white-hover);border-color:var(--action-border);color:#fff}.gnb-actions button.gnb-login{width:auto;flex:0 0 auto;height:30px;padding:0 14px;gap:6px;white-space:nowrap;font-size:12.5px;font-weight:700;color:#fff;background:var(--white-hover);border-color:var(--action-border);border-radius:6px}.gnb-actions button.gnb-login:hover{background:#ffffff2e}.foot{height:30px;background:var(--nav-bg);border-top:1px solid var(--nav-border);display:flex;align-items:center;padding:0 16px;flex-shrink:0;color:var(--nav-soft);font-size:11px}.nav{display:flex;height:100%}.nav-rail{width:var(--nav-lv1-w);min-width:var(--nav-lv1-w);background:var(--nav-bg);border-right:1px solid var(--nav-border);display:flex;flex-direction:column;align-items:center;padding:6px 0;overflow-y:auto}.rail-item{width:100%;min-height:84px;border:0;cursor:pointer;background:transparent;color:var(--nav-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 4px;position:relative;transition:background .15s,color .15s}.rail-item:hover{background:var(--nav-hover);color:var(--nav-bright)}.rail-item.on{background:var(--nav-active);color:#fff}.rail-item.on:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0}.rail-item.on.cat-s:before{background:var(--area-s)}.rail-item.on.cat-h:before{background:var(--area-h)}.rail-item.on.cat-e:before{background:var(--area-e)}.rail-item i{font-size:24px}.rail-label{font-size:11px;font-weight:600;line-height:1.2;text-align:center}.rail-label em{display:block;font-style:normal;font-size:10px;opacity:.8;font-weight:500}.rail-count{position:absolute;top:8px;right:12px;font-size:10px;color:var(--nav-soft);background:#ffffff0f;border-radius:999px;padding:0 6px;line-height:15px}.nav-panel{width:var(--nav-lv2-w);min-width:var(--nav-lv2-w);background:var(--nav-panel);border-right:1px solid var(--nav-border-strong);display:flex;flex-direction:column;padding:8px 0;overflow-y:auto}.panel-head{display:flex;align-items:center;gap:8px;padding:6px 14px 12px;color:var(--nav-bright);font-size:13px;font-weight:700;border-bottom:1px solid var(--nav-border);margin-bottom:6px}.panel-badge{width:20px;height:20px;border-radius:6px;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.panel-badge.cat-s{background:var(--area-s)}.panel-badge.cat-h{background:var(--area-h)}.panel-badge.cat-e{background:var(--area-e)}.tree-group-head{width:calc(100% - 16px);margin:0 8px;border:0;cursor:pointer;background:transparent;color:var(--nav-item);display:flex;align-items:center;gap:6px;border-radius:6px;padding:0 10px;min-height:32px;font-size:13px;font-weight:600}.tree-group-head:hover{background:var(--nav-hover-overlay);color:var(--nav-bright)}.tree-group-head.active{color:var(--nav-bright);font-weight:700}.tree-group-head.direct{gap:8px}.tree-group-head.direct .leaf-dot{margin-left:2px}.tree-group-head.direct.active{background:var(--nav-leaf-active);color:#fff}.caret{width:14px;font-size:11px;color:var(--nav-soft);transition:transform .15s;display:inline-flex}.caret.collapsed{transform:rotate(-90deg)}.grp-label{flex:1;text-align:left}.grp-count{font-size:11px;color:var(--nav-soft)}.tree-leaves{display:flex;flex-direction:column}.tree-leaf{width:calc(100% - 16px);margin:1px 8px;border:0;cursor:pointer;background:transparent;color:var(--nav-text);display:flex;align-items:center;gap:8px;border-radius:6px;padding:0 10px 0 26px;min-height:30px;font-size:12px;text-align:left}.tree-leaf:hover{background:var(--nav-hover-overlay);color:var(--nav-bright)}.tree-leaf.active{background:var(--nav-leaf-active);color:#fff;font-weight:700}.leaf-dot{width:6px;height:6px;border-radius:50%;background:var(--nav-marker);flex-shrink:0}.leaf-dot.on{background:#fff}.leaf-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaf-badge{flex-shrink:0;font-size:9px;font-weight:700;line-height:1;padding:3px 5px;border-radius:4px;letter-spacing:-.3px}.leaf-badge.dev{background:#f59e0b;color:#3a2600}.leaf-badge.excel{background:#3b82f6;color:#fff}.leaf-badge.hold{background:#6b7280;color:#fff}.leaf-badge.link{background:#14b8a6;color:#062f2a}.status-badge{display:inline-block;vertical-align:middle;margin-left:10px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:-.3px}.status-badge.dev{background:#fef3c7;color:#92600a;border:1px solid #f59e0b}.status-badge.excel{background:#dbeafe;color:#1e40af;border:1px solid #3b82f6}.status-badge.hold{background:#f3f4f6;color:#374151;border:1px solid #9ca3af}.status-badge.link{background:#ccfbf1;color:#0f766e;border:1px solid #14b8a6}.leaf-chip{font-size:11px;color:var(--nav-soft);border:1px solid var(--nav-border-strong);border-radius:6px;padding:0 6px;line-height:16px;flex-shrink:0}.leaf-chip.on{color:#34d399;border-color:#065f46;background:#065f4640}.panel-foot{margin-top:auto;padding:12px 14px;border-top:1px solid var(--nav-border);color:var(--nav-soft);font-size:11px}.content{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-page)}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:var(--surface-panel);border-bottom:1px solid var(--border-default)}.pt-title{display:flex;flex-direction:column;gap:2px}.pt-title h1{font-size:16px;line-height:24px;margin:0;color:var(--text-title);font-weight:700}.pt-title .crumb{font-size:14px;color:var(--text-secondary)}.pt-title .crumb b{color:var(--text-body);font-weight:600}.pt-actions{display:flex;align-items:center;gap:12px}.status{font-size:12px;color:var(--text-secondary)}.status.dirty{color:var(--brand-blue);font-weight:600}.btn{border:1px solid var(--border-control);background:var(--surface-panel);color:var(--text-body);padding:7px 14px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all .15s}.btn:hover{background:var(--surface-control-hover)}.btn.primary{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.btn.primary:hover{background:#0a4290}.btn:disabled{opacity:.5;cursor:default}.empty{margin:auto;color:var(--text-secondary);font-size:14px;display:grid;place-items:center;height:100%;gap:10px}.empty i{font-size:40px;color:var(--text-disabled)}.dev-badge{align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--warning-bg, #fff4e5);color:var(--warning-text, #b45309);border:1px solid var(--warning-border, #f5c98a);font-size:12px;font-weight:700}.info-frame{width:100%;height:100%;min-height:calc(100vh - var(--gnb-h) - 60px);border:0;border-radius:10px;background:#fff;display:block}.info-contact{padding:24px;display:grid;place-items:start center}.contact-card{background:var(--surface-panel);border:1px solid var(--border-subtle, #e6e9ef);border-radius:12px;padding:28px 32px;max-width:480px;width:100%;box-shadow:0 1px 3px #0000000d}.contact-card h2{display:flex;align-items:center;gap:10px;font-size:18px;margin:0 0 18px;color:var(--text-title)}.contact-card dl{margin:0;display:grid;gap:14px}.contact-card dl>div{display:grid;grid-template-columns:88px 1fr;align-items:center}.contact-card dt{color:var(--text-secondary);font-weight:700;font-size:13px}.contact-card dd{margin:0;font-size:15px}.contact-card a{color:var(--brand-blue, #0b4da7);text-decoration:none;font-weight:600}.contact-card a:hover{text-decoration:underline}.msds-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.msds-cas-in{height:34px;border:1px solid var(--border-control);border-radius:6px;padding:0 10px;font-size:12.5px;width:240px;background:var(--surface-panel);color:var(--text-body)}.msds-detail-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.msds-detail-title h2{margin:0 0 8px;font-size:18px;color:var(--text-title)}.msds-chips{display:flex;flex-wrap:wrap;gap:6px}.msds-chip{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--surface-muted);color:var(--text-body);border:1px solid var(--border-subtle, #e6e9ef)}.msds-chip.out{background:transparent}.msds-chip.info{background:#eaf3ff;color:#0b4da7;border-color:#cfe0f7}.msds-sections{display:flex;flex-direction:column;gap:8px}.msds-sec{border:1px solid var(--border-subtle, #e6e9ef);border-radius:8px;overflow:hidden}.msds-sec-head{width:100%;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-muted);border:0;cursor:pointer;font-size:14px;color:var(--text-title);text-align:left}.msds-caret{transition:transform .15s;font-size:13px}.msds-caret.collapsed{transform:rotate(-90deg)}.msds-sec-table{width:100%;border-collapse:collapse}.msds-sec-table th{width:38%;text-align:left;font-weight:600;background:var(--surface-panel);color:var(--text-body);padding:8px 12px;border-top:1px solid var(--border-subtle, #eef1f4);vertical-align:top;word-break:keep-all}.msds-sec-table td{padding:8px 12px;border-top:1px solid var(--border-subtle, #eef1f4);white-space:pre-wrap;word-break:keep-all;color:var(--text-body)}.msds-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f172a80;display:flex;align-items:center;justify-content:center;padding:24px}.msds-modal{background:var(--surface-panel);border-radius:12px;width:min(920px,100%);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden}.msds-modal-head{display:flex;align-items:flex-start;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border-subtle, #e6e9ef)}.msds-modal-head .msds-detail-title{flex:1;min-width:0}.msds-modal-head .msds-detail-title h2{margin:0 0 8px}.msds-modal-x{flex:0 0 auto;width:34px;height:34px;border-radius:8px;border:1px solid var(--border-control);background:var(--surface-panel);color:var(--text-secondary);cursor:pointer;font-size:16px}.msds-modal-x:hover{background:var(--surface-muted);color:var(--text-title)}.msds-modal-body{padding:16px 22px 22px;overflow-y:auto}.stats-legend{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:0}.stats-legend li{display:flex;align-items:center;gap:7px}.stats-legend .dot{width:9px;height:9px;border-radius:2px;flex:0 0 auto}.stats-legend .nm{flex:1;color:var(--text-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-legend b{color:var(--text-title);font-variant-numeric:tabular-nums}.board-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.board-cats{display:inline-flex;gap:4px}.board-cat{height:32px;padding:0 14px;border-radius:6px;border:1px solid var(--border-control);background:var(--surface-panel);color:var(--text-body);font-size:12.5px;font-weight:600;cursor:pointer}.board-cat.on{background:var(--brand-blue, #0b4da7);border-color:var(--brand-blue, #0b4da7);color:#fff}.board-badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--surface-muted);color:var(--text-body);border:1px solid var(--border-subtle, #e6e9ef);white-space:nowrap}.board-badge.sm{font-size:11px;padding:2px 8px}.board-badge.cat{background:#eef4ff;color:#0b4da7;border-color:#d7e3fb}.board-badge.st-recv{background:#f1f4f8;color:#475569}.board-badge.st-prog{background:#e6f0ff;color:#1d4ed8;border-color:#cfe0ff}.board-badge.st-done{background:#e7f7ee;color:#0ca950;border-color:#c7ecd6}.board-badge.st-hold{background:#fff4e5;color:#b45309;border-color:#f5c98a}.board-detail-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.board-post{border:1px solid var(--border-subtle, #e6e9ef);border-radius:10px;padding:20px 22px;background:var(--surface-panel)}.bp-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}.bp-status-sel{height:28px;border-radius:6px;border:1px solid var(--border-control);background:var(--surface-panel);color:var(--text-body);font-size:12px;padding:0 8px;margin-left:auto}.bp-title{margin:0 0 6px;font-size:20px;color:var(--text-title)}.bp-meta{font-size:12.5px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle, #eef1f4);padding-bottom:12px;margin-bottom:14px}.bp-content{font-size:14px;line-height:1.7;color:var(--text-body);white-space:pre-wrap;word-break:keep-all;min-height:120px}.bp-comments{margin-top:20px;border-top:1px solid var(--border-subtle, #e6e9ef);padding-top:16px}.bp-comments-title{font-size:14px;font-weight:700;color:var(--text-title);display:flex;align-items:center;gap:6px;margin:0 0 12px}.bp-comment-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:10px}.bp-comment-empty{color:var(--text-tertiary);font-size:13px;padding:6px 0}.bp-comment{background:var(--surface-muted);border:1px solid var(--border-subtle, #eef1f4);border-radius:8px;padding:10px 12px}.bp-comment-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.bp-comment-author{font-size:12.5px;font-weight:700;color:var(--text-body)}.bp-comment-date{font-size:11.5px;color:var(--text-tertiary)}.bp-comment-del{margin-left:auto;border:0;background:transparent;color:var(--text-tertiary);cursor:pointer;padding:2px 4px;border-radius:4px;font-size:13px}.bp-comment-del:hover{color:#c02020;background:var(--surface-control-hover, #f1f3f7)}.bp-comment-body{font-size:13.5px;line-height:1.6;color:var(--text-body);white-space:pre-wrap;word-break:keep-all}.bp-comment-form{display:flex;gap:8px;align-items:flex-end}.bp-comment-form textarea{flex:1;resize:vertical;min-height:44px;border:1px solid var(--border-control);border-radius:8px;padding:8px 10px;font-size:13.5px;font-family:inherit;color:var(--text-body);background:var(--surface-panel)}.bp-comment-form .btn{flex-shrink:0}.board-form{max-width:760px;border:1px solid var(--border-subtle, #e6e9ef);border-radius:10px;padding:22px;background:var(--surface-panel)}.board-form h3{margin:0 0 16px;font-size:16px;color:var(--text-title);display:flex;align-items:center;gap:8px}.bf-row{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:12px;margin-bottom:12px}.bf-row.top{align-items:start}.bf-row>span{font-size:13px;font-weight:700;color:var(--text-secondary)}.bf-row input,.bf-row select,.bf-row textarea{width:100%;border:1px solid var(--border-control);border-radius:6px;padding:8px 10px;font-size:13.5px;background:var(--surface-panel);color:var(--text-body);font-family:inherit}.bf-row textarea{resize:vertical;line-height:1.6}.bf-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.btn.danger{color:#c02020;border-color:#f0c2c2}.btn.danger:hover{background:#fdeaea}.us-dash{display:grid;grid-template-columns:var(--nav-lv2-w) 1fr;height:100%;overflow:hidden}.us-nav-panel{height:100%}.us-cat-seg{display:flex;gap:4px;padding:2px 10px 8px}.us-seg-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 4px;border-radius:7px;border:1px solid var(--nav-border);background:transparent;color:var(--nav-text);cursor:pointer;font-size:12px;font-weight:700;line-height:1.2}.us-seg-btn em{font-style:normal;font-size:9px;font-weight:500;color:var(--nav-soft)}.us-seg-btn:hover{background:var(--nav-hover-overlay);color:var(--nav-bright)}.us-seg-btn.on.cat-s{background:var(--area-s);border-color:var(--area-s);color:#fff}.us-seg-btn.on.cat-h{background:var(--area-h);border-color:var(--area-h);color:#fff}.us-seg-btn.on.cat-e{background:var(--area-e);border-color:var(--area-e);color:#fff}.us-seg-btn.on em{color:#fffc}.us-content{overflow:hidden;display:flex;flex-direction:column}@media (max-width: 860px){.us-dash{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.us-nav-panel{height:auto;max-height:46vh;border-right:0;border-bottom:2px solid var(--nav-border-strong)}.us-nav-panel .panel-note,.us-nav-panel .panel-foot{display:none}}.layout-wrap{flex:1;overflow:auto;padding:16px}.portlet{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius);height:100%;display:flex;flex-direction:column;overflow:hidden}.portlet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;cursor:move;border-bottom:1px solid var(--border-muted)}.pl-accent{width:4px;align-self:stretch;border-radius:3px;margin:2px 2px 2px 0}.pl-accent.cat-s{background:var(--area-s)}.pl-accent.cat-h{background:var(--area-h)}.pl-accent.cat-e{background:var(--area-e)}.pl-title{display:flex;flex-direction:column;overflow:hidden;flex:1}.pl-name{font-size:13px;font-weight:700;color:var(--text-title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-provider{font-size:11px;color:var(--text-secondary)}.pl-tools{display:flex;align-items:center;gap:4px}.src{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:700}.src.live{background:var(--success-bg);color:var(--success-text)}.src.sample,.src.unset{background:var(--surface-control);color:var(--text-tertiary)}.src.error{background:var(--danger-bg);color:var(--danger-text)}.src.empty{background:var(--warning-bg);color:var(--warning-text)}.pb-unset{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--text-tertiary);text-align:center;padding:8px}.pb-unset i{font-size:28px}.pb-unset span{font-size:12px}.ai-notice{margin:auto;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:var(--text-secondary);padding:40px}.ai-notice i{font-size:48px;color:var(--text-disabled)}.ai-notice h3{margin:0;font-size:18px;color:var(--text-heading)}.ai-notice p{margin:0;font-size:13px}.ai-notice .btn{margin-top:6px}.icon{border:1px solid transparent;background:transparent;cursor:pointer;font-size:13px;color:var(--text-tertiary);width:24px;height:24px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.icon:hover{background:var(--surface-control);color:var(--text-body)}.portlet-body{flex:1;padding:14px;overflow:auto}.mini-chart{width:100%;height:100%;min-height:140px}.mini-chart.gauge-mini{position:relative}.mini-gauge-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.mini-gauge-center .mg-value{font-size:24px;font-weight:800;color:var(--text-title);line-height:1;font-variant-numeric:tabular-nums}.mini-gauge-center .mg-unit{font-size:11px;color:var(--text-secondary);margin-top:2px}.card-view{display:flex;flex-direction:column;height:100%;gap:8px;min-height:0}.cv-head{display:flex;align-items:baseline;gap:8px;flex-shrink:0}.cv-value{font-size:26px;font-weight:800;color:var(--text-title);line-height:1;font-variant-numeric:tabular-nums}.cv-value em{font-size:13px;font-weight:600;color:var(--text-secondary);font-style:normal;margin-left:4px}.cv-lv{margin-left:auto;font-size:11px;font-weight:700;color:#fff;padding:2px 10px;border-radius:999px;align-self:center}.card-view .ai-hero{flex-shrink:0}.cv-chart{flex:1;min-height:90px}.riskmap-root{--rk-navy: #1a1f36;--rk-ink2: #49566b;--rk-ink3: #8592a6;--rk-line: #e5eaf1;--rk-line2: #d7deea;--rk-safety: #1e6fd0;font-size:13.5px;color:var(--rk-navy);position:relative}.riskmap-root .rm-card{background:var(--surface-panel);border:1px solid var(--rk-line);border-radius:10px;padding:16px;margin-bottom:16px}.riskmap-root .rm-ch{display:flex;align-items:center;gap:8px;margin-bottom:12px;position:relative;padding-left:12px}.riskmap-root .rm-ch:before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:4px;border-radius:2px;background:#d92d20}.riskmap-root .rm-ch h3{font-size:15px;font-weight:700;color:var(--rk-navy)}.riskmap-root .rm-more{margin-left:auto;font-size:11.5px;color:var(--rk-ink3)}.riskmap-root .rm-hero{background:linear-gradient(135deg,#f4f1ec,#eef1f6);border:1px solid var(--rk-line);border-radius:14px;padding:22px 26px;margin-bottom:16px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.riskmap-root .rm-hero-left{flex:none;min-width:200px}.riskmap-root .rm-hero-title{font-size:17px;font-weight:700;color:var(--rk-navy)}.riskmap-root .rm-hero-big{font-size:44px;font-weight:800;color:var(--rk-navy);line-height:1.1;margin-top:2px}.riskmap-root .rm-hero-big small{font-size:18px;font-weight:700;color:var(--rk-ink3);margin-left:3px}.riskmap-root .rm-hero-tags{display:flex;align-items:center;gap:8px;margin-top:8px}.riskmap-root .rm-hero-tag{font-size:12px;font-weight:700;color:#fff;border-radius:999px;padding:4px 14px}.riskmap-root .rm-realtime{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;background:#e6f4ec;color:#1a8040;border-radius:999px;padding:3px 10px}.riskmap-root .rm-realtime:before{content:"";width:6px;height:6px;border-radius:50%;background:#1a8040}.riskmap-root .rm-hero-sub{font-size:12px;color:var(--rk-ink2);margin-top:10px}.riskmap-root .rm-hero-kpis{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;min-width:280px}.riskmap-root .rm-hk{background:#fff;border:1px solid var(--rk-line);border-radius:10px;padding:14px 16px}.riskmap-root .rm-hk .l{font-size:11.5px;color:var(--rk-ink3)}.riskmap-root .rm-hk .v{font-size:19px;font-weight:800;color:var(--rk-navy);margin-top:4px}.riskmap-root .rm-hk .v small{font-size:12px;font-weight:600;color:var(--rk-ink3)}.riskmap-root .rm-side3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.riskmap-root .rm-side3>.rm-card{height:400px;display:flex;flex-direction:column;margin-bottom:16px;min-width:0}.riskmap-root .rm-cbody{flex:1;overflow-y:auto;min-height:0}@media (max-width: 900px){.riskmap-root .rm-side3{grid-template-columns:1fr}.riskmap-root .rm-side3>.rm-card{height:340px}}.riskmap-root .rm-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.riskmap-root .rm-seg{display:flex;border:1px solid var(--rk-line2);border-radius:6px;overflow:hidden}.riskmap-root .rm-seg button{padding:6px 12px;font-size:12px;color:var(--rk-ink2);background:#fff;border:0;cursor:pointer}.riskmap-root .rm-seg button+button{border-left:1px solid var(--rk-line2)}.riskmap-root .rm-seg button.on{background:var(--rk-safety);color:#fff;font-weight:700}.riskmap-root .rm-toolsp{flex:1}.riskmap-root .rm-tgl{border:1px solid var(--rk-line2);border-radius:6px;padding:6px 11px;font-size:12px;color:var(--rk-ink2);background:#fff;cursor:pointer}.riskmap-root .rm-tgl.on{background:#eef4fc;border-color:#cfe2fa;color:var(--rk-safety);font-weight:700}.riskmap-root .rm-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}.riskmap-root .rm-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rk-line2);border-radius:16px;padding:5px 11px;font-size:12px;font-weight:600;background:#fff;cursor:pointer}.riskmap-root .rm-chip i{width:9px;height:9px;border-radius:50%;background:currentColor}.riskmap-root .rm-chip.off{opacity:.4}.riskmap-root .rm-chip b{color:var(--rk-navy)}.riskmap-root .rm-mapwrap{position:relative}.riskmap-root .rm-map{height:460px;border-radius:10px;border:1px solid var(--rk-line);z-index:1}.riskmap-root .rm-loading-full{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:220px;gap:14px;background:#f0f3f7c7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--rk-ink2);font-size:14px;font-weight:700}.riskmap-root .rm-spin{width:36px;height:36px;border:3px solid rgba(30,111,208,.25);border-top-color:var(--rk-safety);border-radius:50%;animation:rmspin .7s linear infinite}.riskmap-root .rm-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:11.5px;color:var(--rk-ink2)}.riskmap-root .rm-lg{display:flex;align-items:center;gap:5px}.riskmap-root .rm-lg i{width:9px;height:9px;border-radius:50%}.riskmap-root .rm-sp{flex:1}.riskmap-root .rm-wind{display:flex;align-items:center;gap:6px;background:#f4f7fb;border:1px solid var(--rk-line);border-radius:14px;padding:3px 10px}.riskmap-root .rm-wind .arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid var(--rk-safety)}.riskmap-root .rm-riskhead{display:flex;align-items:center;gap:16px}.riskmap-root .rm-dial{position:relative;width:104px;height:104px;flex:none}.riskmap-root .rm-dial .mid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.riskmap-root .rm-dial .mid .v{font-size:28px;font-weight:800;line-height:1}.riskmap-root .rm-dial .mid .s{font-size:10.5px;color:var(--rk-ink3)}.riskmap-root .rm-riskmeta{flex:1}.riskmap-root .rm-riskmeta .lvl{font-size:15px;font-weight:800}.riskmap-root .rm-riskmeta .cmt{font-size:12px;color:var(--rk-ink2);margin-top:3px;line-height:1.5}.riskmap-root .rm-compare{margin-top:14px;padding-top:12px;border-top:1px solid var(--rk-line);display:flex;flex-direction:column;gap:8px}.riskmap-root .rm-cmp{display:flex;align-items:center;gap:10px;font-size:12px}.riskmap-root .rm-cmp .cl{width:60px;color:var(--rk-ink2);flex:none;font-weight:600}.riskmap-root .rm-cmp .cbar{flex:1;height:14px;background:#eef1f6;border-radius:4px;overflow:hidden}.riskmap-root .rm-cmp .cbar i{display:block;height:100%;border-radius:4px}.riskmap-root .rm-cmp .cv{width:30px;text-align:right;font-weight:800;flex:none}.riskmap-root .rm-delta{font-size:11.5px;color:var(--rk-ink3)}.riskmap-root .rm-delta b{font-size:12.5px}.riskmap-root .rm-formula{margin-top:12px;border-top:1px solid var(--rk-line);padding-top:10px}.riskmap-root .rm-formula summary{font-size:12.5px;font-weight:700;color:var(--rk-safety);cursor:pointer}.riskmap-root .rm-rf{margin-top:10px;font-size:12px;color:var(--rk-ink2);line-height:1.7}.riskmap-root .rf-line{background:#f7f9fc;border:1px solid var(--rk-line);border-radius:6px;padding:8px 10px;font-family:Consolas,monospace;font-size:11px;color:var(--rk-navy)}.riskmap-root .rf-tbl{width:100%;border-collapse:collapse;margin:10px 0 4px;font-size:11.5px}.riskmap-root .rf-tbl td{padding:6px 8px;border-bottom:1px solid var(--rk-line);vertical-align:top}.riskmap-root .rf-tbl td:first-child{font-weight:700;color:var(--rk-navy);white-space:nowrap;width:66px}.riskmap-root .rf-note{font-size:11px;color:var(--rk-ink3);margin-top:8px;line-height:1.6;padding:8px 10px;background:#fdf7ee;border:1px solid #f6e4c8;border-radius:6px}.riskmap-root .rm-apistatus{display:flex;align-items:center;gap:8px;font-size:12px;padding:8px 11px;border-radius:8px;margin-bottom:10px}.riskmap-root .rm-apistatus.load{background:#eef4fc;border:1px solid #cfe2fa;color:#1c47a8}.riskmap-root .rm-apistatus.ok{background:#e9f7f0;border:1px solid #bce5d1;color:#1a8040}.riskmap-root .rm-apistatus.err{background:#fdf3e3;border:1px solid #f0d9a8;color:#a5721a}.riskmap-root .rm-apistatus .sp{width:11px;height:11px;border:2px solid rgba(30,111,208,.3);border-top-color:var(--rk-safety);border-radius:50%;animation:rmspin .7s linear infinite;flex:none}.riskmap-root .rm-apistatus.ok .sp,.riskmap-root .rm-apistatus.err .sp{display:none}@keyframes rmspin{to{transform:rotate(360deg)}}.riskmap-root .rm-srch{position:relative;margin-bottom:8px}.riskmap-root .rm-srch i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--rk-ink3)}.riskmap-root .rm-srch input{width:100%;border:1px solid var(--rk-line2);border-radius:7px;padding:8px 12px 8px 30px;font-size:12.5px}.riskmap-root .rm-rlist{display:flex;flex-direction:column}.riskmap-root .rm-empty{text-align:center;color:var(--rk-ink3);padding:20px;font-size:12px}.riskmap-root .rm-ri{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--rk-line);cursor:pointer}.riskmap-root .rm-ri:hover{background:#f7f9fc}.riskmap-root .rm-ri .bd{font-size:11px;font-weight:700;padding:2px 8px;border-radius:5px;white-space:nowrap;flex:none;color:#fff}.riskmap-root .rm-ri .body{flex:1;min-width:0}.riskmap-root .rm-ri .body .t{font-size:12.5px;font-weight:600;color:var(--rk-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.riskmap-root .rm-ri .body .m{font-size:11px;color:var(--rk-ink3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.riskmap-root .rm-ri .dist{font-size:11.5px;font-weight:700;color:var(--rk-ink2);white-space:nowrap}.riskmap-root .rm-src{width:100%;border-collapse:collapse;font-size:11.5px}.riskmap-root .rm-src td{padding:8px 10px;border-bottom:1px solid var(--rk-line);color:var(--rk-ink2);vertical-align:top}.riskmap-root .rm-src td b{color:var(--rk-navy)}.riskmap-root .rm-src td.api{font-size:11px}.riskmap-root .rm-pill{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:10px}.riskmap-root .rm-pill.ok{background:#e9f7f0;color:#1a8040}.riskmap-root .rm-note{font-size:11px;color:var(--rk-ink3);margin-top:12px;line-height:1.7}.riskmap-root .rm-listcard{margin-top:0}.riskmap-root .rm-listhead{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-left:12px}.riskmap-root .rm-listhead h3{font-size:15px;font-weight:700;color:var(--rk-navy)}.riskmap-root .rm-listhead h3 span{color:var(--rk-safety)}.riskmap-root .rm-listsrch{margin-left:auto;position:relative}.riskmap-root .rm-listsrch i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--rk-ink3)}.riskmap-root .rm-listsrch input{border:1px solid var(--rk-line2);border-radius:8px;padding:7px 12px 7px 30px;font-size:12.5px;width:200px}.riskmap-root .rm-listscroll{overflow-x:auto;border-radius:8px;border:1px solid var(--rk-line)}.riskmap-root .rm-listtbl{width:100%;border-collapse:collapse;font-size:12.5px;min-width:720px}.riskmap-root .rm-listtbl thead th{background:var(--rk-navy);color:#fff;font-weight:600;text-align:left;padding:11px 14px;white-space:nowrap}.riskmap-root .rm-listtbl thead th.rt{text-align:right}.riskmap-root .rm-listtbl td{padding:10px 14px;border-bottom:1px solid var(--rk-line);color:var(--rk-ink2);white-space:nowrap}.riskmap-root .rm-listtbl td.rt{text-align:right;font-variant-numeric:tabular-nums}.riskmap-root .rm-listtbl td.meta{color:var(--rk-ink3);font-size:11.5px}.riskmap-root .rm-listtbl tbody tr:nth-child(2n){background:#fafbfd}.riskmap-root .rm-listtbl tbody tr:hover{background:#eef4fc;cursor:pointer}.riskmap-root .rm-listtbl .no{color:var(--rk-ink3)}.riskmap-root .rm-listtbl .tag{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:5px;color:#fff}.riskmap-root .rm-listtbl .rv{font-weight:800}.riskmap-root .rm-tempty{text-align:center;color:var(--rk-ink3);padding:20px}.rm-panel{height:100%}.riskmap-root.rm-part{height:100%;display:flex;flex-direction:column;gap:8px;font-size:12.5px;padding:0}.riskmap-root.rm-part .rm-part-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.riskmap-root.rm-part .rm-part-title{font-size:13px;font-weight:700;color:var(--rk-navy)}.riskmap-root.rm-part .rm-part-sub{font-size:11px;color:var(--rk-ink3)}.riskmap-root.rm-part .rm-seg-sm{margin-left:auto}.riskmap-root .rm-seg-sm button{padding:4px 8px;font-size:11px}.riskmap-root.rm-part-map .rm-mapwrap-sm{flex:1;min-height:120px;position:relative}.riskmap-root .rm-map-sm{height:100%;min-height:120px;border-radius:8px;border:1px solid var(--rk-line)}.riskmap-root.rm-part-gauge{overflow-y:auto}.riskmap-root.rm-part-table .rm-part-tablewrap{flex:1;overflow:auto;min-height:0}.riskmap-root .rm-part-scroll{flex:1;overflow-y:auto;min-height:0}.riskmap-root .rm-loading-abs{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#f0f3f7b3;border-radius:8px}.riskmap-root .rm-tablewrap{overflow-x:auto}.riskmap-root .rm-tag{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:5px;color:#fff;white-space:nowrap}.riskmap-root .rm-listmore{margin-left:auto;font-size:12px;color:var(--rk-ink3)}.riskmap-root .rm-pager{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px}.riskmap-root .rm-pager button{border:1px solid var(--rk-line2);background:#fff;border-radius:6px;padding:6px 12px;font-size:12.5px;color:var(--rk-ink2);cursor:pointer}.riskmap-root .rm-pager button:disabled{opacity:.4;cursor:default}.riskmap-root .rm-pager span{font-size:12.5px;font-weight:700;color:var(--rk-navy);padding:0 6px}.riskmap-root .rk-marker{border-radius:50%;border:2.5px solid #fff;box-shadow:0 1px 5px #00000059}.riskmap-root .rk-pp,.rk-pp{display:inline-block;font-size:10.5px;font-weight:700;color:#fff;padding:2px 7px;border-radius:5px;margin-bottom:4px}@media (max-width: 960px){.riskmap-root .rm-layout{grid-template-columns:1fr}}@media (max-width: 820px){.riskmap-root .rm-hero-kpis{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.riskmap-root .rm-hero{flex-direction:column;align-items:stretch}.riskmap-root .rm-hero-kpis{grid-template-columns:1fr 1fr}}.wx-risk{margin-bottom:14px}.wx-risk h3{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:700;color:var(--text-title);margin:0 0 12px}.wx-risk-scroll{overflow-x:auto}.wx-risk-table{width:100%;border-collapse:collapse;font-size:13.5px}.wx-risk-table thead th{text-align:left;font-weight:700;color:var(--text-secondary);padding:10px 14px;border-bottom:2px solid var(--border-subtle, #e6e9ef);white-space:nowrap;background:var(--surface-muted)}.wx-risk-table td{padding:13px 14px;border-bottom:1px solid var(--border-subtle, #eef1f4);color:var(--text-body);vertical-align:middle}.wx-risk-table .wr-job{font-weight:700;color:var(--text-title);white-space:nowrap}.wx-risk-table .wr-rec{color:var(--text-secondary)}.wr-badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 12px;border-radius:999px;white-space:nowrap}.wr-badge.danger{background:#fdecec;color:#c02020}.wr-badge.caution{background:#fff4e0;color:#b45309}.wr-badge.normal{background:#e6f6ed;color:#1a8040}.menu-chart-panel{height:100%;min-height:150px;display:flex;flex-direction:column}.menu-chart-panel>*{flex:1;min-height:0}.menu-chart-panel .sif-agg{flex:1;overflow:auto}.add-chart-list{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border-subtle, #e6e9ef);padding-top:6px;margin-top:2px}.add-chart-head{font-size:12px;font-weight:700;color:var(--text-heading);display:flex;align-items:center;gap:5px;padding:2px;white-space:nowrap}.add-chart-sub{font-weight:500;font-size:10.5px;color:var(--text-tertiary);padding:0 2px 4px;line-height:1.4;word-break:keep-all}.cv-list{flex:1;min-height:0;overflow:auto}.cv-table{flex:1;min-height:80px;display:flex;flex-direction:column;overflow:hidden}.cv-table .table-scroll{flex:1;overflow:auto;min-height:0}.cv-table-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-shrink:0}.cv-table-count{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.cv-table-head .dt-search.sm{margin-left:auto;height:26px;padding:0 8px;max-width:150px}.cv-table-head .dt-search.sm i{font-size:13px}.cv-table-head .dt-search.sm input{font-size:12px}.dt-search .dt-clear{border:0;background:transparent;cursor:pointer;color:var(--text-tertiary);display:flex;padding:2px}.dt-pager.sm{margin-top:6px;gap:4px;flex-shrink:0}.dt-pager.sm button{width:24px;height:24px}.dt-pager.sm .dt-page{font-size:11px;min-width:48px;padding:0 4px}.cv-empty{margin:auto;color:var(--text-tertiary);font-size:12px}.add-wrap{position:relative}.add-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:260px;background:var(--surface-panel);border:1px solid var(--border-default);border-radius:10px;box-shadow:var(--shadow-soft);padding:12px;display:flex;flex-direction:column;gap:10px}.add-pop-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-heading)}.add-pop-note{display:block;font-size:12px;color:var(--text-secondary);background:var(--surface-muted);border-radius:6px;padding:8px 10px;line-height:1.5;word-break:keep-all;overflow-wrap:normal}.add-pop-note i{margin-right:5px;vertical-align:-1px}.add-pop-note b{color:var(--text-heading)}.add-opt{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-body);cursor:pointer}.add-pop.wx-pop{width:320px}.wx-add-all{border-bottom:1px solid var(--border-subtle, #e6e9ef);padding-bottom:8px;font-weight:700}.wx-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;max-height:240px;overflow-y:auto}.wx-add-grid .add-opt{font-size:12.5px}.wx-single{height:100%;padding:6px;display:flex}.wx-single .wxc{flex:1;height:100%}.add-opt input{width:15px;height:15px;accent-color:var(--brand-blue)}.add-opt em{font-style:normal;color:var(--text-tertiary);font-size:12px}.add-opt-row{display:flex;align-items:center;gap:10px}.add-opt-label{font-size:13px;color:var(--text-body);min-width:34px}.add-opt-row select{flex:1;height:32px;padding:0 8px;border:1px solid var(--border-control);border-radius:6px;background:#fff;font-size:13px;color:var(--text-body);cursor:pointer}.add-pop-foot{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border-muted);padding-top:10px}@media (max-width: 860px){.add-pop{width:min(260px,calc(100vw - 16px))}.add-pop.wx-pop{width:min(320px,calc(100vw - 16px))}}.btn.sm{height:30px;padding:0 12px;font-size:12px}.pb-msg{color:var(--text-secondary);font-size:13px}.pb-msg.err{color:var(--danger-text)}.portlet-foot{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border-muted);background:var(--surface-raised)}.foot-summary{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.badge.normal{background:var(--success-bg);color:var(--success-text)}.badge.caution,.badge.warning{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.badge.danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.kpi{display:flex;flex-direction:column;gap:6px;height:100%;justify-content:center}.kpi-value,.gauge-value{font-size:28px;font-weight:700;line-height:1;color:var(--text-title);font-variant-numeric:tabular-nums}.kpi-unit{font-size:13px;font-weight:600;color:var(--text-secondary);margin-left:4px}.kpi-desc{font-size:11px;color:var(--text-secondary)}.gauge{display:flex;flex-direction:column;gap:10px;height:100%;justify-content:center}.gauge-bar{height:10px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.gauge-fill{height:100%;border-radius:999px;transition:width .4s}.gauge-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--text-tertiary)}.gauge-fill.lvl-normal,.bar-fill.lvl-normal{background:var(--normal)}.gauge-fill.lvl-caution,.bar-fill.lvl-caution{background:var(--caution)}.gauge-fill.lvl-warning,.bar-fill.lvl-warning{background:var(--warning)}.gauge-fill.lvl-danger,.bar-fill.lvl-danger{background:var(--danger)}.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bars li{display:flex;align-items:center;gap:8px;font-size:12px}.bar-label{width:68px;color:var(--text-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{flex:1;height:8px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:999px}.bar-val{width:62px;text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums}.alert-ok{color:var(--success-text);font-size:13px;padding-top:6px;display:flex;align-items:center;gap:6px}.alerts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.alert-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;border:1px solid var(--border-muted);background:var(--surface-raised)}.alert-row.lvl-danger{background:var(--danger-bg);border-color:var(--danger-border)}.alert-row.lvl-warning,.alert-row.lvl-caution{background:var(--warning-bg);border-color:var(--warning-border)}.alert-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.alert-row.lvl-danger .alert-dot{background:var(--danger-text)}.alert-row.lvl-warning .alert-dot,.alert-row.lvl-caution .alert-dot{background:var(--warning-text)}.alert-title{font-size:13px;font-weight:600;color:var(--text-title);word-break:keep-all;overflow-wrap:break-word}.alert-meta{font-size:11px;color:var(--text-secondary)}.cards-mini{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cards-mini li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:8px;border:1px solid var(--border-muted);border-left:3px solid var(--border-strong);background:var(--surface-panel)}.cards-mini li.lv-danger{border-left-color:var(--danger)}.cards-mini li.lv-warning{border-left-color:var(--warning)}.cards-mini li.lv-caution{border-left-color:var(--caution)}.cards-mini li.lv-normal{border-left-color:var(--normal)}.cards-mini img{width:48px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0;background:#0b1020}.cards-mini li>div{min-width:0;display:flex;flex-direction:column;gap:2px}.cm-title{font-size:12.5px;font-weight:700;color:var(--text-title);line-height:1.4;word-break:keep-all;overflow-wrap:break-word}.cm-meta{font-size:11px;color:var(--text-secondary)}.react-grid-item.react-grid-placeholder{background:var(--brand-blue);opacity:.15;border-radius:var(--radius)}.react-grid-item>.react-resizable-handle:after{border-color:var(--text-tertiary)}.react-grid-item>.react-resizable-handle{z-index:4}.react-grid-item:has(.portlet-body.is-map)>.react-resizable-handle.react-resizable-handle-se{width:20px;height:20px;right:2px;bottom:2px;padding:0;background:#ffffffeb;border-radius:6px 0 var(--radius) 0;box-shadow:-1px -1px 3px #0a14322e}.react-grid-item:has(.portlet-body.is-map)>.react-resizable-handle.react-resizable-handle-se:after{right:4px;bottom:4px;border-color:var(--brand-blue);border-width:0 2px 2px 0;width:7px;height:7px}.panel-note{padding:2px 14px 8px;color:var(--nav-soft);font-size:11px;word-break:keep-all}.tree-group{display:flex;flex-direction:column}.leaf-go{color:var(--nav-soft);font-size:11px;flex-shrink:0}.mono{font-family:JetBrains Mono,Inter,monospace}.settings{padding:18px 22px;overflow:auto;height:100%}.set-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.set-crumb{font-size:11px;color:var(--text-secondary);margin-bottom:4px}.set-crumb b{color:var(--text-body)}.set-head h2{margin:0 0 6px;font-size:18px;color:var(--text-title)}.set-desc{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.switch-row{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-body);cursor:pointer;white-space:nowrap}.switch{position:relative;width:40px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0;position:absolute}.slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-strong);border-radius:20px;transition:.2s}.slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+.slider{background:var(--brand-blue)}.switch input:checked+.slider:before{transform:translate(18px)}.panel{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px}.form-panel{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:700;color:var(--text-secondary)}.field input{padding:9px 12px;border:1px solid var(--border-control);border-radius:8px;font-size:13px;background:#fff;color:var(--text-primary);min-height:40px;font-family:inherit}.field input.mono{font-size:12px}.field input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px #0b4da71f}.field-row{display:flex;gap:14px;flex-wrap:wrap}.field-row .field{min-width:200px}.field.grow{flex:1;min-width:280px}.hint{font-size:12px;color:var(--text-secondary);line-height:1.7;margin:0}.hint code{background:var(--surface-control);padding:1px 6px;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--text-body)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:4px}.form-actions .status{margin-right:auto}.preview-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;color:var(--text-title);margin-bottom:14px}.preview-title .bar{width:5px;height:18px;background:var(--brand-blue);border-radius:3px}.preview-kv{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:14px}.preview-kv>div{display:flex;flex-direction:column;gap:3px}.preview-kv span{font-size:11px;color:var(--text-secondary);font-weight:600}.preview-kv b{font-size:16px;color:var(--text-title)}.preview-table{width:100%;border-collapse:collapse;font-size:12px}.preview-table th{text-align:center;padding:7px 10px;background:var(--grid-header);color:#fff;font-weight:600;border-bottom:2px solid var(--grid-header-border)}.preview-table td{padding:6px 10px;border-bottom:1px solid var(--border-muted);color:var(--text-body)}.preview-alerts{margin:10px 0 0;padding-left:18px;font-size:12px;color:var(--text-body)}.area-item{display:flex;flex-direction:column;height:100%;overflow:hidden}.ai-scroll{padding:18px 20px;overflow:auto;display:flex;flex-direction:column;gap:16px}.ai-hero-select{position:absolute;top:12px;right:14px;z-index:3}.ai-hero{position:relative;display:flex;align-items:center;gap:28px;flex-wrap:wrap;background:radial-gradient(120% 140% at 100% 0%,var(--accent-soft) 0%,transparent 55%),var(--surface-panel);border:1px solid var(--border-default);border-left:4px solid var(--accent);border-radius:var(--radius);padding:18px 22px}.ai-hero-left{flex:1 1 300px;min-width:0}.ai-hero-stats{flex:2 1 320px;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.ai-hero-stats .ai-tile{background:var(--surface-raised)}.ai-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--accent)}.ai-hero-left h2{margin:8px 0 10px;font-size:22px;color:var(--text-title)}.ai-big{display:flex;align-items:baseline;gap:6px}.ai-num{font-size:46px;font-weight:800;line-height:1;color:var(--text-title);font-variant-numeric:tabular-nums}.ai-bigyear{margin-top:5px;font-size:12.5px;font-weight:700;color:var(--text-secondary)}.ai-unit{font-size:16px;font-weight:600;color:var(--text-secondary)}.ai-tags{display:flex;align-items:center;gap:8px;margin-top:12px}.level-badge{color:#fff;font-size:12px;font-weight:700;padding:3px 12px;border-radius:999px;white-space:nowrap}.ai-summary{margin:12px 0 0;font-size:13px;color:var(--text-body);word-break:keep-all;overflow-wrap:break-word}.ai-hero-right{flex:0 0 240px;height:160px}.hero-chart{position:relative;width:100%;height:100%}.hero-chart-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.hc-value{font-size:30px;font-weight:800;color:var(--text-title);line-height:1;font-variant-numeric:tabular-nums}.hc-unit{font-size:12px;color:var(--text-secondary);margin-top:2px}.hc-scale{font-size:10px;color:var(--text-tertiary);margin-top:6px}.number-hero{height:100%;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:0 6px}.nh-value{font-size:40px;font-weight:800;color:var(--text-title);line-height:1;font-variant-numeric:tabular-nums}.nh-value span{font-size:15px;font-weight:600;color:var(--text-secondary);margin-left:5px}.nh-meter{height:12px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.nh-meter span{display:block;height:100%;border-radius:999px;transition:width .5s}.nh-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--text-tertiary)}.alert-hero{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.alert-hero i{font-size:54px}.ah-count{font-size:34px;font-weight:800;line-height:1}.ah-label{font-size:12px;color:var(--text-secondary)}.hero-thumb{width:100%;height:100%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-default);background:var(--surface-muted)}.hero-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px}.datacard{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;border-top:3px solid var(--border-strong)}.datacard.lv-danger{border-top-color:var(--danger)}.datacard.lv-warning{border-top-color:var(--warning)}.datacard.lv-caution{border-top-color:var(--caution)}.datacard.lv-normal{border-top-color:var(--normal)}.datacard-img{display:block;background:#0b1020}.datacard-img img{width:100%;max-height:220px;object-fit:contain;display:block}.datacard-body{padding:12px 14px;display:flex;flex-direction:column;gap:6px}.datacard-top{display:flex;align-items:center;gap:8px}.datacard-time{font-size:11px;color:var(--text-tertiary);margin-left:auto;font-variant-numeric:tabular-nums}.datacard-title{font-size:14px;font-weight:700;color:var(--text-title);word-break:keep-all;overflow-wrap:normal}.datacard-sub{font-size:12px;color:var(--text-secondary);word-break:keep-all;overflow-wrap:break-word}.datacard-desc{font-size:12px;color:var(--text-body);line-height:1.5;word-break:keep-all;overflow-wrap:break-word}.datacard-file{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:2px;font-size:12px;font-weight:600;color:var(--accent, #0b4da7);text-decoration:none;padding:4px 8px;border-radius:6px;background:#0b4da714;max-width:100%}.datacard-file:hover{background:#0b4da729;text-decoration:underline}.datacard-file i{flex:none}.ai-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--radius);border:1px solid}.ai-banner i{font-size:26px}.ai-banner b{display:block;font-size:14px}.ai-banner span{font-size:12px;opacity:.85}.ai-banner.lv-normal{background:var(--success-bg);border-color:#bbe5c9;color:var(--success-text)}.ai-banner.lv-caution{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.ai-banner.lv-warning{background:#fff1e0;border-color:#f5c98f;color:#b45309}.ai-banner.lv-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.ai-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ai-grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}.ai-grid2.single{grid-template-columns:1fr 1fr}.ai-card{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius);padding:16px 18px}.ai-card.span2{grid-column:1 / -1}.ai-card h3{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:15.5px;font-weight:700;color:var(--text-heading)}.ai-card h3 i{color:var(--accent);font-size:18px}.ai-about{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:var(--radius);padding:0;margin-top:4px}.ai-about>summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;padding:13px 18px;font-size:14px;font-weight:700;color:var(--text-heading)}.ai-about>summary::-webkit-details-marker{display:none}.ai-about>summary i{color:var(--accent);font-size:17px}.ai-about>summary:after{content:"›";margin-left:auto;font-size:18px;color:var(--text-tertiary);transform:rotate(90deg);transition:transform .15s}.ai-about[open]>summary:after{transform:rotate(-90deg)}.ai-about-hint{font-weight:500;font-size:12px;color:var(--text-tertiary)}.ai-about-body{padding:0 18px 16px;border-top:1px solid var(--border-muted)}.ai-about-body section{margin-top:14px}.ai-about-body h3{margin:0 0 6px;font-size:13.5px;font-weight:700;color:var(--text-heading)}.ai-about-body p{margin:0;font-size:13px;line-height:1.75;color:var(--text-secondary);word-break:keep-all}.ai-about-body ul{margin:0;padding-left:18px}.ai-about-body li{font-size:13px;line-height:1.8;color:var(--text-secondary);word-break:keep-all}.chart-h{height:220px}.chart-h.tall{height:300px}@media (max-width: 900px){.ai-grid2,.ai-grid2.single{grid-template-columns:1fr}}.ai-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.geo-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.ai-tile{background:var(--surface-raised);border:1px solid var(--border-muted);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.tl-label{font-size:11px;color:var(--text-secondary);font-weight:600}.tl-value{font-size:18px;font-weight:800;color:var(--text-title);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:4px 0 14px}.rd-stat{background:var(--surface-raised);border:1px solid var(--border-muted);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:5px}.rd-stat.accent{border-color:var(--accent, #c02020);box-shadow:inset 0 0 0 1px var(--accent, #c02020)}.rd-stat-label{font-size:11px;color:var(--text-secondary);font-weight:600}.rd-stat-value{font-size:17px;font-weight:800;color:var(--text-title);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-stat.accent .rd-stat-value{color:var(--accent, #c02020)}.rd-map-wrap{position:relative}.rd-stats.rd-overlay{position:absolute;top:8px;left:8px;right:8px;z-index:500;margin:0;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;pointer-events:none}.rd-stats.rd-overlay .rd-stat{background:#ffffffed;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-color:#0a14321a;box-shadow:0 2px 8px #0a143229;padding:7px 11px;gap:2px;pointer-events:auto}.rd-stats.rd-overlay .rd-stat-label{font-size:10px}.rd-stats.rd-overlay .rd-stat-value{font-size:14px}.leaflet-tooltip.hw-label{background:transparent;border:0;box-shadow:none;padding:0;display:flex;flex-direction:column;align-items:center;line-height:1.05;pointer-events:none}.leaflet-tooltip.hw-label:before{display:none}.hw-label .hw-city{font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55)}.hw-label .hw-val{font-size:14px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);font-variant-numeric:tabular-nums}.hw-legend{background:#fffffff0;border:1px solid rgba(10,20,50,.12);border-radius:8px;padding:7px 9px;box-shadow:0 2px 8px #0a143229;font-size:11px;color:#334155}.hw-legend-title{font-weight:700;margin-bottom:4px}.hw-legend-bar{height:8px;border-radius:4px;border:1px solid rgba(10,20,50,.1)}.hw-legend-scale{display:flex;justify-content:space-between;margin-top:3px;font-size:10px;color:#64748b}.alert-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.alert-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid}.alert-card i{font-size:24px}.alert-card b{display:block;font-size:13px;color:var(--text-title)}.alert-card span{font-size:11px;color:var(--text-secondary)}.alert-card.lv-danger{background:var(--danger-bg);border-color:var(--danger-border)}.alert-card.lv-warning,.alert-card.lv-caution{background:var(--warning-bg);border-color:var(--warning-border)}.table-scroll{overflow-x:auto;border:1px solid var(--border-default);border-radius:6px}.ai-table{width:100%;min-width:max-content;border-collapse:separate;border-spacing:0;font-family:var(--font-data);font-size:12px;white-space:nowrap}.ai-table th{height:36px;padding:0 10px;text-align:center;vertical-align:middle;background:var(--grid-header);color:#fff;font-weight:600;border-right:1px solid var(--grid-header-border);border-bottom:2px solid var(--grid-header-border);position:sticky;top:0;z-index:2;overflow:hidden;text-overflow:ellipsis}.ai-table th:last-child{border-right:none}.ai-table td{height:34px;padding:0 10px;vertical-align:middle;color:var(--text-body);border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default);overflow:hidden;text-overflow:ellipsis;max-width:320px}.ai-table td:last-child{border-right:none}.ai-table tbody tr{background:var(--surface-panel)}.ai-table tbody tr:nth-child(2n){background:var(--grid-row-alt)}.ai-table tbody tr:hover{background:var(--grid-row-hover)}.ai-table tbody tr:last-child td{border-bottom:none}.ai-table td.num{text-align:right;font-variant-numeric:tabular-nums;color:var(--grid-num)}.ai-table td.ctr{text-align:center}.ai-table th.idx-col,.ai-table td.idx{width:44px;min-width:44px;padding:0 4px;text-align:center}.ai-table td.idx{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.ai-table.wide{width:100%}.dt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.dt-head h3{margin:0;display:flex;align-items:center;gap:7px;font-size:15.5px;font-weight:700;color:var(--text-heading)}.dt-head h3 i{color:var(--accent);font-size:18px}.wx-toprow{display:grid;grid-template-columns:28% 1fr;gap:16px;align-items:stretch}.wx-toprow>*{min-width:0}@media (max-width: 900px){.wx-toprow{grid-template-columns:1fr}}.wx-map-wrap{position:relative}.wx-mapcard .wx-map{width:100%;height:520px;border-radius:8px;overflow:hidden;background:var(--surface-muted);cursor:pointer}.wx-map-reset{position:absolute;top:8px;right:8px;z-index:1000;display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;font-size:12px;font-weight:700;color:var(--text-body);background:var(--surface-panel);border:1px solid var(--border-control);border-radius:6px;cursor:pointer;box-shadow:0 1px 4px #00000026}.wx-map-reset:hover{background:var(--surface-control-hover)}.wx-map-reset i{font-size:13px}.wx-map .leaflet-container{background:transparent;font:inherit}.wx-map .leaflet-container:focus,.wx-map .leaflet-interactive:focus,.wx-map path:focus{outline:none}.wx-map-tip{font-size:12px;font-weight:700}.wx-chartrow{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.wx-chartrow>*{min-width:0}@media (max-width: 900px){.wx-chartrow{grid-template-columns:1fr}}.wx-outlook{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:10px;background:linear-gradient(120deg,var(--accent-soft) 0%,var(--surface-panel) 70%);border:1px solid var(--border-default)}.wx-outlook>i{font-size:26px;color:var(--accent);flex:0 0 auto;margin-top:1px}.wx-outlook b{display:block;font-size:13px;font-weight:800;color:var(--text-title);margin-bottom:3px}.wx-outlook span{font-size:13px;line-height:1.6;color:var(--text-body);word-break:keep-all}.wx-outlook .wx-outlook-line{display:block;margin-top:3px}.wx-outlook .wx-outlook-line.sub{padding-left:14px;color:var(--text-secondary)}.wx-days{display:flex;gap:8px;padding:2px 0 6px;overflow-x:auto}.wx-day{flex:1 1 108px;min-width:108px;border:1px solid var(--border-default);border-top:3px solid var(--accent);border-radius:10px;padding:10px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--surface-panel)}.wx-day-date{font-size:12.5px;font-weight:800;color:var(--text-title);white-space:nowrap}.wx-day-tag{font-size:10px;font-weight:700;color:var(--text-tertiary)}.wx-day-ic{font-size:30px;margin:3px 0}.wx-day-sky{font-size:11.5px;color:var(--text-secondary);min-height:15px;white-space:nowrap}.wx-day-temp{font-size:14px;font-variant-numeric:tabular-nums;margin:2px 0;white-space:nowrap}.wx-day-meta{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:3px;white-space:nowrap}.wx-day-ampm{width:100%;display:flex;flex-direction:column;gap:1px;margin-top:1px}.wx-day-ampm span{font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sif-hero-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-content:start}.sif-hero-stats .ai-tile .tl-value{color:var(--text-title)}.sif-hero-stats .ai-tile .tl-sub{font-size:11px;color:var(--text-tertiary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sif-agg-title{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:15.5px;font-weight:700;color:var(--text-heading)}.sif-agg-title i{color:var(--accent);font-size:18px}.sif-agg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 820px){.sif-agg-grid{grid-template-columns:1fr}}.sif-agg-block{min-width:0}.sif-agg-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid var(--border-default)}.sif-agg-field{font-size:13.5px;font-weight:700;color:var(--text-heading);white-space:nowrap}.sif-agg-top{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sif-agg-top b{color:var(--text-title);font-weight:700}.sif-agg-top em{font-style:normal;font-weight:800;color:var(--brand-blue);margin-left:3px}.sif-agg-chart{width:100%}.sif-detail{display:flex;flex-direction:column;gap:12px}.sif-field{display:grid;grid-template-columns:132px 1fr;gap:12px;align-items:start}.sif-field-k{font-size:12.5px;font-weight:700;color:#475569;padding-top:1px}.sif-field-v{font-size:13.5px;line-height:1.65;color:#1e293b;white-space:pre-wrap;word-break:break-word}.sif-field+.sif-field{border-top:1px solid #eef1f4;padding-top:12px}@media (max-width: 560px){.sif-field{grid-template-columns:1fr;gap:3px}}.dt-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dt-filter{max-width:240px}.dt-search{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-panel);min-width:220px}.dt-search:focus-within{border-color:var(--brand, #0b4da7);box-shadow:0 0 0 3px #0b4da71a}.dt-search i{color:var(--text-tertiary);font-size:15px}.dt-search input{border:0;outline:0;background:transparent;font-size:13px;width:100%;color:var(--text-body)}.dt-clear{border:0;background:transparent;cursor:pointer;color:var(--text-tertiary);display:flex;padding:2px}.dt-clear:hover{color:var(--text-body)}.ai-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ai-table th.sortable:hover{background:#2f4160}.ai-table tr.dt-clickable{cursor:pointer}.ai-table td.dt-link{color:var(--brand-blue, #0b4da7);font-weight:600}.ai-table tr.dt-clickable:hover td.dt-link{text-decoration:underline}.ai-table th .sort-ic{margin-left:5px;font-size:12px;opacity:.45;vertical-align:middle}.ai-table th .sort-ic.on{opacity:1}.dt-empty{text-align:center;color:var(--text-tertiary);padding:22px 0}.dt-pager{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px}.dt-pager button{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-panel);cursor:pointer;color:var(--text-body)}.dt-pager button:hover:not(:disabled){background:var(--grid-row-hover);border-color:var(--brand, #0b4da7)}.dt-pager button:disabled{opacity:.4;cursor:default}.dt-page{font-family:var(--font-data);font-size:13px;color:var(--text-body);padding:0 8px;min-width:64px;text-align:center}@media (max-width: 1024px){.ai-grid,.ai-grid2,.ai-grid2.single{grid-template-columns:1fr}.ai-hero-right{flex-basis:100%;height:200px}}@media (max-width: 860px){.gnb-hamburger{display:inline-flex}.gnb{padding:0 12px;gap:8px}.gnb-logo{min-width:0}.gnb-logo .wordmark{font-size:15px}.gnb-logo .wordmark small{display:none}.gnb-right{gap:8px}.gnb-user .u-meta,.gnb-session{display:none}.nav{position:fixed;top:var(--gnb-h);left:0;bottom:0;z-index:60;transform:translate(-100%);transition:transform .25s ease;box-shadow:6px 0 24px #0a143247}.nav.open{transform:translate(0)}.nav-rail{width:84px;min-width:84px}.nav-panel{width:min(66vw,240px);min-width:0}.nav-backdrop{position:fixed;inset:var(--gnb-h) 0 0 0;z-index:55;background:#0a101e73;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.page-toolbar{flex-direction:column;align-items:stretch;gap:8px;padding:10px 14px}.pt-actions{width:100%;flex-wrap:wrap}.pt-actions .btn{flex:1 1 auto;justify-content:center}.ai-scroll{padding:12px;gap:12px}.ai-hero{padding:14px 16px;gap:14px}.ai-hero-left h2{font-size:19px}.ai-num{font-size:34px}.cardgrid{grid-template-columns:1fr}.mobile-portlets{flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:12px}.m-portlet{height:340px;flex-shrink:0}.dt-head{align-items:stretch}.dt-search{width:100%;min-width:0}.set-row-head{flex-wrap:wrap}.set-row-body{padding:4px 12px 12px}}@media (max-width: 560px){.gnb-user{display:none}.gnb-logo .wordmark{font-size:14px}.foot{font-size:10px;padding:0 12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ai-num{font-size:30px}.ai-hero-stats{grid-template-columns:repeat(2,1fr)}.rail-item{min-height:72px}.rail-item i{font-size:21px}}.set-group{margin-bottom:18px}.set-group-head{display:flex;align-items:center;gap:8px;padding:8px 4px;margin-bottom:8px;font-size:14px;font-weight:800;color:var(--text-title);border-bottom:2px solid var(--border-default)}.set-group-head .grp-count{margin-left:auto;font-size:12px;color:var(--text-secondary);font-weight:600}.set-row{border:1px solid var(--border-default);border-radius:10px;background:var(--surface-panel);margin-bottom:8px;overflow:hidden}.set-row-head{width:100%;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;gap:10px;padding:11px 14px;text-align:left}.set-row-head:hover{background:var(--surface-raised)}.set-row-head .caret{color:var(--text-tertiary)}.sr-code{font-size:11px;font-weight:800;color:#fff;background:var(--text-tertiary);border-radius:5px;padding:1px 7px}.sr-name{font-size:13px;font-weight:700;color:var(--text-title)}.sr-provider{font-size:12px;color:var(--text-secondary)}.set-row-head .src{margin-left:auto}.set-row-body{padding:4px 16px 16px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border-muted)}.set-preview{font-size:12px;color:var(--text-body);background:var(--surface-raised);border:1px solid var(--border-muted);border-radius:8px;padding:10px 12px}.set-preview-items{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.set-preview-items em{font-style:normal;color:var(--text-secondary);background:var(--surface-control);border-radius:4px;padding:1px 6px}.wxdark{display:flex;flex-direction:column;gap:12px}.wxd-region{display:flex;align-items:center;justify-content:flex-end;gap:10px}.wxd-region>span{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:#6a7898}.wxd-region>span i{color:var(--accent, #2563eb);font-size:15px}.wxd-hero{background:linear-gradient(135deg,#eef3fc,#e8eefb);border:1px solid var(--border-muted, #e6eaf1);border-radius:18px;padding:16px 22px 14px;display:flex;flex-direction:column;gap:10px}.wxd-hero-eyebrow{font-size:12px;font-weight:600;color:#8a97b3}.wxd-hero-main{display:flex;align-items:center;gap:16px}.wxd-hero-ic{font-size:46px;line-height:1}.wxd-hero-temp{font-size:46px;font-weight:800;color:#1b2740;line-height:1;font-variant-numeric:tabular-nums}.wxd-hero-temp span{font-size:22px;font-weight:700;color:#5a6b8c;margin-left:1px}.wxd-hero-cond{display:flex;flex-direction:column;gap:2px}.wxd-hero-cond b{font-size:17px;font-weight:800;color:#1b2740}.wxd-hero-cond span{font-size:13px;color:#6a7898;font-weight:600}.wxd-hero-desc{font-size:13.5px;color:#3a4a70;margin:0;line-height:1.5}.wxd-hero-row{display:flex;gap:8px;border-top:1px solid rgba(20,35,75,.08);padding-top:12px;margin-top:2px}.wxd-hero-row>div{flex:1;display:flex;flex-direction:column;gap:3px}.wxd-hero-row span{font-size:11.5px;color:#8a97b3;font-weight:600}.wxd-hero-row b{font-size:14.5px;font-weight:800;color:#1b2740;display:flex;align-items:center;gap:5px}.wxd-wind-arrow{color:#2563eb;font-size:12px;display:inline-block}@media (max-width: 640px){.wxd-hero-row{flex-wrap:wrap}.wxd-hero-row>div{flex:0 0 30%}}.wx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media (max-width: 900px){.wx-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.wx-grid{grid-template-columns:1fr}}.wxc{position:relative;height:321px;box-sizing:border-box;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#fff,#f5f8fd);border:1px solid var(--border-muted, #e6eaf1);padding:16px 18px 15px;display:flex;flex-direction:column;gap:8px;box-shadow:0 6px 18px #14234b12}.wxc-h{font-size:12.5px;font-weight:700;letter-spacing:.02em;color:#6a7898;flex:0 0 auto;display:flex;align-items:baseline;gap:8px}.wxc-h em{font-style:normal;font-size:11.5px;font-weight:600;color:#97a3bd}.wxc-main{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:0;position:relative}.wxc-foot{flex:0 0 auto;display:flex;flex-direction:column;gap:3px;min-height:52px}.wxc-foot b{font-size:14.5px;font-weight:800;color:#1b2740}.wxc-foot span{font-size:11.5px;color:#6a7898;font-weight:500;line-height:1.5}.wxc-curve{position:relative;width:100%;height:100%;min-height:120px}.wxc-curve-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.wxc-curve-v{position:absolute;right:14px;bottom:6px;font-size:40px;font-weight:800;color:#1b2740;font-variant-numeric:tabular-nums;line-height:1}.wxc-curve-dot{position:absolute;width:13px;height:13px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #ffffffd9,0 1px 4px #0003}.wxc-ring{position:relative;width:168px;height:168px}.wxc-ring svg{width:100%;height:100%}.wxc-ring-c{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.wxc-ring-c b{font-size:22px;font-weight:800;color:#1b2740}.wxc-ring-c span{font-size:13px;color:#8896b4;font-weight:600}.wxc-arcg{position:relative;width:190px;height:176px}.wxc-arcg svg{width:100%;height:100%}.wxc-arcg-c{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:800;color:#1b2740}.wxc-compass{width:176px;height:176px}.wxc-compass-c{font-size:8px;fill:#8896b4;font-weight:700}.wxc-barswrap{display:flex;align-items:center;gap:14px;height:100%;width:100%;justify-content:center}.wxc-bars{display:flex;align-items:flex-end;gap:5px;height:92px}.wxc-bars span{width:9px;border-radius:3px;opacity:.9}.wxc-bars-v{font-size:38px;font-weight:800;color:#1b2740;font-variant-numeric:tabular-nums}.wxc-bars-v small,.wxc-funnel-v small{font-size:17px;font-weight:600;color:#8896b4;margin-left:2px}.wxc-funnel{position:relative;width:100%;height:100%;display:flex;align-items:center}.wxc-funnel-bars{display:flex;flex-direction:column-reverse;gap:7px;width:60%}.wxc-funnel-bars span{height:11px;border-radius:5px;opacity:.9}.wxc-funnel-v{position:absolute;right:10px;bottom:8px;font-size:38px;font-weight:800;color:#1b2740;font-variant-numeric:tabular-nums}.wxc-dayarc{width:100%;height:124px}.wx-note{font-size:11.5px;color:#8a9ab8;margin:2px 2px 0;line-height:1.6}.auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0 2px;color:var(--text-tertiary, #8a9ab8);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-muted, #e6eaf1)}.auth-google{display:flex;justify-content:center;min-height:40px}.auth-legal-link{color:var(--text-secondary, #6a7898);text-decoration:underline;font-size:12px}.legal-wrap{width:100%;display:flex;justify-content:center;padding:28px 16px 60px}.legal-card{width:100%;max-width:760px;background:var(--surface-panel, #fff);border:1px solid var(--border-muted, #e6eaf1);border-radius:16px;padding:32px 34px;box-shadow:var(--shadow-soft, 0 6px 18px rgba(20,35,75,.07));line-height:1.7;color:var(--text-body, #3a4a70)}.legal-head{border-bottom:1px solid var(--border-muted, #e6eaf1);padding-bottom:16px;margin-bottom:18px}.legal-head h1{font-size:24px;color:var(--text-title, #1b2740);margin:12px 0 4px}.legal-sub{font-size:12.5px;color:var(--text-tertiary, #8a9ab8);margin:0}.legal-card section{margin:18px 0}.legal-card h2{font-size:15.5px;color:var(--text-title, #1b2740);margin:0 0 8px}.legal-card ul{margin:6px 0 0;padding-left:18px}.legal-card li{margin:3px 0}.legal-card a{color:var(--accent, #2563eb)}.legal-foot{border-top:1px solid var(--border-muted, #e6eaf1);padding-top:16px;margin-top:22px;font-size:12.5px;color:var(--text-tertiary, #8a9ab8);display:flex;flex-direction:column;gap:12px;align-items:flex-start}.account-info{display:flex;flex-direction:column;gap:8px;margin:6px 0 0}.account-info>div{display:flex;gap:14px;font-size:14px}.account-info dt{flex:0 0 72px;color:var(--text-tertiary, #8a9ab8);font-weight:600}.account-info dd{margin:0;color:var(--text-title, #1b2740);font-weight:600}.account-danger{border:1px solid #f3c6c6;background:#fdf5f5;border-radius:12px;padding:16px 18px}.account-danger h2{color:#c0392b}.account-danger p{font-size:13px;margin:6px 0 14px}.btn.danger{background:#e14b4b;border-color:#e14b4b;color:#fff}.btn.danger:hover:not(:disabled){background:#cf3b3b;border-color:#cf3b3b}.btn.danger:disabled{opacity:.6;cursor:default}.provider-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--surface-muted, #eef1f6);color:var(--text-secondary, #6a7898)}.provider-badge.google{background:#eaf1fe;color:#1a73e8}.provider-badge.google i{font-size:14px}.legal-view .ai-hero-stats{flex:2 1 320px}.legal-search{display:flex;align-items:center;gap:10px;margin-bottom:4px}.legal-search-box{flex:1;min-width:0}.legal-search .btn{white-space:nowrap}.legal-result-meta{font-size:12px;color:var(--text-tertiary);margin:10px 2px 8px}.legal-count{font-size:13px;font-weight:600;color:var(--text-secondary)}.legal-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.legal-select,.legal-cat-select{height:32px;padding:0 28px 0 10px;border:1px solid var(--border-control);border-radius:6px;background:var(--surface-panel);color:var(--text-body);font-size:13px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a9ab8' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.legal-select:focus,.legal-cat-select:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px #0b4da71a}.legal-cat-select{height:28px;font-size:12px;padding:0 24px 0 8px;min-width:84px}.legal-cat-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--surface-muted);color:var(--text-secondary)}.legal-link{color:var(--brand-blue);font-weight:600;text-decoration:none}.legal-link:hover{text-decoration:underline}.legal-link i{font-size:12px;opacity:.7}.legal-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}.legal-chip.done{background:var(--success-bg);color:var(--success-text)}.legal-del{border:0;background:transparent;cursor:pointer;color:var(--text-tertiary);font-size:17px;padding:4px;border-radius:6px;display:inline-flex}.legal-del:hover{color:#dc2626;background:#dc26261a}.legal-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;color:var(--text-tertiary);font-size:13.5px;text-align:center}.legal-empty i{font-size:40px;color:var(--text-disabled)}.legal-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.legal-pageinfo{font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:56px;text-align:center}.legal-syncbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-2px 0 14px;padding:10px 12px;border-radius:8px;background:var(--surface-muted);border:1px solid var(--border-muted)}.legal-syncinfo{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-secondary)}.legal-syncinfo i{font-size:16px;color:var(--accent)}.legal-syncinfo b{color:var(--text-title);font-weight:700}.legal-syncinfo em{font-style:normal;color:var(--text-tertiary)}.legal-syncbtns{display:flex;align-items:center;gap:8px}.legal-kw-modal{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:12px;width:min(560px,92vw);max-height:82vh;display:flex;flex-direction:column;padding:18px 20px;box-shadow:0 24px 60px #00000047}.legal-kw-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.legal-kw-head h3{margin:0;display:flex;align-items:center;gap:7px;font-size:16px;font-weight:700;color:var(--text-title)}.legal-kw-head h3 i{color:var(--accent)}.legal-kw-desc{margin:0 0 14px;font-size:12.5px;line-height:1.55;color:var(--text-secondary)}.legal-kw-desc b{color:var(--text-body);font-weight:700}.legal-kw-add{display:flex;gap:8px;margin-bottom:12px}.legal-kw-add input{flex:1;min-width:0;height:34px;padding:0 12px;border:1px solid var(--border-control);border-radius:7px;background:var(--surface-panel);color:var(--text-body);font-size:13px}.legal-kw-add input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px #0b4da71a}.legal-kw-add .legal-select{height:34px}.legal-kw-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;min-height:60px}.legal-kw-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;background:var(--surface-muted);border:1px solid var(--border-muted)}.legal-kw-text{flex:1;font-size:13px;color:var(--text-body);font-weight:600}.legal-kw-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-default)}body[data-theme=dark]{--shell-bg: #0a1220;--surface-page: #0d1729;--surface-panel: #182338;--surface-raised: #1e2a42;--surface-muted: #212f49;--surface-hover: #1f2c46;--surface-control: #1d2940;--surface-control-hover: #26344f;--surface-selected: #23406b;--surface-subtle: #16233a;--grid-header: #243453;--grid-header-border: #2c3a55;--grid-row-alt: rgba(255,255,255,.035);--grid-row-hover: rgba(90,139,250,.14);--grid-num: #e5e9f4;--border-default: #2c3a55;--border-muted: #283650;--border-strong: #3b4b69;--border-control: #33425f;--border-subtle: #223049;--text-primary: #e5e9f4;--text-title: #f0f4fc;--text-heading: #dbe3f2;--text-body: #c4cee1;--text-secondary: #95a1ba;--text-tertiary: #7e8ba6;--text-disabled: #5c6a86;--brand-blue: #2f6fd6;--brand-green: #22c07f;--success-bg: rgba(78,214,161,.15);--success-text: #4ed6a1;--warning-bg: rgba(242,181,88,.15);--warning-text: #f2b558;--warning-border: rgba(242,181,88,.38);--danger-bg: rgba(245,113,113,.15);--danger-text: #f57171;--danger-border: rgba(245,113,113,.38);--info-bg: rgba(123,164,251,.15);--info-text: #9db8fc;--info-border: rgba(123,164,251,.38);--normal: #4ed6a1;--caution: #f2b558;--warning: #fb923c;--danger: #f57171;--area-s: #f57171;--area-h: #f2b558;--area-e: #4ed6a1;--shadow-soft: 0 6px 18px rgba(0,0,0,.42);color-scheme:dark}.gnb-theme{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--action-border);background:var(--session-bg);color:var(--nav-strong);cursor:pointer;transition:background .15s,color .15s}.gnb-theme:hover{background:var(--white-hover);border-color:var(--action-border);color:#fff}.gnb-theme i{font-size:16px}body[data-theme=dark] .ai-hero{background:var(--surface-panel)}body[data-theme=dark] .recharts-text,body[data-theme=dark] .recharts-cartesian-axis-tick-value,body[data-theme=dark] .recharts-cartesian-axis-tick-value tspan,body[data-theme=dark] .recharts-legend-item-text,body[data-theme=dark] .recharts-polar-angle-axis-tick-value tspan{fill:var(--text-secondary)!important}body[data-theme=dark] .recharts-cartesian-grid line,body[data-theme=dark] .recharts-polar-grid line,body[data-theme=dark] .recharts-polar-grid path,body[data-theme=dark] .recharts-cartesian-axis line{stroke:var(--border-muted)!important}body[data-theme=dark] .recharts-radial-bar-background-sector,body[data-theme=dark] .recharts-polar-grid-concentric-circle{fill:var(--surface-muted)!important}body[data-theme=dark] .recharts-default-tooltip{background:var(--surface-panel)!important;border-color:var(--border-default)!important}body[data-theme=dark] .recharts-tooltip-item,body[data-theme=dark] .recharts-tooltip-label{color:var(--text-body)!important}body[data-theme=dark] .wxd-hero{background:linear-gradient(135deg,#1e2a44,#18233b);border-color:#ffffff12}body[data-theme=dark] .wxd-hero-temp,body[data-theme=dark] .wxd-hero-cond b,body[data-theme=dark] .wxd-hero-row b{color:#eef2fb}body[data-theme=dark] .wxd-hero-temp span,body[data-theme=dark] .wxd-hero-cond span{color:#95a1ba}body[data-theme=dark] .wxd-hero-eyebrow,body[data-theme=dark] .wxd-hero-row span{color:#7e8ba6}body[data-theme=dark] .wxd-hero-desc{color:#c4cee1}body[data-theme=dark] .wxd-hero-row{border-top-color:#ffffff1a}body[data-theme=dark] .wxc{background:linear-gradient(180deg,#1e2a42,#182338);border-color:#ffffff12}body[data-theme=dark] .wxc-h{color:#95a1ba}body[data-theme=dark] .wxc-h em{color:#7e8ba6}body[data-theme=dark] .wxc-foot b,body[data-theme=dark] .wxc-curve-v,body[data-theme=dark] .wxc-ring-c b,body[data-theme=dark] .wxc-arcg-c,body[data-theme=dark] .wxc-bars-v,body[data-theme=dark] .wxc-funnel-v,body[data-theme=dark] .wxc-big{color:#f0f4fc}body[data-theme=dark] .wxc-foot span,body[data-theme=dark] .wxc-ring-c span,body[data-theme=dark] .wxc-bars-v small,body[data-theme=dark] .wxc-funnel-v small,body[data-theme=dark] .wxc-unit{color:#8896b4}body[data-theme=dark] .wxc-compass-v{fill:#f0f4fc}body[data-theme=dark] .wxc-compass-c,body[data-theme=dark] .wxc-compass-u{fill:#8896b4}body[data-theme=dark] .wxc-ring svg circle:first-of-type,body[data-theme=dark] .wxc-arcg svg path:first-of-type{stroke:#ffffff47!important}body[data-theme=dark] .wxc-compass>circle:first-of-type{stroke:#ffffff52!important}body[data-theme=dark] .wxc-dayarc line{stroke:#ffffff42!important}body[data-theme=dark] .wxc-dayarc path{opacity:.8!important}.geo-maprow{display:flex;gap:12px;margin:4px 0 16px;flex-wrap:wrap;align-items:stretch}.geo-card .geo-maprow{margin:0}.geo-maprow-map{flex:1 1 55%;min-width:340px;height:460px}.geo-maprow-stat{flex:1 1 40%;min-width:300px}@media (max-width: 900px){.geo-maprow-map,.geo-maprow-stat{flex-basis:100%}}
