.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--pill-border);background:var(--pill-bg);color:var(--text-secondary);cursor:pointer;border-radius:50%;transition:all .2s ease;padding:0}.theme-toggle:hover{background:var(--menu-hover-bg);border-color:var(--accent);color:var(--accent)}.theme-toggle svg{width:18px;height:18px;transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(20deg)}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev.swiper-button-hidden,.swiper-button-next.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-prev,.swiper-navigation-disabled .swiper-button-next{display:none!important}.swiper-button-prev svg,.swiper-button-next svg{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal~.swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-next .swiper-navigation-icon{transform:rotate(180deg)}.swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-prev .swiper-navigation-icon{transform:rotate(0)}.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto}.swiper-vertical .swiper-button-prev .swiper-navigation-icon,.swiper-vertical~.swiper-button-prev .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto}.swiper-vertical .swiper-button-next .swiper-navigation-icon,.swiper-vertical~.swiper-button-next .swiper-navigation-icon{transform:rotate(90deg)}.address-search-modal{min-height:400px}.address-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:12px}.address-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;font-size:14px;transition:all .2s}.address-tab:hover{background:var(--hover-bg);color:var(--text)}.address-tab.active{background:var(--primary);color:#fff}.address-search-panel{display:flex;flex-direction:column;gap:12px}.search-input-row{display:flex;gap:8px}.search-input-row .search-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--input-bg);color:var(--text)}.search-input-row .search-input:focus{outline:none;border-color:var(--primary)}.search-btn{padding:10px 16px;border:none;background:var(--primary);color:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.search-btn:hover{background:var(--accent-hover)}.search-btn:disabled{opacity:.6;cursor:not-allowed}.searching-text{text-align:center;color:var(--text-secondary);padding:20px}.search-results{max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.search-result-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s;position:relative}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--hover-bg)}.result-address{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text)}.result-detail{display:flex;gap:8px;padding-left:22px;font-size:12px}.result-detail .zipcode{color:var(--primary);font-weight:500}.result-detail .road-name{color:var(--text-secondary)}.result-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.no-results{text-align:center;color:var(--text-secondary);padding:40px 20px}.address-select-panel{display:flex;flex-direction:column;gap:16px}.select-row{display:flex;flex-direction:column;gap:6px}.select-row label{font-size:13px;font-weight:500;color:var(--text-secondary)}.select-row select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--input-bg);color:var(--text);cursor:pointer}.select-row select:focus{outline:none;border-color:var(--primary)}.select-row select:disabled{opacity:.5;cursor:not-allowed}.selected-address-preview{margin-top:16px;padding:16px;background:var(--accent-bg, rgba(59, 130, 246, .1));border:1px solid var(--primary);border-radius:8px}.preview-label{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.preview-address{font-size:15px;font-weight:500;color:var(--text);margin-bottom:12px}.preview-zipcode{color:var(--primary);margin-right:8px}.select-confirm-btn{width:100%;padding:10px;border:none;background:var(--primary);color:#fff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.select-confirm-btn:hover{background:var(--accent-hover)}.activity-analysis{padding:24px;width:100%}.activity-analysis__title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 24px}.activity-analysis__filter-row{display:flex;align-items:center;gap:24px}.activity-analysis__division-filter{display:flex;background:var(--bg-secondary);border-radius:10px;padding:4px;gap:4px}.activity-analysis__division-btn{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.activity-analysis__division-btn:hover{color:var(--text-primary);background:#6366f11a}.activity-analysis__division-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 4px #6366f14d}.activity-analysis__section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.activity-analysis__section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.activity-analysis__section-title{font-size:15px;font-weight:600;color:var(--text-primary)}.activity-analysis__date-range{font-size:13px;color:var(--text-secondary);background:var(--bg-secondary);padding:4px 12px;border-radius:6px}.activity-analysis__section-actions{display:flex;gap:8px}.activity-analysis__action-btn{padding:6px 12px;font-size:12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.activity-analysis__action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.activity-analysis__period-buttons{display:flex;gap:12px}.activity-analysis__period-btn{padding:10px 24px;font-size:14px;font-weight:500;border:2px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.activity-analysis__period-btn:hover{border-color:var(--primary);color:var(--primary)}.activity-analysis__period-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.activity-analysis__employee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.activity-analysis__employee-card{position:relative;padding:16px 12px;background:var(--panel);border:2px solid var(--border);border-radius:12px;text-align:center;cursor:pointer;transition:all .2s ease}.activity-analysis__employee-card:hover:not(.disabled){border-color:var(--primary);box-shadow:0 4px 12px #00000014}.activity-analysis__employee-card.selected{border-color:var(--primary);background:#6366f10d}.activity-analysis__employee-card.disabled{opacity:.5;cursor:not-allowed}.activity-analysis__check-icon{position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--primary);color:#fff;border-radius:50%;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.activity-analysis__employee-avatar{font-size:32px;margin-bottom:8px}.activity-analysis__employee-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.activity-analysis__employee-dept{font-size:11px;color:var(--text-secondary);margin-bottom:8px}.activity-analysis__employee-count{font-size:13px;font-weight:600;color:var(--primary);background:#6366f11a;padding:4px 8px;border-radius:6px;display:inline-block}.activity-analysis__employee-card.disabled .activity-analysis__employee-count{color:var(--text-secondary);background:var(--bg-secondary)}.activity-analysis__loading{text-align:center;padding:40px;color:var(--text-secondary)}.activity-analysis__error{padding:16px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-top:16px}.activity-analysis__analyze-section{text-align:center;margin:24px 0}.activity-analysis__analyze-btn{padding:16px 48px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #667eea4d}.activity-analysis__analyze-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.activity-analysis__analyze-btn:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.activity-analysis__result{margin-top:32px}.activity-analysis__result-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--border)}.activity-analysis__result-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.activity-analysis__result-card.summary{background:var(--bg-secondary)}.activity-analysis__result-card.strengths{background:#dcfce7;border-color:#86efac}.activity-analysis__result-card.improvements{background:#fef3c7;border-color:#fcd34d}.activity-analysis__result-card.recommendations{background:#e0e7ff;border-color:#a5b4fc}.activity-analysis__result-card-header{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.activity-analysis__result-icon{font-size:20px}.activity-analysis__result-content{font-size:14px;line-height:1.6;color:var(--text-primary);margin:0}.activity-analysis__stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.activity-analysis__stat{text-align:center}.activity-analysis__stat-value{display:block;font-size:24px;font-weight:700;color:var(--primary)}.activity-analysis__stat-label{font-size:12px;color:var(--text-secondary)}.activity-analysis__result-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.activity-analysis__result-row{grid-template-columns:1fr}.activity-analysis__stats-grid{grid-template-columns:repeat(2,1fr)}}.activity-analysis__result-list{margin:0;padding:0 0 0 20px}.activity-analysis__result-list li{margin-bottom:12px}.activity-analysis__result-list li:last-child{margin-bottom:0}.activity-analysis__result-list strong{display:block;font-size:14px;color:var(--text-primary);margin-bottom:4px}.activity-analysis__result-list p{font-size:13px;color:var(--text-secondary);margin:0 0 4px}.activity-analysis__result-list small{font-size:12px;color:var(--text-secondary);font-style:italic}.activity-analysis__result-list.numbered{padding-left:24px}.activity-analysis__result-list.numbered li{font-size:14px;color:var(--text-primary);line-height:1.6}.activity-analysis__markdown-content{font-size:14px;line-height:1.7;color:var(--text-primary)}.activity-analysis__markdown-content h1,.activity-analysis__markdown-content h2,.activity-analysis__markdown-content h3{margin-top:20px;margin-bottom:12px;color:var(--text-primary)}.activity-analysis__markdown-content h2{font-size:18px;border-bottom:2px solid var(--primary);padding-bottom:8px}.activity-analysis__markdown-content h3{font-size:16px;color:var(--primary)}.activity-analysis__markdown-content ul,.activity-analysis__markdown-content ol{margin:12px 0;padding-left:24px}.activity-analysis__markdown-content li{margin:6px 0}.activity-analysis__markdown-content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13px}.activity-analysis__markdown-content th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 16px;text-align:left;font-weight:600}.activity-analysis__markdown-content th:first-child{border-radius:8px 0 0}.activity-analysis__markdown-content th:last-child{border-radius:0 8px 0 0}.activity-analysis__markdown-content td{padding:12px 16px;border-bottom:1px solid var(--border)}.activity-analysis__markdown-content tr:hover td{background:#667eea0d}.activity-analysis__markdown-content strong{color:var(--primary)}.ar-aging-now-page{padding:24px;background:var(--bg-secondary, #f8fafc);min-height:100%}.ar-page-header{margin-bottom:24px}.ar-page-header h1{font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 4px}.ar-page-header p{font-size:14px;color:var(--text-secondary, #64748b);margin:0}.ar-search-section{background:var(--panel, #ffffff);border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000001a}.search-row{display:flex;align-items:center;gap:12px}.search-row label{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap}.search-input{flex:1;max-width:400px;padding:10px 14px;border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:14px;background:var(--bg-secondary, #f8fafc);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--primary, #2563eb);background:var(--panel, #ffffff)}.btn-search{padding:10px 20px;border:none;border-radius:8px;background:var(--primary, #2563eb);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-search:hover:not(:disabled){background:var(--primary-dark, #1d4ed8)}.btn-search:disabled{opacity:.6;cursor:not-allowed}.ar-search-results{background:var(--panel, #ffffff);border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000001a;border:1px solid var(--border, #e2e8f0)}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.results-title{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.btn-add-all{padding:6px 14px;border:1px solid var(--primary, #2563eb);border-radius:6px;background:transparent;color:var(--primary, #2563eb);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-all:hover{background:var(--primary, #2563eb);color:#fff}.results-grid{display:flex;flex-wrap:wrap;gap:8px;max-height:180px;overflow-y:auto}.result-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s ease}.result-item:hover{border-color:var(--primary, #2563eb);background:#2563eb0d}.result-item .customer-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-item .company-badge{flex-shrink:0;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.btn-add{width:22px;height:22px;border:none;border-radius:50%;background:var(--primary, #2563eb);color:#fff;font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.btn-add:hover{background:var(--primary-dark, #1d4ed8);transform:scale(1.1)}.ar-selected-customers{background:var(--panel, #ffffff);border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000001a;border:2px solid var(--primary, #2563eb)}.selected-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.selected-info{display:flex;align-items:center;gap:12px}.selected-title{font-size:15px;font-weight:600;color:var(--primary, #2563eb)}.selected-count{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.count-detail{font-size:13px;font-weight:400;color:var(--text-secondary, #64748b);margin-left:4px}.selected-actions{display:flex;align-items:center;gap:10px}.btn-clear{padding:8px 14px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:transparent;color:var(--text-secondary, #64748b);font-size:13px;cursor:pointer;transition:all .2s ease}.btn-clear:hover{border-color:#dc2626;color:#dc2626}.selected-tags{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow-y:auto}.selected-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:20px;background:#2563eb14;border:1px solid rgba(37,99,235,.2);transition:all .15s ease}.selected-tag.tnt{background:#2563eb14;border-color:#2563eb40}.selected-tag.dys{background:#9333ea14;border-color:#9333ea40}.selected-tag .tag-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-tag .tag-company{font-size:10px;font-weight:600;padding:2px 5px;border-radius:3px}.selected-tag.tnt .tag-company{background:#2563eb26;color:#2563eb}.selected-tag.dys .tag-company{background:#9333ea26;color:#9333ea}.tag-remove{width:18px;height:18px;border:none;border-radius:50%;background:#0000001a;color:var(--text-secondary, #64748b);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.tag-remove:hover{background:#dc2626;color:#fff}.ar-customer-selector{background:var(--panel, #ffffff);border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000001a}.selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.select-all-row{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-primary, #1e293b)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.btn-fetch-realtime{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-fetch-realtime:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #16a34a4d}.btn-fetch-realtime:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-height:300px;overflow-y:auto}.customer-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease}.customer-item:hover{border-color:var(--primary, #2563eb);background:#2563eb0a}.customer-item.selected{border-color:var(--primary, #2563eb);background:#2563eb14}.customer-item input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.customer-info{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.customer-name{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-badge{flex-shrink:0;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600}.company-badge.tnt{background:#2563eb1a;color:#2563eb}.company-badge.dys{background:#9333ea1a;color:#9333ea}.assignee-name{font-size:12px;color:var(--text-secondary, #64748b);white-space:nowrap}.ar-error-message{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px}.ar-result-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#2563eb0d;border-radius:8px;margin-bottom:16px}.fetch-time{font-size:13px;color:var(--text-secondary, #64748b)}.fetch-count{font-size:13px;font-weight:500;color:var(--primary, #2563eb)}.ar-summary-cards{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:20px}.ar-summary-card{background:var(--panel, #ffffff);border-radius:12px;padding:16px 12px;box-shadow:0 1px 3px #0000001a;text-align:center}.ar-summary-card .card-label{font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:6px;display:flex;flex-direction:column;align-items:center;gap:2px}.ar-summary-card .card-comment{font-size:10px;color:var(--text-tertiary, #94a3b8);font-weight:400}.ar-summary-card .card-value{font-size:18px;font-weight:700}@media (max-width: 1400px){.ar-summary-cards{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1000px){.ar-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.ar-summary-cards{grid-template-columns:repeat(2,1fr)}}.ar-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px;color:var(--text-secondary, #64748b);font-size:15px}.spinner{width:24px;height:24px;border:3px solid var(--border, #e2e8f0);border-top-color:var(--primary, #2563eb);border-radius:50%;animation:spin .8s linear infinite}.ar-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border, #e2e8f0);position:relative}.ar-tab{position:relative;padding:14px 28px;border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:15px;font-weight:500;cursor:pointer;transition:all .25s ease;white-space:nowrap}.ar-tab:hover{color:var(--text-primary, #1e293b);background:#2563eb0a}.ar-tab.active{color:var(--primary, #2563eb);font-weight:600}.ar-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:3px 3px 0 0}.ar-tab-icon{display:inline-flex;align-items:center;gap:8px}.ar-tab-icon svg{width:18px;height:18px}.ar-tab-content{background:var(--panel, #ffffff);border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.ar-empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary, #64748b)}.ar-empty-state.initial{background:var(--panel, #ffffff);border-radius:12px;box-shadow:0 1px 3px #0000001a}.ar-empty-state .empty-icon{font-size:48px;margin-bottom:16px}.ar-empty-state .empty-message{font-size:15px}.ar-empty{text-align:center;padding:40px;color:var(--text-secondary, #64748b)}.ar-aging-table-wrapper{overflow-x:auto}.ar-aging-table{width:100%;border-collapse:collapse;font-size:13px}.ar-aging-table th,.ar-aging-table td{padding:10px 8px;text-align:center;border-bottom:1px solid var(--border, #e2e8f0)}.ar-aging-table th{background:var(--bg-secondary, #f8fafc);font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap}.ar-aging-table tbody tr{cursor:pointer;transition:background .15s ease}.ar-aging-table tbody tr:hover{background:#2563eb0a}.ar-aging-table tbody tr.no-data{opacity:.5}.ar-aging-table .col-num{width:40px;color:var(--text-secondary, #64748b)}.ar-aging-table .col-company{width:60px}.ar-aging-table .col-customer{text-align:left;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ar-aging-table .col-assignee{width:80px;color:var(--text-secondary, #64748b)}.ar-aging-table .col-amount{width:100px;font-weight:600;text-align:right}.ar-aging-table .col-aging{width:70px;text-align:right;color:var(--text-secondary, #64748b)}.ar-aging-table .col-risk{width:80px}.risk-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.risk-badge.risk-high{background:#dc26261a;color:#dc2626}.risk-badge.risk-medium{background:#f59e0b1a;color:#d97706}.risk-badge.risk-low{background:#16a34a1a;color:#16a34a}.risk-badge.risk-none{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.ar-opinion-history,.ar-unblock-history,.ar-customer-analysis{min-height:400px}.customer-selector-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.customer-selector-row label{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b)}.customer-selector-row select{padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:14px;min-width:200px}.expand-buttons{margin-left:auto;display:flex;gap:8px}.expand-buttons button{padding:6px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);font-size:12px;cursor:pointer;transition:all .15s ease}.expand-buttons button:hover{border-color:var(--primary, #2563eb);color:var(--primary, #2563eb)}.selected-customer-info{display:flex;align-items:center;gap:10px;margin-bottom:16px}.selected-customer-info .customer-name{font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.opinion-count,.unblock-count{font-size:13px;color:var(--text-secondary, #64748b);margin-left:auto}.opinion-timeline{display:flex;flex-direction:column;gap:12px}.meeting-group{border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.meeting-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-secondary, #f8fafc);cursor:pointer;transition:background .15s ease}.meeting-header:hover{background:var(--bg-secondary, #f1f5f9)}.toggle-icon{font-size:10px;color:var(--text-secondary, #64748b)}.meeting-name{font-weight:600;color:var(--text-primary, #1e293b)}.meeting-date{font-size:13px;color:var(--text-secondary, #64748b)}.meeting-header .opinion-count{margin-left:auto;background:var(--primary, #2563eb);color:#fff;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.opinion-list{padding:12px 16px;display:flex;flex-direction:column;gap:12px}.opinion-item{padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:6px}.opinion-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.opinion-type-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.opinion-type-badge.type-pre{background:#2563eb1a;color:#2563eb}.opinion-type-badge.type-in{background:#9333ea1a;color:#9333ea}.opinion-type-badge.type-post{background:#16a34a1a;color:#16a34a}.opinion-type-badge.type-adhoc{background:#6b72801a;color:#6b7280}.opinion-date,.opinion-author{font-size:12px;color:var(--text-secondary, #64748b)}.opinion-text{font-size:14px;color:var(--text-primary, #1e293b);line-height:1.5}.promise-info{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px}.promise-label{color:var(--text-secondary, #64748b)}.promise-amount{font-weight:600;color:var(--primary, #2563eb)}.promise-date{color:var(--text-primary, #1e293b)}.unblock-table-wrapper{overflow-x:auto}.unblock-table{width:100%;border-collapse:collapse;font-size:13px}.unblock-table th,.unblock-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--border, #e2e8f0)}.unblock-table th{background:var(--bg-secondary, #f8fafc);font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap}.unblock-table .meeting-name{font-weight:500}.unblock-table .meeting-date{font-size:12px;color:var(--text-secondary, #64748b)}.unblock-table .reason-cell,.unblock-table .plan-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.status-badge.status-draft{background:#6b72801a;color:#6b7280}.status-badge.status-submitted{background:#2563eb1a;color:#2563eb}.status-badge.status-approved1{background:#f59e0b1a;color:#d97706}.status-badge.status-approved{background:#16a34a1a;color:#16a34a}.status-badge.status-rejected{background:#dc26261a;color:#dc2626}.status-badge.status-withdrawn{background:#6b72801a;color:#6b7280}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.customer-title{display:flex;align-items:center;gap:12px}.customer-title .customer-name{font-size:20px;font-weight:700;color:var(--text-primary, #1e293b)}.risk-badge-large{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;background:var(--bg-secondary, #f8fafc)}.risk-badge-large .risk-dot{width:10px;height:10px;border-radius:50%}.risk-badge-large .risk-label{font-size:14px;font-weight:600}.risk-badge-large .risk-ratio{font-size:14px;color:var(--text-secondary, #64748b)}.risk-badge-large.risk-high{background:#dc26261a}.risk-badge-large.risk-medium{background:#f59e0b1a}.risk-badge-large.risk-low{background:#16a34a1a}.analysis-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric-card{padding:16px;background:var(--bg-secondary, #f8fafc);border-radius:8px;text-align:center}.metric-card .metric-label{font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:8px}.metric-card .metric-value{font-size:18px;font-weight:700;color:var(--text-primary, #1e293b)}.metric-card .metric-value.danger{color:#dc2626}.metric-card .metric-value.info{color:#2563eb}.unblock-stats-section,.recent-opinions-section,.aging-detail-section{margin-bottom:24px}.unblock-stats-section h4,.recent-opinions-section h4,.aging-detail-section h4{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 12px}.unblock-stats{display:flex;gap:24px}.stat-item{display:flex;align-items:center;gap:8px}.stat-label{font-size:13px;color:var(--text-secondary, #64748b)}.stat-item.approved .stat-value{color:#16a34a}.stat-item.rejected .stat-value{color:#dc2626}.stat-item.rate .stat-value{color:#2563eb}.no-opinions{padding:20px;text-align:center;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-radius:8px}.recent-opinions-list{display:flex;flex-direction:column;gap:10px}.recent-opinion-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:8px}.recent-opinion-item .opinion-date{flex-shrink:0;font-size:12px;color:var(--text-secondary, #64748b);width:70px}.recent-opinion-item .opinion-content{flex:1;display:flex;flex-direction:column;gap:4px}.recent-opinion-item .opinion-text{font-size:13px;color:var(--text-primary, #1e293b)}.promise-badge{display:inline-block;font-size:11px;padding:2px 6px;background:#2563eb1a;color:#2563eb;border-radius:4px;width:-moz-fit-content;width:fit-content}.recent-opinion-item .opinion-author{font-size:12px;color:var(--text-secondary, #64748b);flex-shrink:0;width:80px;text-align:right}.aging-bars{display:flex;flex-direction:column;gap:12px}.aging-bar-item{display:flex;align-items:center;gap:12px}.aging-bar-item .bar-label{width:70px;font-size:13px;color:var(--text-secondary, #64748b);text-align:right}.aging-bar-item .bar-container{flex:1;height:20px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;overflow:hidden}.aging-bar-item .bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.aging-bar-item .bar-fill.normal{background:linear-gradient(90deg,#22c55e,#16a34a)}.aging-bar-item .bar-fill.warning{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.aging-bar-item .bar-fill.danger{background:linear-gradient(90deg,#f87171,#dc2626)}.aging-bar-item .bar-value{width:100px;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);text-align:right}@media (max-width: 1200px){.ar-summary-cards,.analysis-metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ar-aging-now-page{padding:16px}.ar-summary-cards{grid-template-columns:1fr}.selector-header{flex-direction:column;gap:12px}.customer-selector-row{flex-wrap:wrap}.analysis-metrics{grid-template-columns:1fr}.unblock-stats{flex-wrap:wrap;gap:12px}}.node-details-panel{position:absolute!important;top:20px!important;right:20px!important;left:auto!important;width:240px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014;z-index:100!important;border:1px solid rgba(226,232,240,.8);overflow:hidden}.node-details-panel .panel-header{padding:16px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:space-between}.node-details-panel .panel-header-info{display:flex;align-items:center;gap:12px}.node-details-panel .panel-icon{width:36px;height:36px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}.node-details-panel .panel-title{font-size:15px;font-weight:600;color:#fff;margin:0}.node-details-panel .panel-subtitle{font-size:12px;color:#ffffffbf;margin-top:2px}.node-details-panel .close-btn{background:#ffffff26;border:none;border-radius:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fffc;transition:all .2s}.node-details-panel .close-btn:hover{background:#ffffff40;color:#fff}.node-details-panel .panel-content{padding:16px 20px}.node-details-panel .prop-item{margin-bottom:14px}.node-details-panel .prop-item:last-child{margin-bottom:0}.node-details-panel .prop-label{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.node-details-panel .prop-value{font-size:14px;font-weight:500;color:#1e293b}.node-details-panel .prop-value.danger{color:#dc2626;font-weight:600}.node-details-panel .prop-value.warning{color:#ea580c;font-weight:600}.node-details-panel .prop-value.info{color:#2563eb;font-weight:600}.insights-panel{position:absolute;top:20px;left:20px;width:240px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014;z-index:10;border:1px solid rgba(226,232,240,.8);overflow:hidden}.insights-panel .insights-header{padding:20px;background:linear-gradient(135deg,#f43f5e,#ec4899)}.insights-panel .insights-header-label{font-size:11px;font-weight:600;color:#fffc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.insights-panel .insights-header-value{font-size:26px;font-weight:700;color:#fff}.insights-panel .insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.insights-panel .stat-card{background:#f8fafc;border-radius:12px;padding:14px;text-align:center}.insights-panel .stat-card.full-width{grid-column:span 2}.insights-panel .stat-value{font-size:24px;font-weight:700;color:#1e293b}.insights-panel .stat-label{font-size:11px;font-weight:500;color:#64748b;margin-top:4px}.insights-panel .insights-footer{padding:12px 16px;border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#94a3b8}.insights-panel .footer-badge{background:#f1f5f9;padding:4px 10px;border-radius:20px;font-weight:500}.insights-panel .sample-badge{padding:10px 16px;background:#fef3c7;color:#d97706;font-size:11px;font-weight:600;text-align:center;border-top:1px solid #fde68a}.filter-panel{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:20;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;box-shadow:0 10px 40px #0000001a,0 2px 10px #0000000d;border:1px solid rgba(226,232,240,.8);padding:6px;display:flex;align-items:center;gap:6px}.filter-panel .filter-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .2s}.filter-panel .filter-toggle.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f14d}.filter-panel .filter-toggle.inactive{background:transparent;color:#64748b}.filter-panel .filter-toggle.inactive:hover{background:#f1f5f9}.filter-panel .filter-divider{width:1px;height:28px;background:#e2e8f0}.filter-panel .filter-group{display:flex;align-items:center;gap:8px;padding:0 8px}.filter-panel .filter-label{font-size:11px;font-weight:500;color:#94a3b8}.filter-panel .filter-select,.filter-panel .filter-input{padding:8px 12px;font-size:13px;font-weight:500;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;cursor:pointer;transition:all .2s;outline:none}.filter-panel .filter-select:focus,.filter-panel .filter-input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11a}.filter-panel .filter-reset{width:32px;height:32px;border-radius:10px;border:none;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.filter-panel .filter-reset:hover{background:#f1f5f9;color:#64748b}.node-details-panel .prop-value.empty{text-align:center;color:#94a3b8}.filter-panel .filter-icon-box{display:flex;align-items:center;justify-content:center;padding:10px 14px;color:#6366f1;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:10px}.zoom-controls{position:absolute;left:20px;bottom:20px;z-index:10;display:flex;flex-direction:row;gap:8px}.zoom-controls .zoom-btn{width:40px;height:40px;border-radius:10px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.8);display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #00000014}.zoom-controls .zoom-btn:hover{background:#fff;color:#334155;box-shadow:0 6px 16px #0000001f}.dark .node-details-panel{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155cc;box-shadow:0 10px 40px #0006,0 2px 10px #0000004d}.dark .node-details-panel .prop-label{color:#94a3b8}.dark .node-details-panel .prop-value{color:#e2e8f0}.dark .node-details-panel .prop-value.danger{color:#f87171}.dark .node-details-panel .prop-value.warning{color:#fb923c}.dark .node-details-panel .prop-value.info{color:#60a5fa}.dark .node-details-panel .prop-value.empty{color:#64748b}.dark .insights-panel{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155cc;box-shadow:0 10px 40px #0006,0 2px 10px #0000004d}.dark .insights-panel .stat-card{background:#334155}.dark .insights-panel .stat-value{color:#f1f5f9}.dark .insights-panel .stat-label{color:#94a3b8}.dark .insights-panel .insights-footer{border-top-color:#334155;color:#94a3b8}.dark .insights-panel .footer-badge{background:#334155;color:#e2e8f0}.dark .insights-panel .sample-badge{background:#78350f;color:#fcd34d;border-top-color:#92400e}.dark .filter-panel{background:#1e293bf2;border-color:#334155cc;box-shadow:0 10px 40px #0006,0 2px 10px #0000004d}.dark .filter-panel .filter-icon-box{background:linear-gradient(135deg,#312e81,#4c1d95);color:#a5b4fc}.dark .filter-panel .filter-label{color:#94a3b8}.dark .filter-panel .filter-select,.dark .filter-panel .filter-input{background:#334155;border-color:#475569;color:#e2e8f0}.dark .filter-panel .filter-select:focus,.dark .filter-panel .filter-input:focus{border-color:#818cf8;background:#1e293b;box-shadow:0 0 0 3px #818cf833}.dark .filter-panel .filter-toggle.inactive{color:#94a3b8}.dark .filter-panel .filter-toggle.inactive:hover{background:#334155}.dark .filter-panel .filter-divider{background:#475569}.dark .filter-panel .filter-reset{color:#94a3b8}.dark .filter-panel .filter-reset:hover{background:#334155;color:#e2e8f0}.dark .zoom-controls .zoom-btn{background:#1e293bf2;border-color:#334155cc;color:#94a3b8;box-shadow:0 4px 12px #0000004d}.dark .zoom-controls .zoom-btn:hover{background:#334155;color:#e2e8f0;box-shadow:0 6px 16px #0006}.central-document-page{display:flex;height:100%;background:var(--background);overflow:hidden}.central-document-page__main{flex:1;display:flex;flex-direction:column;padding:24px;overflow:hidden;min-width:0}.central-document-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.central-document-page__title{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.central-document-page__subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:4px}.central-document-search{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--panel);border-radius:8px;margin-bottom:16px}.central-document-search__row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.central-document-search__field{display:flex;flex-direction:column;gap:4px}.central-document-search__field label{font-size:.75rem;color:var(--text-secondary)}.central-document-search__field input,.central-document-search__field select{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text-primary);font-size:.8125rem;font-family:inherit}.central-document-search__field select option{background:var(--panel);color:var(--text-primary);padding:8px 12px;font-size:.8125rem}.central-document-search__field input:focus,.central-document-search__field select:focus{outline:none;border-color:var(--primary)}.central-document-search__keyword{flex:1;min-width:200px}.central-document-search__keyword input{width:100%}.central-document-search__actions{display:flex;gap:8px}.central-document-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.central-document-toolbar__info{font-size:.875rem;color:var(--text-secondary)}.central-document-toolbar__actions{display:flex;gap:8px}.central-document-table-container{flex:1;overflow:auto;background:var(--panel);border-radius:8px}.central-document-table{width:100%;border-collapse:collapse}.central-document-table th,.central-document-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.central-document-table th{background:var(--background);font-weight:600;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;position:sticky;top:0;z-index:1}.central-document-table td{font-size:.875rem;color:var(--text-primary)}.central-document-table tr:hover td{background:var(--background)}.central-document-table__row--selected td{background:rgba(var(--primary-rgb),.1)!important}.central-document-file-cell{display:flex;align-items:center;gap:12px}.central-document-file-cell__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--background);font-weight:700;font-size:.625rem;text-transform:uppercase}.central-document-file-cell__info{display:flex;flex-direction:column;gap:2px}.central-document-file-cell__title{font-weight:500;color:var(--text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.central-document-file-cell__meta{display:flex;gap:8px;font-size:.75rem;color:var(--text-secondary)}.central-document-meta-cell{display:flex;flex-direction:column;gap:2px}.central-document-meta-cell__primary{font-weight:500}.central-document-meta-cell__secondary{font-size:.75rem;color:var(--text-secondary)}.central-document-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.central-document-badge--type{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.central-document-badge--module{background:rgba(var(--info-rgb),.1);color:var(--info)}.central-document-badge--version{background:var(--background);color:var(--text-secondary)}.central-document-actions{display:flex;gap:4px}.central-document-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.central-document-action-btn:hover{background:var(--background);color:var(--text-primary)}.central-document-action-btn--download:hover{color:var(--primary)}.central-document-action-btn--edit:hover{color:var(--warning)}.central-document-action-btn--delete:hover{color:var(--danger)}.central-document-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--border)}.central-document-pagination button{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);cursor:pointer;transition:all .2s}.central-document-pagination button:hover:not(:disabled){background:var(--background);border-color:var(--primary)}.central-document-pagination button:disabled{opacity:.5;cursor:not-allowed}.central-document-pagination__info{font-size:.875rem;color:var(--text-secondary);margin:0 16px}.central-document-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.central-document-modal{background:var(--panel);border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.central-document-modal__header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.central-document-modal__title{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.central-document-modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.central-document-modal__close:hover{background:var(--background);color:var(--text-primary)}.central-document-modal__body{padding:24px;overflow-y:auto}.central-document-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border)}.central-document-form{display:flex;flex-direction:column;gap:16px}.central-document-form__group{display:flex;flex-direction:column;gap:6px}.central-document-form__label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.central-document-form__label--required:after{content:" *";color:var(--danger)}.central-document-form__input,.central-document-form__select,.central-document-form__textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text-primary);font-size:.875rem}.central-document-form__input:focus,.central-document-form__select:focus,.central-document-form__textarea:focus{outline:none;border-color:var(--primary)}.central-document-form__textarea{min-height:80px;resize:vertical}.central-document-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.central-document-upload{border:2px dashed var(--border);border-radius:8px;padding:32px;text-align:center;cursor:pointer;transition:all .2s}.central-document-upload:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.05)}.central-document-upload--dragover{border-color:var(--primary);background:rgba(var(--primary-rgb),.1)}.central-document-upload__icon{font-size:48px;color:var(--text-secondary);margin-bottom:12px}.central-document-upload__text{font-size:.875rem;color:var(--text-secondary)}.central-document-upload__file{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:8px 12px;background:var(--background);border-radius:6px}.central-document-upload__file-name{font-size:.875rem;color:var(--text-primary)}.central-document-upload__file-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--danger);color:#fff;font-size:12px;cursor:pointer}.central-document-resizer{width:6px;height:100%;cursor:col-resize;background:transparent;flex-shrink:0;position:relative;z-index:10;transition:background .2s}.central-document-resizer:hover,.central-document-resizer--active{background:var(--primary)}.central-document-resizer__handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;border-radius:2px;background:var(--text-tertiary);opacity:.4;transition:opacity .2s}.central-document-resizer:hover .central-document-resizer__handle,.central-document-resizer--active .central-document-resizer__handle{opacity:0}.central-document-detail-panel{min-width:280px;max-width:600px;height:100%;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.central-document-detail-panel--empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;height:100%;color:var(--text-tertiary)}.central-document-detail-panel--empty svg{width:48px;height:48px;opacity:.5}.central-document-detail-panel--empty p{font-size:.875rem}.central-document-detail-panel__header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-bottom:1px solid var(--border)}.central-document-detail-panel__badges{display:flex;gap:8px;margin-bottom:8px}.central-document-detail-panel__title{font-size:1rem;font-weight:600;color:var(--text-primary);word-break:break-word}.central-document-detail-panel__doc-no{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.central-document-detail-panel__body{flex:1;overflow-y:auto;padding:20px}.central-document-detail-panel__section{margin-bottom:24px}.central-document-detail-panel__section-title{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin-bottom:12px}.central-document-detail-panel__info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.central-document-detail-panel__info-label{font-size:.875rem;color:var(--text-secondary)}.central-document-detail-panel__info-value{font-size:.875rem;color:var(--text-primary);text-align:right;max-width:60%;word-break:break-word}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{opacity:.9}.btn--secondary{background:var(--background);color:var(--text-primary);border:1px solid var(--border)}.btn--secondary:hover{background:var(--border)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover{opacity:.9}.btn--sm{padding:6px 12px;font-size:.75rem}.central-document-loading,.central-document-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.central-document-loading__spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.central-document-empty__icon{font-size:48px;margin-bottom:16px}.central-document-empty__text{font-size:.875rem}.central-document-version-list{display:flex;flex-direction:column;gap:12px}.central-document-version-item{display:flex;align-items:center;gap:16px;padding:12px;background:var(--background);border-radius:8px}.central-document-version-item__header{display:flex;flex-direction:column;gap:4px;min-width:60px}.central-document-version-item__info{flex:1}.central-document-version-item__meta{font-size:.75rem;color:var(--text-secondary);margin-top:4px}@media (max-width: 1024px){.central-document-page{flex-direction:column}.central-document-resizer{display:none}.central-document-detail-panel{width:100%!important;min-width:100%;max-width:100%;height:auto;max-height:50vh;border-left:none;border-top:1px solid var(--border)}}@media (max-width: 768px){.central-document-page{padding:16px}.central-document-search__row{flex-direction:column}.central-document-search__field{width:100%}.central-document-form__row{grid-template-columns:1fr}.central-document-table th:nth-child(n+4),.central-document-table td:nth-child(n+4){display:none}}.status-badge-item{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:13px}.status-badge-item:hover{box-shadow:0 2px 4px #0000001a}.status-badge-item.active{border-width:2px}.status-badge-label{color:var(--text-secondary);font-size:12px;white-space:nowrap}.status-badge-value{font-weight:700;font-size:15px}.status-badge-unit{color:var(--text-secondary);font-size:11px}@media (max-width: 768px){.status-badge-item{padding:4px 8px}.status-badge-label{font-size:11px}.status-badge-value{font-size:13px}}.incident-list-page{padding:16px;height:100%}.incident-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.incident-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.incident-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.incident-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.incident-list-page .status-badge-item:hover{border-color:var(--primary);background:var(--bg-secondary)}.incident-list-page .status-badge-item.active{border-width:2px}.incident-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.incident-list-page .status-badge-value{font-size:13px;font-weight:700}.incident-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.incident-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.incident-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.incident-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.incident-list-page .search-bar{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);flex-wrap:nowrap;overflow-x:auto}.incident-list-page .search-item{flex-shrink:0}.incident-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.incident-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.incident-list-page .search-input-wrapper .input{padding-left:28px;min-width:200px!important;width:200px!important}.incident-list-page .search-date-group{display:flex;align-items:center;gap:2px}.incident-list-page .date-separator{color:var(--text-secondary);font-size:12px}.incident-list-page .search-buttons{display:flex;gap:2px;margin-left:auto}.incident-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.incident-list-page .search-item select.input-sm{min-width:95px;width:auto}.incident-list-page .search-item input.input-sm{min-width:70px;max-width:90px}.incident-list-page .search-date-group .input-sm{width:100px}.incident-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.incident-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.incident-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.incident-list-page .btn-primary{background:#3b82f6!important;color:#fff!important;border-color:#3b82f6!important}.incident-list-page .btn-primary span,.incident-list-page .btn-primary .btn-text{color:#fff!important}.incident-list-page .btn-primary svg{color:#fff!important;stroke:#fff!important}.incident-list-page .btn-primary:hover:not(:disabled){background:#2563eb!important}.incident-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.incident-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.incident-list-page .btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.incident-list-page .btn-ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.incident-list-page .btn-icon{padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px}.incident-list-page .btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.incident-list-page .btn-icon.btn-danger:hover{background:#dc35451a;color:var(--error)}.incident-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.incident-list-page .input:focus{outline:none;border-color:var(--primary)}.incident-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.incident-list-page .input::placeholder{color:var(--text-tertiary)}.incident-list-page .table-container{overflow:auto;-webkit-overflow-scrolling:touch}.incident-list-page .incident-table{width:100%;min-width:3300px;border-collapse:collapse;font-size:12px}.incident-list-page thead{position:sticky;top:0;z-index:1}.incident-list-page th{padding:6px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:32px}.incident-list-page .th-center{text-align:center}.incident-list-page .th-left{text-align:left}.incident-list-page .incident-table tbody tr{height:36px}.incident-list-page .incident-table td{padding:4px 8px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;box-sizing:border-box}.incident-list-page .incident-table .status-badge{padding:2px 6px;font-size:10px;line-height:1.2}.incident-list-page .incident-table svg{width:14px;height:14px}.incident-list-page .detail-table tbody tr{height:36px}.incident-list-page .incident-table tbody tr{background:transparent}.incident-list-page .detail-table td{padding:4px 8px;line-height:1.5;font-size:12px}.incident-list-page .detail-table th{height:32px;padding:4px 8px}.incident-list-page .td-center{text-align:center}.incident-list-page .td-left{text-align:left}.incident-list-page .td-small{font-size:11px}.incident-list-page .td-ellipsis{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-list-page .td-empty{padding:40px 12px;color:var(--text-secondary)}.incident-list-page .td-incident-no{font-weight:500;color:var(--primary)}.incident-list-page .td-incident-no span:hover{text-decoration:underline}.incident-list-page .status-badge{display:inline-block;padding:1px 5px;border-radius:3px;font-size:10px;font-weight:500;white-space:nowrap;line-height:1.3}.incident-list-page .count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:10px;font-weight:600}.incident-list-page .count-detail{background:#93c5fd33;color:#93c5fd}.incident-list-page .count-file{background:#c4b5fd33;color:#c4b5fd}.incident-list-page .row-closed{background:var(--bg-success-subtle, rgba(40, 167, 69, .05))}.incident-list-page .row-selected{background:#3b82f640!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.incident-list-page .row-selected td{border-bottom-color:var(--accent);color:#fff!important}.incident-list-page .row-selected .td-incident-no,.incident-list-page .row-selected svg{color:#fff!important}.incident-list-page tbody tr:hover{background:#1565c0!important}.incident-list-page tbody tr:hover td{color:#fff!important}.incident-list-page tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.incident-list-page tbody tr:hover .count-badge{background:#ffffff40!important;color:#fff!important}.incident-list-page tbody tr:hover .td-incident-no span{color:#fff!important;text-decoration:underline}.incident-list-page tbody tr:hover svg{color:#fff!important}.incident-list-page .mini-tag{display:inline-block;padding:1px 4px;border-radius:3px;font-size:9px;font-weight:500;background:#93c5fd33;color:#93c5fd;white-space:nowrap}.incident-list-page .mini-tag.tag-red{background:#fca5a533;color:#fca5a5}.incident-list-page .action-buttons{display:flex;gap:2px;justify-content:center}.incident-list-page .animate-spin{animation:spin 1s linear infinite}.incident-list-page .search-area{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.incident-list-page .toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.incident-list-page .toolbar-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.incident-list-page .toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.incident-list-page .pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.incident-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}@media (max-width: 1400px){.incident-list-page .search-area{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1200px){.incident-list-page .search-area{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.incident-list-page .search-area{grid-template-columns:repeat(2,1fr)}.incident-list-page .toolbar-left{font-size:12px;gap:12px}.incident-list-page .btn{padding:6px 12px;font-size:12px}}@media (max-width: 768px){.incident-list-page{padding:8px}.incident-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.incident-list-page .search-item,.incident-list-page .search-input-wrapper .input{width:100%}.incident-list-page .search-item select.input-sm{width:100%;max-width:none}.incident-list-page .search-date-group{width:100%}.incident-list-page .search-date-group .input-sm{flex:1}.incident-list-page .search-buttons{margin-left:0;justify-content:flex-end}.incident-list-page .search-area{grid-template-columns:1fr}.incident-list-page .toolbar{flex-direction:column;align-items:stretch}.incident-list-page .toolbar-left,.incident-list-page .toolbar-right{justify-content:center}.incident-list-page .pagination{flex-direction:column}.incident-list-page .pagination-buttons{flex-wrap:wrap;justify-content:center}}@media (max-width: 480px){.incident-list-page{padding:4px}.incident-list-page .btn{padding:6px 10px;font-size:11px}.incident-list-page .input{padding:6px 10px;font-size:12px}}@media (max-height: 800px){.incident-list-page .table-container{max-height:calc(100vh - 340px)}}@media (max-height: 600px){.incident-list-page .table-container{max-height:calc(100vh - 300px)}.incident-list-page .search-area{gap:8px}.incident-list-page .toolbar,.incident-list-page .pagination{padding:8px 12px}}@media (max-height: 500px){.incident-list-page .table-container{max-height:calc(100vh - 260px)}.incident-list-page th,.incident-list-page td{padding:4px!important}}.incident-list-page .incident-table.two-row-layout{min-width:1400px}.incident-list-page .incident-table.two-row-layout thead th{vertical-align:middle;text-align:center}.incident-list-page .row-group-even{background:transparent}.incident-list-page .row-group-odd{background:#ffffff05}.incident-list-page .row-first td{border-bottom:none}.incident-list-page .row-second td{border-bottom:2px solid var(--border)}.incident-list-page tbody tr.row-hovered{background:#06b6d426!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.incident-list-page tbody tr.row-hovered td{color:var(--text-primary)!important}.incident-list-page .four-m-badges,.incident-list-page .impact-badges,.incident-list-page .capa-badges{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.incident-list-page .mini-badge{display:inline-block;padding:2px 5px;border-radius:3px;font-size:9px;font-weight:500;background:#94a3b833;color:var(--text-secondary);white-space:nowrap}.incident-list-page .mini-badge.active{background:#93c5fd33;color:#93c5fd}.incident-list-page .mini-badge.active.impact{background:#fca5a533;color:#fca5a5}.incident-list-page .mini-badge.capa.active{background:#86efac33;color:#86efac}.incident-list-page .mini-badge.closed.active{background:#fcd34d33;color:#fcd34d}.incident-list-page tbody tr.row-hovered .mini-badge{background:#ffffff4d!important;color:#fff!important}.incident-list-page tbody tr.row-hovered .mini-badge.active{background:#ffffff80!important}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.incident-form-page{padding:16px;height:100%;overflow-y:auto}.incident-form-page .loading-container,.incident-form-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:8px}.incident-form-page .error-container h3{color:var(--error);margin-bottom:10px}.incident-form-page .form-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px 10px 0 0;margin-bottom:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.incident-form-page .header-left{display:flex;align-items:center;gap:12px}.incident-form-page .header-left h2{margin:0;font-size:16px;font-weight:600}.incident-form-page .header-right{display:flex;gap:8px}.incident-form-page .header-right button{padding:10px 18px!important;height:auto!important;border-radius:8px!important;font-size:14px!important;font-weight:500!important}.incident-form-page .form-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 10px 10px;padding:8px 20px 12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.incident-form-page .form-section{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--glass-border)}.incident-form-page .form-section:first-child h3{margin-top:0}.incident-form-page .form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.incident-form-page .form-section h3{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.incident-form-page .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}.incident-form-page .form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px 24px}.incident-form-page .form-grid-2>div,.incident-form-page .form-grid-3>div{display:grid!important;grid-template-columns:90px 1fr!important;gap:8px!important;align-items:center!important}.incident-form-page .form-grid-2>div>label,.incident-form-page .form-grid-3>div>label{margin-bottom:0!important;font-size:13px!important;white-space:nowrap}.incident-form-page .form-grid-2 .col-span-2{grid-column:span 2}.incident-form-page .form-grid-2>.form-row-inline{grid-column:span 2;display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important}.incident-form-page .form-grid-2>.form-row-inline>div{display:grid!important;grid-template-columns:90px 1fr!important;gap:8px!important;align-items:center!important}.incident-form-page .form-grid-2>.form-row-inline label{margin-bottom:0!important;font-size:13px!important;white-space:nowrap}@media (max-width: 768px){.incident-form-page .form-grid-2,.incident-form-page .form-grid-3{grid-template-columns:1fr}.incident-form-page .form-grid-2 .col-span-2{grid-column:span 1}}.incident-form-page .checkbox-row{align-items:center}.incident-form-page .checkbox-inline{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:var(--text-primary);padding:4px 12px 4px 0}.incident-form-page .checkbox-inline input[type=checkbox]{width:14px;height:14px;cursor:pointer}.incident-form-page .form-section>.flex.justify-end button{padding:10px 18px!important;height:auto!important;border-radius:8px!important;font-size:14px!important;font-weight:500!important}.incident-form-page .detail-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;border:1px solid var(--glass-border);border-radius:8px;overflow:hidden}.incident-form-page .detail-table th{padding:8px 12px;text-align:left;background:var(--bg-secondary);border-bottom:2px solid var(--glass-border);font-weight:600;font-size:11px;color:var(--text-secondary);white-space:nowrap}.incident-form-page .detail-table td{padding:10px 12px;border-bottom:1px solid var(--glass-border);vertical-align:middle;text-align:left}.incident-form-page .detail-table tbody tr:last-child td{border-bottom:none}.incident-form-page .detail-table tbody tr:hover{background:var(--accent, #1565c0)}.incident-form-page .detail-table tbody tr:hover td{color:var(--on-accent, #ffffff)}.incident-form-page .detail-table tbody tr:hover .badge{background:var(--accent-alpha-20, rgba(255, 255, 255, .2));color:var(--on-accent, #ffffff)}.incident-form-page .detail-table .badge{display:inline-block;padding:3px 10px;background:var(--accent-alpha-20, rgba(147, 197, 253, .2));color:var(--accent-light, #93c5fd);border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.incident-form-page .detail-table .analysis-cell{font-size:11px;color:var(--text-secondary)}.incident-form-page .details-compact{display:flex;flex-direction:column;gap:6px}.incident-form-page .detail-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-secondary);border-radius:4px;font-size:12px}.incident-form-page .detail-no{font-weight:600;color:var(--primary);min-width:100px}.incident-form-page .detail-type.badge{padding:2px 8px;background:#93c5fd33;color:#93c5fd;border-radius:10px;font-size:11px;font-weight:500}.incident-form-page .detail-desc{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-form-page .attachments-compact{display:flex;flex-direction:column;gap:4px}.incident-form-page .attachment-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border-radius:4px;font-size:12px}.incident-form-page .file-icon{color:var(--text-secondary);flex-shrink:0}.incident-form-page .file-name{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-form-page .file-size{color:var(--text-tertiary);font-size:11px}.incident-form-page .empty-message{text-align:center;padding:16px;color:var(--text-tertiary);font-size:12px;border:1px dashed var(--glass-border);border-radius:4px}.incident-form-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.incident-form-page .modal-content{background:var(--bg-primary);border-radius:8px;padding:20px;min-width:320px;max-width:90%}.incident-form-page .modal-content h4{margin:0 0 16px;font-size:15px;font-weight:600}.incident-form-page .modal-content .form-field{margin-bottom:16px}.incident-form-page .modal-content .form-field label{display:block;margin-bottom:6px;font-size:13px;color:var(--text-secondary)}.incident-form-page .modal-content .input{width:100%}.incident-form-page .modal-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--glass-border)}.incident-form-page .modal-content.modal-compact{width:900px;max-width:95%;padding:16px 24px}.incident-form-page .modal-compact h4{margin:0 0 12px;font-size:14px}.incident-form-page .modal-compact .modal-row{display:flex;gap:20px;margin-bottom:12px}.incident-form-page .modal-compact .modal-row:last-of-type{margin-bottom:0}.incident-form-page .modal-compact .modal-field{display:flex;flex-direction:column;gap:6px}.incident-form-page .modal-compact .modal-field>label{font-size:12px;font-weight:500;color:var(--text-secondary)}.incident-form-page .modal-compact .modal-field .input,.incident-form-page .modal-compact .modal-field select.input{height:36px;font-size:13px;padding:6px 10px}.incident-form-page .modal-compact .checkbox-group{display:flex;flex-wrap:nowrap;gap:6px 14px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--input-bg)}.incident-form-page .modal-compact .checkbox-group label{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer;white-space:nowrap}.incident-form-page .modal-compact .checkbox-group input[type=checkbox]{width:14px;height:14px}.incident-form-page .modal-compact .modal-buttons{margin-top:16px;padding-top:16px}.incident-form-page .modal-compact .modal-buttons button{padding:10px 20px!important;height:auto!important;border-radius:8px!important;font-size:14px!important;font-weight:500!important}.incident-form-page .modal-content.modal-large{width:700px;max-width:95%;max-height:85vh;overflow-y:auto}.incident-form-page .modal-section{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.incident-form-page .modal-section:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}.incident-form-page .modal-section h5{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--text-secondary)}.incident-form-page .modal-section .form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.incident-form-page .modal-section .form-row:last-child{margin-bottom:0}.incident-form-page .modal-section .form-field{flex:1;min-width:120px}.incident-form-page .modal-section .form-field label{display:block;margin-bottom:4px;font-size:11px;font-weight:500;color:var(--text-secondary)}.incident-form-page .modal-section .checkbox-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.incident-form-page .modal-section .checkbox-label{font-size:12px;font-weight:500;color:var(--text-secondary);margin-right:8px}.incident-form-page .modal-section .checkbox-inline{font-size:11px;padding:4px 8px 4px 0}.incident-form-page .modal-section .textarea-sm{width:100%;min-height:60px}.incident-form-page .modal-content.modal-lg{width:500px;max-height:70vh;display:flex;flex-direction:column;padding:0}.incident-form-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--glass-border)}.incident-form-page .modal-header h4{margin:0;font-size:16px}.incident-form-page .modal-body{padding:16px 20px;overflow-y:auto;flex:1}.incident-form-page .search-box{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--glass-border);border-radius:6px;margin-bottom:12px}.incident-form-page .search-box svg{color:var(--text-secondary);flex-shrink:0}.incident-form-page .search-box .input{flex:1;border:none;padding:4px;font-size:13px}.incident-form-page .search-box .input:focus{outline:none}.incident-form-page .customer-list{max-height:350px;overflow-y:auto}.incident-form-page .customer-table{width:100%;border-collapse:collapse;font-size:13px}.incident-form-page .customer-table th{padding:8px 12px;text-align:left;background:var(--bg-secondary);border-bottom:1px solid var(--glass-border);font-weight:600;font-size:12px;position:sticky;top:0}.incident-form-page .customer-table td{padding:10px 12px;border-bottom:1px solid var(--glass-border)}.incident-form-page .customer-table tbody tr{cursor:pointer;transition:background .1s}.incident-form-page .customer-table tbody tr:hover{background:var(--primary);color:#fff}.incident-form-page .more-message{text-align:center;padding:12px;color:var(--text-tertiary);font-size:12px}.incident-form-page .input-with-button{display:flex;align-items:center;gap:4px}.incident-form-page .input-with-button .input{flex:1;cursor:pointer}.incident-form-page .input-with-button .btn-icon{flex-shrink:0}.incident-form-page .customer-field{position:relative;min-width:200px}.incident-form-page .maker-field,.incident-form-page .lot-field{position:relative;min-width:150px}.incident-form-page .register-field{min-width:60px}.incident-form-page .product-field{position:relative;min-width:250px;flex:1}.incident-form-page .autocomplete-wrapper{position:relative;display:flex;align-items:center}.incident-form-page .autocomplete-wrapper .input{flex:1;padding-right:30px}.incident-form-page .autocomplete-wrapper .clear-btn{position:absolute;right:4px;padding:2px}.incident-form-page .autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #00000026;max-height:250px;overflow-y:auto;z-index:100}.incident-form-page .autocomplete-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--glass-border);transition:background .1s}.incident-form-page .autocomplete-item:last-child{border-bottom:none}.incident-form-page .autocomplete-item:hover,.incident-form-page .autocomplete-item.selected{background:var(--primary);color:#fff}.incident-form-page .autocomplete-item:hover .customer-code,.incident-form-page .autocomplete-item.selected .customer-code{color:#ffffffb3}.incident-form-page .autocomplete-item .customer-name{font-size:13px;font-weight:500}.incident-form-page .autocomplete-item .customer-code{font-size:11px;color:var(--text-tertiary)}.incident-form-page .autocomplete-more{padding:8px 12px;text-align:center;font-size:11px;color:var(--text-tertiary);background:var(--bg-secondary)}.incident-form-page .autocomplete-empty{padding:12px;text-align:center;font-size:12px;color:var(--text-tertiary)}@media (max-width: 1024px){.incident-form-page .form-field{min-width:100px}.incident-form-page .form-field.flex-grow{min-width:150px}}@media (max-width: 768px){.incident-form-page{padding:8px}.incident-form-page .form-header{flex-direction:column;gap:10px;align-items:stretch}.incident-form-page .header-left h2{font-size:14px}.incident-form-page .header-right{justify-content:flex-end}.incident-form-page .form-row{flex-direction:column;gap:10px}.incident-form-page .form-field{width:100%;min-width:auto}.incident-form-page .form-field.flex-grow{min-width:auto}.incident-form-page .checkbox-row{flex-wrap:wrap}.incident-form-page .section-header{flex-direction:column;gap:8px;align-items:flex-start}}@media (max-width: 480px){.incident-form-page .checkbox-inline{width:48%}.incident-form-page .btn{padding:6px 10px;font-size:11px}}.incident-form-page .pending-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:8px 0}.incident-form-page .pending-file-item{position:relative;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:8px;overflow:hidden}.incident-form-page .pending-file-preview-wrapper{width:100%;height:60px;overflow:hidden;cursor:pointer}.incident-form-page .pending-file-preview{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .2s}.incident-form-page .pending-file-preview-wrapper:hover .pending-file-preview{transform:scale(1.05)}.incident-form-page .pending-file-info{padding:8px;display:flex;flex-direction:column;gap:2px}.incident-form-page .pending-file-info .file-name{font-size:11px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incident-form-page .pending-file-info .file-size{font-size:10px;color:var(--text-tertiary)}.incident-form-page .pending-file-delete{position:absolute;top:4px;right:4px;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:#0009;border-radius:4px;opacity:0;transition:opacity .2s}.incident-form-page .pending-file-item:hover .pending-file-delete{opacity:1}.incident-form-page .pending-file-delete svg{color:#fff}@media (max-width: 600px){.incident-form-page .pending-files-grid{grid-template-columns:repeat(2,1fr)}.incident-form-page .pending-file-preview-wrapper{height:50px}}.incident-form-page .attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;padding:8px 0}.incident-form-page .attachment-item{position:relative;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:8px;overflow:hidden;transition:box-shadow .2s}.incident-form-page .attachment-item:hover{box-shadow:0 4px 12px #0000001a}.incident-form-page .attachment-image-link{display:block;width:100%;height:60px;overflow:hidden}.incident-form-page .attachment-thumbnail{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .2s}.incident-form-page .attachment-item:hover .attachment-thumbnail{transform:scale(1.05)}.incident-form-page .attachment-file-icon{display:flex;align-items:center;justify-content:center;width:100%;height:60px;background:var(--bg-secondary);color:var(--text-secondary)}.incident-form-page .attachment-item .attachment-info{padding:8px;display:flex;flex-direction:column;gap:2px}.incident-form-page .attachment-item .attachment-info .file-name{font-size:11px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incident-form-page .attachment-item .attachment-info .file-size{font-size:10px;color:var(--text-tertiary)}.incident-form-page .attachment-delete{position:absolute;top:4px;right:4px;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:#0009;border-radius:4px;opacity:0;transition:opacity .2s}.incident-form-page .attachment-item:hover .attachment-delete{opacity:1}.incident-form-page .attachment-delete svg{color:#fff}@media (max-width: 600px){.incident-form-page .attachments-grid{grid-template-columns:repeat(3,1fr)}.incident-form-page .attachment-image-link,.incident-form-page .attachment-file-icon{height:50px}}.incident-form-page .form-label-inline{font-size:.875rem;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:8px;margin-bottom:6px}.incident-form-page .form-textarea{width:100%;border-radius:8px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);padding:8px 12px;font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s,box-shadow .2s}.incident-form-page .form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}.incident-form-page .form-textarea::-moz-placeholder{color:var(--text-tertiary)}.incident-form-page .form-textarea::placeholder{color:var(--text-tertiary)}.incident-form-page .form-textarea-sm{height:60px;min-height:60px;max-height:60px;resize:none;overflow-y:auto}.incident-form-page .empty-state{text-align:center;padding:24px 16px;color:var(--text-tertiary);font-size:13px;border:1px dashed var(--glass-border);border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:12px}.incident-form-page .empty-state p{margin:0}.incident-form-page .field-error{font-size:12px;color:var(--error);margin-top:4px;display:flex;align-items:center;gap:4px}.incident-form-page .field-error:before{content:"⚠️"}.incident-form-page .header-status-badge{display:inline-flex;align-items:center;margin-left:12px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;color:#fff;vertical-align:middle}.incident-form-page input,.incident-form-page select{background:var(--panel-2)!important;border:1px solid var(--glass-border)!important;padding:10px 14px!important;font-size:14px;border-radius:8px}.incident-form-page .form-textarea{padding:10px 14px;background:var(--panel-2);border:1px solid var(--glass-border);font-size:14px}.incident-form-page input:focus,.incident-form-page select:focus,.incident-form-page .form-textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #6366f126!important;outline:none}.incident-form-page .form-section h3{font-size:15px;text-transform:none;letter-spacing:normal;color:var(--text-primary);padding-bottom:12px;margin-bottom:16px}.incident-form-page .form-grid-2,.incident-form-page .form-grid-3{gap:.5rem 1rem}.incident-form-page .form-label-inline{font-size:14px;margin-bottom:8px}.incident-form-page .header-right{gap:12px}.incident-form-page input,.incident-form-page select{width:100%!important;box-sizing:border-box}.incident-form-page .autocomplete-wrapper{width:100%}.incident-form-page .autocomplete-wrapper input{width:100%!important}.incident-form-page .form-grid-2>div,.incident-form-page .form-grid-3>div{width:100%;min-width:0}.incident-form-page .form-grid-2>.relative,.incident-form-page .form-grid-3>.relative{width:100%}.incident-form-page .form-label-inline{display:flex;align-items:center;gap:8px;min-height:20px;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.incident-form-page label{font-size:13px;font-weight:500;color:var(--text-secondary)}.incident-form-page select{-webkit-appearance:none;-moz-appearance:none;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='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px!important}.incident-form-page .form-grid-2>div>div,.incident-form-page .form-grid-3>div>div{width:100%}.incident-form-page .form-grid-2>div{display:flex;flex-direction:column}.incident-form-page [class*=w-full]{width:100%!important}@media (min-width: 768px){.incident-form-page .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.incident-form-page .form-grid-2>*{min-width:0;width:100%}.incident-form-page .form-grid-2 .col-span-2{grid-column:span 2}}.incident-form-page .form-grid-2>div.relative{width:100%;display:flex;flex-direction:column}.incident-form-page .form-grid-2>div.relative>.autocomplete-wrapper{width:100%}.incident-form-page .form-grid-2>div.relative>.autocomplete-wrapper.relative{width:100%}.incident-form-page .form-grid-2>div>div{width:100%}.incident-form-page .autocomplete-wrapper.relative{width:100%;display:block}.incident-form-page .col-span-2>div{width:100%}.incident-form-page .form-grid-2 input[type=text],.incident-form-page .form-grid-2 input[type=date],.incident-form-page .form-grid-2 select{width:100%!important;min-width:0}.incident-form-page .form-grid-2>div,.incident-form-page .form-grid-2>.relative{display:flex;flex-direction:column;width:100%}.incident-form-page .form-grid-2>div>.form-label-inline,.incident-form-page .form-grid-2>.relative>.form-label-inline{flex-shrink:0}.incident-form-page .form-grid-2>div:not(.relative):not(.col-span-2){width:100%}.incident-form-page .form-grid-2 .flex.flex-col,.incident-form-page .form-grid-2 [class*=flex][class*=flex-col],.incident-form-page .form-grid-2 .relative.flex,.incident-form-page .form-grid-2 [class*=relative][class*=flex]{width:100%}.incident-form-page .autocomplete-wrapper>div{width:100%}.incident-form-page .autocomplete-wrapper>.flex{width:100%}.incident-form-page .form-grid-2>*>div,.incident-form-page .form-grid-2>*>*>div{width:100%}.incident-form-page .form-grid-2 input,.incident-form-page .form-grid-2 select,.incident-form-page .form-grid-2 textarea{width:100%!important;box-sizing:border-box!important}.incident-form-page .autocomplete-wrapper input{padding-right:2.5rem!important}.incident-form-page .autocomplete-wrapper .absolute,.incident-form-page .autocomplete-wrapper .absolute button{pointer-events:auto!important}.incident-form-page .autocomplete-wrapper>div{position:relative}.incident-form-page .autocomplete-wrapper>div>.relative{position:relative;display:flex;align-items:center}.incident-form-page .autocomplete-wrapper [class*=absolute][class*=right-3]{position:absolute!important;right:.75rem!important;top:50%;transform:translateY(-50%);z-index:10}.qms-workflow-guide-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.qms-workflow-guide-modal{background:var(--panel, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0003;max-width:1100px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.workflow-guide-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--panel, #ffffff);flex-shrink:0}.workflow-guide-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.workflow-guide-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.workflow-guide-close:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.workflow-guide-fixed{display:flex;flex-direction:column;gap:8px;padding:16px 20px;flex-shrink:0;background:var(--panel, #ffffff)}.qms-workflow-guide-content{display:flex;flex-direction:column;gap:16px;padding:0 16px 16px;overflow-y:auto;flex:1}.workflow-guide-timeline{display:flex;align-items:center;justify-content:center;gap:0;flex-shrink:0;padding:10px 12px;background:var(--bg-secondary, #f8fafc);border-radius:10px;overflow-x:auto}.workflow-guide-timeline.single-row{justify-content:space-between;padding:12px 16px}.workflow-guide-stage{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 6px;cursor:pointer;border-radius:8px;transition:all .2s;min-width:52px}.single-row .workflow-guide-stage{min-width:48px;padding:4px}.workflow-guide-stage:hover{background:var(--panel, #ffffff);box-shadow:0 2px 8px #00000014}.workflow-guide-stage.selected{background:var(--panel, #ffffff);box-shadow:0 4px 16px #3b82f633;transform:translateY(-2px)}.stage-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}.stage-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.single-row .stage-icon{width:26px;height:26px}.stage-icon svg{width:14px;height:14px}.single-row .stage-icon svg{width:12px;height:12px}.workflow-guide-stage.completed .stage-icon{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 8px #22c55e4d}.workflow-guide-stage.current .stage-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 12px #3b82f666;animation:pulse 2s infinite}.workflow-guide-stage.upcoming .stage-icon{background:var(--panel, #ffffff);color:var(--text-secondary, #94a3b8);border:2px dashed var(--border, #e2e8f0)}.stage-code{font-size:.625rem;font-weight:700;color:var(--text-primary, #1e293b)}.single-row .stage-code{font-size:.5625rem}.workflow-guide-stage.upcoming .stage-code{color:var(--text-secondary, #94a3b8)}.stage-name{font-size:.5625rem;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap;max-width:60px;overflow:hidden;text-overflow:ellipsis}.single-row .stage-name{font-size:.5rem;max-width:50px}.workflow-guide-connector{display:flex;align-items:center;color:var(--border, #e2e8f0);padding:0 1px}.single-row .workflow-guide-connector{padding:0}.workflow-guide-connector.completed{color:#22c55e}.workflow-guide-position{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:#dbeafe;color:#1d4ed8;border-radius:6px;font-size:.8125rem}.workflow-guide-position strong{font-weight:600}.workflow-guide-detail{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;animation:detail-in .2s ease-out}.detail-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.detail-header h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0;flex:1}.detail-sla{font-size:.75rem;font-weight:500;padding:4px 10px;background:#fef3c7;color:#92400e;border-radius:4px}.qms-workflow-guide-modal .detail-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.qms-workflow-guide-modal .detail-section{background:var(--bg-secondary, #f8fafc);border-radius:6px;padding:8px;min-width:0;overflow:hidden}.qms-workflow-guide-modal .detail-section h4{font-size:.6875rem;font-weight:600;color:var(--text-primary, #334155);margin:0 0 4px}.qms-workflow-guide-modal .detail-section ul{margin:0;padding:0 0 0 12px;font-size:.6875rem;color:var(--text-primary, #475569);line-height:1.3}.qms-workflow-guide-modal .detail-section ul li{margin-bottom:1px}.qms-workflow-guide-modal .detail-section.tips{grid-column:1 / -1;background:#ecfdf5}.qms-workflow-guide-modal .detail-section.tips ul{color:#065f46}.qms-workflow-guide-modal .detail-tags{display:flex;flex-wrap:wrap;gap:4px}.qms-workflow-guide-modal .detail-tag{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.6875rem;font-weight:500}.qms-workflow-guide-modal .detail-tag.required{background:#dbeafe;color:#1d4ed8}.workflow-guide-instructions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:var(--bg-secondary, #f8fafc);border-radius:12px;text-align:center}.workflow-guide-instructions h4{font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 8px}.workflow-guide-instructions p{font-size:.875rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0}.workflow-guide-legend{display:flex;justify-content:center;gap:24px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}@media (max-width: 1024px){.workflow-guide-timeline.single-row{overflow-x:auto;justify-content:flex-start;padding:12px 8px}.single-row .workflow-guide-stage{min-width:44px;flex-shrink:0}}@media (max-width: 600px){.workflow-guide-timeline{padding:12px 6px}.workflow-guide-stage{min-width:50px;padding:4px}.stage-icon{width:24px;height:24px}.stage-icon svg{width:12px;height:12px}.stage-code{font-size:.5625rem}.stage-name{font-size:.5rem;max-width:48px}}@media (max-width: 400px){.workflow-guide-legend{flex-wrap:wrap;gap:12px}}@media (prefers-color-scheme: dark){.workflow-guide-position{background:#3b82f626;color:#93c5fd}.detail-tag.required{background:#3b82f633;color:#93c5fd}.detail-sla{background:#fbbf2433;color:#fcd34d}.detail-section.tips{background:#10b9811a}.detail-section.tips ul{color:#6ee7b7}}.iqc-list-page{display:flex;flex-direction:column;height:100%;padding:24px;background:var(--bg-primary);gap:16px}.iqc-header{display:flex;justify-content:space-between;align-items:center}.iqc-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.iqc-title h1{margin:0;font-size:20px;font-weight:600}.iqc-actions{display:flex;gap:8px;flex-shrink:0}.iqc-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-create:hover{opacity:.9}.iqc-summary-cards{display:flex;gap:12px;flex-wrap:wrap}.summary-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;min-width:120px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-card:hover{border-color:var(--primary);transform:translateY(-2px)}.summary-card.active{border-color:var(--primary);background:#6366f11a}.card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px}.card-icon.total{background:#e0e7ff;color:#4f46e5}.card-icon.pending{background:#fef3c7;color:#d97706}.card-icon.in-progress{background:#dbeafe;color:#2563eb}.card-icon.completed,.card-icon.pass{background:#d1fae5;color:#059669}.card-icon.fail{background:#fee2e2;color:#dc2626}.card-value{font-size:18px;font-weight:600;color:var(--text-primary)}.card-value.pass{color:#059669}.card-value.fail{color:#dc2626}.summary-divider{width:1px;height:48px;background:var(--glass-border);margin:0 8px}.iqc-search-bar{display:flex;gap:12px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;flex-wrap:wrap;align-items:flex-end;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.iqc-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.iqc-table-container{flex:1;overflow:auto;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.iqc-table{width:100%;border-collapse:collapse;font-size:14px}.iqc-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.iqc-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap}.iqc-table td{padding:12px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.iqc-table tbody tr{cursor:pointer;transition:all .15s}.iqc-table tbody tr:hover{background:#1565c0!important}.iqc-table tbody tr:hover td,.iqc-table tbody tr:hover .iqc-no{color:#fff!important}.iqc-table tbody tr:hover .iqc-status-badge,.iqc-table tbody tr:hover .iqc-judgment-badge,.iqc-table tbody tr:hover .iqc-disposition-badge{background:#fff3!important;color:#fff!important}.iqc-table tbody tr.selected{background:#6366f126}.iqc-table .iqc-no{font-weight:500;color:var(--primary)}.iqc-table .item-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iqc-table .qty{text-align:right;font-family:Roboto Mono,monospace}.loading-cell{display:flex;align-items:center;justify-content:center;gap:8px}.iqc-status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.iqc-status-badge.status-gray{background:#f3f4f6;color:#6b7280}.iqc-status-badge.status-blue{background:#dbeafe;color:#2563eb}.iqc-status-badge.status-green{background:#d1fae5;color:#059669}.iqc-judgment-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.iqc-judgment-badge.judgment-none{color:var(--text-secondary)}.iqc-judgment-badge.judgment-green{background:#d1fae5;color:#059669}.iqc-judgment-badge.judgment-yellow{background:#fef3c7;color:#d97706}.iqc-judgment-badge.judgment-red{background:#fee2e2;color:#dc2626}.iqc-disposition-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.iqc-disposition-badge.disposition-none{color:var(--text-secondary)}.iqc-disposition-badge.disposition-green{background:#d1fae5;color:#059669}.iqc-disposition-badge.disposition-yellow{background:#fef3c7;color:#d97706}.iqc-disposition-badge.disposition-orange{background:#ffedd5;color:#ea580c}.iqc-disposition-badge.disposition-red{background:#fee2e2;color:#dc2626}.iqc-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px}.iqc-pagination button{padding:8px 12px;background:var(--panel);border:1px solid var(--glass-border);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.iqc-pagination button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.iqc-pagination button:disabled{opacity:.5;cursor:not-allowed}.iqc-form-page{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary)}.iqc-form-page .form-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.iqc-form-page .header-left{display:flex;align-items:center;gap:10px}.iqc-form-page .btn-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-primary)}.iqc-form-page .btn-back:hover{background:var(--bg-secondary)}.iqc-form-page .header-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.iqc-form-page .header-title h1{margin:0;font-size:16px;font-weight:600}.iqc-form-page .header-actions{display:flex;gap:8px}.iqc-form-page .header-actions button{display:flex;align-items:center;gap:5px;padding:6px 14px;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.iqc-form-page .btn-start{background:#3b82f6;color:#fff}.iqc-form-page .btn-complete{background:#10b981;color:#fff}.iqc-form-page .btn-save{background:var(--primary);color:#fff}.iqc-form-page .btn-save:disabled{opacity:.6;cursor:not-allowed}.iqc-form-page .form-error{margin:8px 16px 0;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px}.iqc-form-page .form-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.iqc-form-page .form-content{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}.iqc-form-page .form-section{padding:10px 16px;border-bottom:1px solid var(--border)}.iqc-form-page .form-section:last-child{border-bottom:none}.iqc-form-page .form-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.iqc-form-page .form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 10px}.iqc-form-page .form-group.span-2{grid-column:span 2}.iqc-form-page .form-group.span-3{grid-column:span 3}.iqc-form-page .form-group.span-4{grid-column:span 4}.iqc-form-page .form-group{display:flex;flex-direction:column;gap:1px}.iqc-form-page .form-group label{font-size:10px;font-weight:500;color:var(--text-secondary);line-height:1.2}.iqc-form-page .form-group input,.iqc-form-page .form-group select{padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--bg-secondary);color:var(--text-primary)}.iqc-form-page .form-group input:focus,.iqc-form-page .form-group select:focus{outline:none;border-color:var(--primary)}.iqc-form-page .form-group input:disabled,.iqc-form-page .form-group select:disabled{background:var(--bg-secondary);color:var(--text-secondary);opacity:.7}.iqc-form-page .form-group input[type=number]{text-align:right}.iqc-form-page .items-section{flex:1;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.iqc-form-page .items-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-primary)}.iqc-form-page .btn-add-item{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.iqc-form-page .items-table-container{flex:1;overflow:auto}.iqc-form-page .items-table{width:100%;border-collapse:collapse;font-size:12px}.iqc-form-page .items-table th{padding:8px 6px;text-align:left;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0}.iqc-form-page .items-table td{padding:6px;border-bottom:1px solid var(--border);color:var(--text-primary)}.iqc-form-page .items-table input,.iqc-form-page .items-table select{width:100%;padding:5px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--bg-secondary);color:var(--text-primary)}.iqc-form-page .items-table input:focus,.iqc-form-page .items-table select:focus{outline:none;border-color:var(--primary)}.iqc-form-page .items-table input[type=checkbox]{width:14px;height:14px}.iqc-form-page .items-table input[type=number]{text-align:right;width:70px}.iqc-form-page .empty-row{text-align:center;color:var(--text-secondary);padding:24px!important}.iqc-form-page .btn-remove-item{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid #fee2e2;border-radius:4px;color:#dc2626;cursor:pointer}.iqc-form-page .btn-remove-item:hover{background:#fee2e2}@media (max-width: 900px){.iqc-form-page .form-grid{grid-template-columns:repeat(2,1fr)}.iqc-form-page .form-group.span-2,.iqc-form-page .form-group.span-3{grid-column:span 2}}@media (max-width: 600px){.iqc-form-page .form-grid{grid-template-columns:1fr}.iqc-form-page .form-group.span-2,.iqc-form-page .form-group.span-3{grid-column:span 1}}.coa-list-page{display:flex;flex-direction:column;height:100%;padding:24px;background:var(--bg-primary);gap:16px}.coa-header{display:flex;justify-content:space-between;align-items:center}.coa-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.coa-title h1{margin:0;font-size:20px;font-weight:600}.coa-actions{display:flex;gap:8px;flex-shrink:0}.coa-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-refresh{background:var(--panel);color:var(--text-primary);border:1px solid var(--glass-border)!important}.discrepancy-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.discrepancy-alert strong{font-weight:600}.discrepancy-alert button{margin-left:auto;padding:6px 12px;background:#dc2626;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer}.coa-status-filters{display:flex;gap:8px}.filter-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-btn.discrepancy.active{background:#dc2626;border-color:#dc2626}.filter-btn .badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background:#dc2626;color:#fff;border-radius:9px;font-size:11px;font-weight:600}.filter-btn.discrepancy.active .badge{background:#fff;color:#dc2626}.coa-search-bar{display:flex;gap:12px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.search-group select,.search-group input{padding:8px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary)}.search-group.date-range .date-inputs{display:flex;align-items:center;gap:8px}.search-group.date-range .date-inputs input{width:140px}.search-group.date-range .date-inputs span{color:var(--text-secondary)}.coa-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.coa-table-container{flex:1;overflow:auto;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.coa-table{width:100%;border-collapse:collapse;font-size:14px}.coa-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.coa-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap}.coa-table td{padding:12px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.coa-table tbody tr{cursor:pointer;transition:all .15s}.coa-table tbody tr:hover{background:#1565c0!important}.coa-table tbody tr:hover td,.coa-table tbody tr:hover .coa-no{color:#fff!important}.coa-table tbody tr:hover .coa-status-badge{background:#fff3!important;color:#fff!important}.coa-table tbody tr.selected{background:#6366f126}.coa-table .coa-no{font-weight:500;color:var(--primary)}.coa-table .item-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coa-status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.coa-status-badge.status-gray{background:#f3f4f6;color:#6b7280}.coa-status-badge.status-green{background:#d1fae5;color:#059669}.coa-status-badge.status-red{background:#fee2e2;color:#dc2626}.btn-validate{padding:4px 10px;background:#3b82f6;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.btn-validate:hover{background:#2563eb}.coa-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px}.coa-pagination button{padding:8px 12px;background:var(--panel);border:1px solid var(--glass-border);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.coa-pagination button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.coa-pagination button:disabled{opacity:.5;cursor:not-allowed}.validate-modal{background:var(--panel);border-radius:12px;padding:24px;width:400px;max-width:90%}.validate-modal h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.validate-modal p{margin:0 0 16px;color:var(--text-secondary);font-size:14px}.modal-form{margin-bottom:20px}.modal-form label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-secondary)}.modal-form input{width:100%;padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.btn-cancel{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--glass-border)!important}.btn-confirm{background:var(--primary);color:#fff}.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.insp-spec-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.insp-spec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.insp-spec-title{display:flex;align-items:center;gap:12px}.insp-spec-title svg{color:var(--primary, #3b82f6)}.insp-spec-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary, #1e293b)}.insp-spec-title p{margin:4px 0 0;font-size:.875rem;color:var(--text-secondary, #64748b)}.insp-spec-actions{display:flex;gap:8px}.insp-status-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}@media (max-width: 1024px){.insp-status-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.insp-status-cards{grid-template-columns:repeat(2,1fr)}}.insp-status-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.insp-status-card:hover{border-color:var(--primary);transform:translateY(-2px)}.insp-status-card.active{border-color:var(--primary);background:#6366f11a}.insp-status-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.insp-status-icon.total{background:#e0e7ff;color:#4f46e5}.insp-status-icon.draft{background:#f1f5f9;color:#64748b}.insp-status-icon.review{background:#fef3c7;color:#f59e0b}.insp-status-icon.approved{background:#dcfce7;color:#22c55e}.insp-status-icon.obsolete{background:#fecaca;color:#ef4444}.insp-status-content{display:flex;flex-direction:column}.insp-status-count{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1e293b)}.insp-status-label{font-size:.75rem;color:var(--text-secondary, #64748b)}.insp-search-area{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:16px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.insp-search-row{display:flex;gap:8px;align-items:center}.insp-search-input-group{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--glass-border);border-radius:6px}.insp-search-input-group svg{color:var(--text-secondary, #64748b)}.insp-search-input-group input{flex:1;border:none;background:transparent;font-size:.875rem;outline:none}.insp-filter-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--glass-border)}.insp-filter-row{display:flex;gap:16px;flex-wrap:wrap}.insp-filter-item{display:flex;flex-direction:column;gap:4px;min-width:180px}.insp-filter-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.insp-filter-item input,.insp-filter-item select{padding:6px 10px;border:1px solid var(--glass-border);border-radius:4px;font-size:.8125rem;background:var(--panel, #ffffff)}.insp-table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.insp-loading,.insp-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary, #64748b)}.insp-table{width:100%;border-collapse:collapse}.insp-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--glass-border);white-space:nowrap}.insp-table td{padding:12px 16px;font-size:.8125rem;border-bottom:1px solid var(--glass-border)}.insp-table tbody tr{cursor:pointer;transition:all .15s}.insp-table tbody tr:hover{background:#1565c0!important}.insp-table tbody tr:hover td,.insp-table tbody tr:hover .insp-spec-no,.insp-table tbody tr:hover .insp-spec-name{color:#fff!important}.insp-table tbody tr:hover .insp-type-badge,.insp-table tbody tr:hover .insp-status-badge{background:#fff3!important;color:#fff!important}.insp-spec-no{font-family:monospace;font-weight:500;color:var(--primary, #3b82f6)}.insp-spec-name{font-weight:500;color:var(--text-primary, #1e293b)}.insp-type-badge{display:inline-block;padding:2px 8px;background:#e0e7ff;color:#4f46e5;border-radius:4px;font-size:.6875rem;font-weight:500}.insp-item-info{display:flex;flex-direction:column;gap:2px}.insp-item-code{font-family:monospace;font-size:.75rem;color:var(--text-secondary, #64748b)}.insp-item-name{font-size:.75rem;color:var(--text-primary, #1e293b)}.insp-revision{font-family:monospace;color:var(--text-secondary, #64748b)}.insp-level{font-weight:600;color:var(--text-primary, #1e293b)}.insp-item-count{text-align:center;font-weight:600}.insp-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:500;color:#fff}.insp-date{font-size:.75rem;color:var(--text-secondary, #64748b);white-space:nowrap}.insp-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.insp-pagination-info{font-size:.8125rem;color:var(--text-secondary, #64748b)}.insp-pagination-buttons{display:flex;align-items:center;gap:8px}.insp-pagination-current{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b);min-width:60px;text-align:center}.insp-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.insp-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.insp-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.insp-btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.insp-btn-active{background:#eff6ff;border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.insp-spec-form-page{padding:16px;background:var(--bg-secondary, #f8fafc);min-height:100%}.insp-form-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary, #64748b)}.insp-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.insp-form-title{display:flex;align-items:center;gap:12px}.insp-form-title svg{color:var(--primary, #3b82f6)}.insp-form-title h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1e293b)}.insp-form-spec-no{display:inline-block;margin-left:12px;padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:.8125rem;font-family:monospace;color:var(--text-secondary, #64748b)}.insp-form-actions{display:flex;gap:8px}.insp-form-content{display:flex;flex-direction:column;gap:20px}.insp-form-section{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:20px}.insp-form-section h2{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.insp-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.insp-section-header h2{margin:0}.insp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 768px){.insp-form-grid{grid-template-columns:1fr}}.insp-form-field{display:flex;flex-direction:column;gap:6px}.insp-form-field.full{grid-column:1 / -1}.insp-form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary, #64748b)}.insp-form-field input,.insp-form-field select,.insp-form-section textarea{padding:10px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff)}.insp-form-field input:focus,.insp-form-field select:focus,.insp-form-section textarea:focus{outline:none;border-color:var(--primary, #3b82f6)}.insp-form-section textarea{width:100%;resize:vertical}.insp-empty-items{padding:40px;text-align:center;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-radius:6px}.insp-items-table{width:100%;border-collapse:collapse}.insp-items-table th{padding:10px 12px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.insp-items-table td{padding:10px 12px;font-size:.8125rem;border-bottom:1px solid var(--border, #e2e8f0)}.insp-item-actions{display:flex;gap:8px}.insp-item-actions button{padding:4px 8px;border:none;background:transparent;color:var(--primary, #3b82f6);font-size:.75rem;cursor:pointer}.insp-item-actions button:hover{text-decoration:underline}.insp-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.insp-modal{width:90%;max-width:600px;max-height:90vh;background:var(--panel, #ffffff);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.insp-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.insp-modal-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.insp-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;border-radius:4px}.insp-modal-close:hover{background:var(--bg-secondary, #f1f5f9)}.insp-modal-body{padding:20px;overflow-y:auto}.insp-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border, #e2e8f0)}.insp-btn:disabled{opacity:.5;cursor:not-allowed}.insp-spec-detail-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary, #f8fafc)}.insp-detail-loading,.insp-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary, #64748b)}.insp-detail-error svg{color:#dc2626}.insp-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.insp-detail-title{display:flex;align-items:center;gap:12px}.insp-detail-title svg{color:var(--primary, #3b82f6)}.insp-detail-title h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1e293b)}.insp-detail-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.insp-detail-no{font-family:monospace;font-size:.8125rem;color:var(--text-secondary, #64748b)}.insp-detail-rev{padding:2px 8px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.insp-detail-status{padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500;color:#fff}.insp-detail-actions{display:flex;gap:8px}.insp-btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);cursor:pointer}.insp-btn-back:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.insp-detail-tabs{display:flex;gap:4px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px 8px 0 0;padding:8px 8px 0;border-bottom:none}.insp-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0;transition:all .2s;position:relative}.insp-tab:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.insp-tab.active{background:var(--bg-secondary, #f8fafc);color:var(--primary, #3b82f6)}.insp-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary, #3b82f6)}.insp-detail-content{flex:1;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-top:none;border-radius:0 0 8px 8px;padding:20px;overflow-y:auto}.insp-info-tab{display:flex;flex-direction:column;gap:20px}.insp-info-section{padding-bottom:20px;border-bottom:1px solid var(--border, #e2e8f0)}.insp-info-section:last-child{padding-bottom:0;border-bottom:none}.insp-info-section h3{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.insp-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.insp-info-item{display:flex;flex-direction:column;gap:4px}.insp-info-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.insp-info-item span{font-size:.875rem;color:var(--text-primary, #1e293b)}.insp-remarks{margin:0;padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:6px;font-size:.875rem;color:var(--text-primary, #1e293b);line-height:1.6}.insp-items-tab .insp-items-table{width:100%;border-collapse:collapse}.insp-items-tab .insp-items-table th{padding:12px 8px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.insp-items-tab .insp-items-table td{padding:10px 8px;font-size:.8125rem;border-bottom:1px solid var(--border, #e2e8f0)}.insp-item-name{font-weight:500;color:var(--text-primary, #1e293b)}.insp-defect-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:500;color:#fff}.insp-timeline{position:relative;padding-left:24px}.insp-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border, #e2e8f0)}.insp-timeline-item{position:relative;padding-bottom:20px}.insp-timeline-item:last-child{padding-bottom:0}.insp-timeline-dot{position:absolute;left:-20px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--primary, #3b82f6);border:2px solid var(--panel, #ffffff)}.insp-timeline-content{padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-radius:8px}.insp-timeline-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.insp-timeline-rev{padding:2px 8px;background:var(--primary, #3b82f6);color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.insp-timeline-date{font-size:.75rem;color:var(--text-secondary, #64748b)}.insp-timeline-reason{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b);margin-bottom:4px}.insp-timeline-desc{font-size:.8125rem;color:var(--text-secondary, #64748b);margin-bottom:8px}.insp-timeline-by{font-size:.75rem;color:var(--text-secondary, #94a3b8)}.insp-aql-tab{max-width:600px}.insp-aql-calculator h3{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.insp-aql-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:16px;background:var(--bg-secondary, #f8fafc);border-radius:8px;margin-bottom:20px}.insp-aql-field{display:flex;flex-direction:column;gap:4px;min-width:120px}.insp-aql-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.insp-aql-field input,.insp-aql-field select{padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff)}.insp-aql-value{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}.insp-aql-result{padding:16px;background:#eff6ff;border:1px solid #3b82f6;border-radius:8px}.insp-aql-result h4{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--primary, #3b82f6)}.insp-aql-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.insp-aql-result-item{display:flex;flex-direction:column;gap:4px}.insp-aql-result-item label{font-size:.75rem;color:var(--text-secondary, #64748b)}.insp-aql-result-item span{font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.insp-aql-highlight{font-size:1.5rem!important;color:var(--primary, #3b82f6)!important}.insp-aql-ac{color:#22c55e!important}.insp-aql-re{color:#ef4444!important}.insp-aql-message{margin-top:12px;padding:10px;background:var(--panel, #ffffff);border-radius:6px;font-size:.875rem;color:var(--text-primary, #1e293b)}.insp-empty{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary, #64748b);font-size:.875rem}.insp-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.875rem;cursor:pointer;transition:all .2s}.insp-btn:hover{background:var(--bg-secondary, #f1f5f9)}.insp-btn-primary{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.insp-btn-primary:hover{background:#2563eb}.insp-btn-success{background:#22c55e;border-color:#22c55e;color:#fff}.insp-btn-success:hover{background:#16a34a}.insp-btn-icon{padding:8px}.quality-activity-list-page{padding:24px;height:100%;display:flex;flex-direction:column}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.header-left{display:flex;align-items:center;gap:12px}.header-left h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary)}.total-count{font-size:14px;color:var(--text-secondary)}.header-right{display:flex;align-items:center;gap:12px}.view-toggle{display:flex;background:var(--panel);border:1px solid var(--border);border-radius:6px;overflow:hidden}.toggle-btn{padding:8px 12px;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all .2s}.toggle-btn:hover{background:var(--hover)}.toggle-btn.active{background:var(--primary);color:#fff}.btn-primary{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-primary:hover{background:var(--primary-hover)}.kpi-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px;flex-shrink:0}.kpi-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.kpi-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px}.kpi-icon.planned{background:#6b72801a;color:#6b7280}.kpi-icon.in-progress{background:#3b82f61a;color:#3b82f6}.kpi-icon.completed{background:#22c55e1a;color:#22c55e}.kpi-icon.overdue{background:#ef44441a;color:#ef4444}.kpi-label{font-size:13px;color:var(--text-secondary)}.kpi-card.completion-rate{flex-direction:column;align-items:stretch}.kpi-card.completion-rate .kpi-content{flex-direction:row;align-items:baseline;gap:8px}.progress-bar{width:100%;height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s ease}.filter-bar-unified{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-shrink:0;flex-wrap:wrap}.filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:14px;cursor:pointer;min-width:130px}.filter-select:focus{outline:none;border-color:var(--primary)}.filter-input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:14px;width:120px}.filter-input:focus{outline:none;border-color:var(--primary)}.filter-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);flex:1;min-width:200px;max-width:350px}.filter-search .search-icon{color:var(--text-secondary);flex-shrink:0}.filter-search input{border:none;background:transparent;color:var(--text-primary);font-size:14px;width:100%;outline:none}.filter-search input::-moz-placeholder{color:var(--text-secondary)}.filter-search input::placeholder{color:var(--text-secondary)}.calendar-view{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;flex:1;display:flex;flex-direction:column}.calendar-header{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;border-bottom:1px solid var(--border);flex-shrink:0}.week-nav{padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--panel);cursor:pointer;color:var(--text-primary);transition:all .2s}.week-nav:hover{background:var(--hover)}.week-label{font-size:16px;font-weight:600;color:var(--text-primary)}.today-btn{padding:6px 12px;border:none;border-radius:6px;background:var(--primary);color:#fff;cursor:pointer;font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1}.calendar-day{min-height:120px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column}.calendar-day:last-child{border-right:none}.calendar-day.today{background:#3b82f60d}.calendar-day.weekend{background:var(--hover)}.day-header{display:flex;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--background);flex-shrink:0}.day-name{font-size:12px;color:var(--text-secondary)}.day-number{font-size:14px;font-weight:600;color:var(--text-primary)}.today .day-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary);color:#fff;border-radius:50%}.day-activities{padding:8px;display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.activity-chip{padding:4px 8px;background:var(--panel);border-left:3px solid;border-radius:0 4px 4px 0;cursor:pointer;transition:background .2s;overflow:hidden}.activity-chip:hover{background:var(--hover)}.chip-text{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.more-count{font-size:11px;color:var(--text-secondary);text-align:center;padding:4px}.list-view{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;flex:1;display:flex;flex-direction:column}.loading,.empty-state{padding:48px;text-align:center;color:var(--text-secondary)}.empty-state p{margin-bottom:16px}.activity-table{width:100%;border-collapse:collapse}.activity-table th,.activity-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.activity-table th{background:var(--background);font-size:13px;font-weight:600;color:var(--text-secondary);position:sticky;top:0;z-index:1}.activity-table tbody{overflow-y:auto}.activity-table tr:hover{background:var(--hover);cursor:pointer}.activity-table tr.overdue-row{background:#ef44440d}.activity-no{font-family:monospace;font-size:13px;color:var(--text-secondary)}.subject{max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-badge{display:inline-block;margin-left:6px;padding:2px 6px;background:var(--primary);color:#fff;border-radius:4px;font-size:10px}.category-badge{display:inline-block;padding:4px 8px;color:#fff;border-radius:4px;font-size:12px;font-weight:500}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500}.priority-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500}.priority-low{background:#6b72801a;color:#6b7280}.priority-medium{background:#3b82f61a;color:#3b82f6}.priority-high{background:#f973161a;color:#f97316}.priority-critical{background:#ef44441a;color:#ef4444}.overdue-date{color:#ef4444;font-weight:500}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px;border-top:1px solid var(--border);flex-shrink:0;margin-top:auto}.pagination button{padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background:var(--hover)}@media (max-width: 1400px){.kpi-cards{grid-template-columns:repeat(5,1fr)}}@media (max-width: 1200px){.kpi-cards{grid-template-columns:repeat(3,1fr)}.filter-bar-unified{gap:8px}.filter-select{min-width:110px}}@media (max-width: 768px){.quality-activity-list-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.header-right{width:100%;justify-content:space-between}.kpi-cards{grid-template-columns:repeat(2,1fr)}.filter-bar-unified{flex-direction:column;align-items:stretch}.filter-select,.filter-input,.filter-search{width:100%;max-width:none}.calendar-grid{grid-template-columns:1fr}}.quality-activity-form-page{max-width:1200px;margin:0 auto;padding:8px 20px}.form-loading{padding:48px;text-align:center;color:var(--text-secondary)}.form-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.back-btn{padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-primary);transition:all .2s}.back-btn:hover{background:var(--hover)}.form-header h1{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);flex:1}.activity-no{font-family:monospace;font-size:12px;color:var(--text-secondary);background:var(--panel);padding:2px 8px;border-radius:4px;border:1px solid var(--border)}.form-content{background:var(--panel);border:1px solid var(--border);border-radius:6px;margin-bottom:8px}.form-section{padding:10px 16px;border-bottom:1px solid var(--border)}.form-section:last-child{border-bottom:none}.form-section h2{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 10px}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.form-grid.cols-5{grid-template-columns:repeat(5,1fr)}.form-grid.cols-6{grid-template-columns:repeat(6,1fr)}.form-group{display:flex;flex-direction:column;gap:1px}.form-group.span-2{grid-column:span 2}.form-group.span-3{grid-column:span 3}.form-group label{font-size:10px;font-weight:500;color:var(--text-secondary);line-height:1.2}.form-group input,.form-group select,.form-group textarea{padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--background);color:var(--text-primary);font-size:13px;transition:border-color .2s}.form-group textarea{height:auto}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--text-secondary);opacity:.6}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary);opacity:.6}.form-group textarea{resize:vertical;min-height:40px;height:auto!important}.inline-group{display:flex;gap:8px;align-items:flex-end}.inline-group .form-group{flex:1}.form-footer{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:6px}.footer-left,.footer-right{display:flex;gap:6px}.btn-primary,.btn-secondary,.btn-danger,.btn-success{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--panel);border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{background:var(--hover)}.btn-danger{background:transparent;border:1px solid #ef4444;color:#ef4444}.btn-danger:hover{background:#ef44441a}.btn-success{background:#22c55e;color:#fff}.btn-success:hover{background:#16a34a}.result-toggle{display:flex;align-items:center;gap:6px;padding:5px 10px;background:transparent;border:1px dashed var(--border);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;width:100%;transition:all .2s}.result-toggle:hover{border-color:var(--primary);color:var(--primary)}.result-toggle.active{border-style:solid;background:var(--hover)}@media (max-width: 1200px){.form-grid.cols-6{grid-template-columns:repeat(4,1fr)}}@media (max-width: 900px){.form-grid,.form-grid.cols-3,.form-grid.cols-5,.form-grid.cols-6{grid-template-columns:repeat(2,1fr)}.form-group.span-3{grid-column:span 2}}@media (max-width: 600px){.quality-activity-form-page{padding:8px 12px}.form-grid,.form-grid.cols-3,.form-grid.cols-5,.form-grid.cols-6{grid-template-columns:1fr}.form-group.span-2,.form-group.span-3{grid-column:span 1}.form-footer{flex-direction:column;gap:6px}.footer-left,.footer-right{width:100%;justify-content:center}}.qa-calendar-section{height:100%;display:flex;flex-direction:column;padding:20px;overflow:hidden}.qa-calendar-section .page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-shrink:0}.qa-calendar-section .page-title h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.qa-calendar-section .page-title .meta{display:flex;gap:8px}.qa-calendar-card{flex:1;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:0}.qa-calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.qa-nav-left{display:flex;align-items:center;gap:8px}.qa-nav-left .btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border);background:var(--panel);border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:14px;transition:all .2s}.qa-nav-left .btn:hover{background:var(--panel-2);color:var(--text-primary)}.qa-view-label{min-width:160px;text-align:center;font-weight:600;font-size:15px;color:var(--text-primary)}.qa-nav-right{display:flex;gap:4px;background:var(--panel-2);padding:4px;border-radius:8px}.qa-nav-right .btn{padding:6px 14px;border:none;background:transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.qa-nav-right .btn:hover:not(:disabled){color:var(--text-primary)}.qa-nav-right .btn:disabled{background:var(--panel);color:var(--text-primary);box-shadow:0 1px 2px #0000001a;cursor:default}.qa-error{padding:12px 16px;background:#ef44441a;color:#ef4444;font-size:13px;text-align:center}.qa-loading{padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.qa-calendar-grid{flex:1;display:grid;gap:1px;background:var(--border);overflow:auto;min-height:0}.qa-weekday-header{background:var(--panel-2);padding:10px 4px;text-align:center;font-size:12px;font-weight:500;color:var(--text-secondary)}.qa-weekday-header:first-child{color:#ef4444}.qa-weekday-header:last-child{color:#3b82f6}.qa-day-cell{background:var(--panel);min-height:100px;padding:8px;cursor:pointer;transition:background .15s;display:flex;flex-direction:column;position:relative}.qa-day-cell:hover{background:var(--panel-2)}.qa-day-cell.out-of-month{opacity:.4}.qa-day-cell.today{background:#3b82f614}.qa-day-number{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.qa-day-cell.today .qa-day-number{background:var(--primary);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.qa-day-cell:nth-child(7n+1) .qa-day-number{color:#ef4444}.qa-day-cell:nth-child(7n) .qa-day-number{color:#3b82f6}.qa-event-count{position:absolute;top:6px;right:6px;background:var(--primary);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.qa-events{flex:1;display:flex;flex-direction:column;gap:3px;overflow:hidden}.qa-cal-pill{display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:4px;font-size:11px;cursor:pointer;overflow:hidden;border-left:3px solid;transition:opacity .15s}.qa-cal-pill:hover{opacity:.85}.qa-cal-pill.category-CLAIM{background:#ef444426;border-color:#ef4444;color:#dc2626}.qa-cal-pill.category-IQC{background:#3b82f626;border-color:#3b82f6;color:#2563eb}.qa-cal-pill.category-PRODUCTION{background:#22c55e26;border-color:#22c55e;color:#16a34a}.qa-cal-pill.category-DEVELOPMENT{background:#a855f726;border-color:#a855f7;color:#9333ea}.qa-pill-time{font-weight:600;flex-shrink:0}.qa-pill-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-day-column{background:var(--panel);display:flex;flex-direction:column;min-height:400px}.qa-day-column-header{padding:10px 8px;text-align:center;font-size:13px;font-weight:500;color:var(--text-primary);background:var(--panel-2);border-bottom:1px solid var(--border);flex-shrink:0}.qa-day-timeline{flex:1;position:relative;overflow-y:auto;min-height:0}.qa-hour-block{position:absolute;left:0;right:0;border-bottom:1px solid var(--border)}.qa-hour-marker{position:absolute;left:0;top:0;width:56px;padding:4px 8px 4px 4px;text-align:right;font-size:11px;color:var(--text-secondary);background:var(--panel)}.qa-context-menu{position:fixed;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:140px;z-index:1000;overflow:hidden}.qa-context-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left;transition:background .15s}.qa-context-item:hover:not(:disabled){background:var(--panel-2)}.qa-context-item:disabled{color:var(--text-secondary);cursor:not-allowed}.qa-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.qa-modal-content{background:var(--panel);border-radius:16px;max-width:90vw;max-height:90vh;overflow:auto;box-shadow:0 8px 32px #0003;min-width:600px}.qa-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.qa-modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.qa-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;border-radius:6px;transition:background .15s}.qa-modal-close:hover{background:var(--panel-2);color:var(--text-primary)}.qa-delete-dialog{background:var(--panel);border-radius:12px;padding:24px;min-width:320px;box-shadow:0 8px 32px #0003}.qa-delete-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.qa-delete-message{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.qa-delete-subject{font-weight:500;color:var(--text-primary);margin-bottom:8px}.qa-delete-buttons{display:flex;gap:8px;justify-content:flex-end}.qa-btn-cancel{padding:8px 16px;border:1px solid var(--border);background:var(--panel);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:13px;transition:background .15s}.qa-btn-cancel:hover{background:var(--panel-2)}.qa-btn-delete{padding:8px 16px;border:none;background:#ef4444;color:#fff;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s}.qa-btn-delete:hover{background:#dc2626}.qa-category-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.qa-category-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;border:1px solid var(--border);background:var(--panel);font-size:12px;cursor:pointer;transition:all .2s}.qa-category-chip.active{border-color:currentColor}.qa-category-chip .dot{width:8px;height:8px;border-radius:50%}.qa-category-chip.cat-CLAIM .dot{background:#ef4444}.qa-category-chip.cat-IQC .dot{background:#3b82f6}.qa-category-chip.cat-PRODUCTION .dot{background:#22c55e}.qa-category-chip.cat-DEVELOPMENT .dot{background:#a855f7}.qa-more-indicator{font-size:11px;color:var(--text-secondary);padding:2px 6px;cursor:pointer}.qa-more-indicator:hover{color:var(--primary)}.npd-list-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary, #f8fafc)}.npd-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.npd-page-header h1{display:flex;align-items:center;gap:8px;margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-header-actions{display:flex;gap:8px}.npd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.875rem;cursor:pointer;transition:all .2s}.npd-btn:hover{background:var(--bg-secondary, #f1f5f9)}.npd-btn-primary{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.npd-btn-primary:hover{background:#2563eb}.npd-btn-icon{padding:6px;border:none;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;border-radius:4px}.npd-btn-icon:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.npd-btn-danger:hover{background:#fee2e2;color:#dc2626}.npd-btn-search{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.npd-btn-search:hover{background:#2563eb}.npd-summary-cards{display:flex;gap:12px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px}.npd-summary-card{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s;min-width:100px}.npd-summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.npd-summary-card.active{border-color:var(--primary, #3b82f6);background:#eff6ff}.npd-summary-label{font-size:.75rem;color:var(--text-secondary, #64748b);margin-bottom:4px}.npd-summary-count{font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-summary-card-total{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6)}.npd-summary-card-total .npd-summary-label{color:#ffffffd9}.npd-summary-card-total .npd-summary-count{color:#fff}.npd-summary-card-total.active{background:var(--primary, #3b82f6);border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f64d}:root[data-theme=dark] .npd-summary-card.active,.dark .npd-summary-card.active{background:#3b82f626}:root[data-theme=dark] .npd-summary-card-total,.dark .npd-summary-card-total{background:var(--primary, #3b82f6)}:root[data-theme=dark] .npd-summary-card-total.active,.dark .npd-summary-card-total.active{background:#2563eb}.npd-search-area{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:16px;margin-bottom:16px}.npd-search-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.npd-search-field{display:flex;flex-direction:column;gap:4px}.npd-search-field label{font-size:.75rem;color:var(--text-secondary, #64748b);font-weight:500}.npd-search-field input,.npd-search-field select{padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);min-width:150px}.npd-search-field input:focus,.npd-search-field select:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.npd-table-container{flex:1;overflow:auto;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;position:relative}.npd-loading,.npd-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:16px 24px;background:var(--panel, #ffffff);border-radius:8px;box-shadow:0 4px 12px #0000001a}.npd-error{color:#dc2626}.npd-table{width:100%;border-collapse:collapse;font-size:.875rem}.npd-table thead{position:sticky;top:0;background:var(--bg-secondary, #f8fafc);z-index:1}.npd-table th{padding:12px 8px;text-align:left;font-weight:600;color:var(--text-secondary, #64748b);border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.npd-table td{padding:10px 8px;border-bottom:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.npd-table tbody tr{cursor:pointer;transition:background .15s}.npd-table tbody tr:hover{background:var(--bg-secondary, #f8fafc)}.npd-table tbody tr.selected{background:var(--selected-row, rgba(59, 130, 246, .15))}:root[data-theme=dark] .npd-table tbody tr.selected,.dark .npd-table tbody tr.selected{background:#3b82f633}.npd-empty{text-align:center;padding:40px!important;color:var(--text-secondary, #64748b)}.npd-cell-link{color:var(--primary, #3b82f6);font-weight:500}.npd-cell-actions{display:flex;gap:4px}.npd-status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;color:#fff}.npd-risk-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.npd-risk-badge.risk-green{background:#dcfce7;color:#15803d}.npd-risk-badge.risk-orange{background:#fed7aa;color:#c2410c}.npd-risk-badge.risk-red{background:#fecaca;color:#dc2626}.npd-gate-progress{display:flex;align-items:center;gap:2px}.npd-gate-dot{width:24px;height:24px;border-radius:50%;background:var(--border, #e2e8f0);color:var(--text-secondary, #64748b);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600}.npd-gate-dot.completed{background:#22c55e;color:#fff}.npd-gate-dot.current{background:var(--primary, #3b82f6);color:#fff;box-shadow:0 0 0 3px #3b82f64d}.npd-gate-line{width:12px;height:2px;background:var(--border, #e2e8f0)}.npd-gate-line.completed{background:#22c55e}.npd-progress-bar{position:relative;width:100%;height:18px;background:var(--bg-secondary, #f1f5f9);border-radius:9px;overflow:hidden}.npd-progress-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:9px;transition:width .3s ease}.npd-progress-bar span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.625rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:auto}.npd-page-info{font-size:.875rem;color:var(--text-secondary, #64748b)}.npd-page-controls{display:flex;align-items:center;gap:8px}.npd-page-controls button{padding:6px 12px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.75rem;cursor:pointer}.npd-page-controls button:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9)}.npd-page-controls button:disabled{opacity:.5;cursor:not-allowed}.npd-page-current{padding:0 8px;font-size:.875rem;font-weight:500}.npd-page-controls select{padding:6px 8px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:var(--panel, #ffffff);font-size:.75rem}.npd-form-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary, #f8fafc)}.npd-loading-center{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:var(--text-secondary, #64748b)}.npd-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.npd-form-title{display:flex;align-items:center;gap:12px}.npd-form-title h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-project-no{padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:.875rem;font-weight:500;color:var(--text-secondary, #64748b)}.npd-btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.npd-btn-back:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.npd-form-actions{display:flex;gap:8px}.npd-error-message{padding:12px 16px;margin-bottom:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem}.npd-form-content{flex:1;overflow-y:auto}.npd-form-section{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:20px;margin-bottom:16px}.npd-form-section h2{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b);padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.npd-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.npd-form-field{display:flex;flex-direction:column;gap:6px}.npd-form-field.span-2{grid-column:span 2}.npd-form-field.full-width{grid-column:1 / -1}.npd-form-field label{font-size:.875rem;font-weight:500;color:var(--text-secondary, #64748b)}.npd-form-field.required label:after{content:" *";color:#dc2626}.npd-form-field input,.npd-form-field select,.npd-form-field textarea{padding:10px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);transition:all .2s}.npd-form-field input:focus,.npd-form-field select:focus,.npd-form-field textarea:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.npd-form-field input::-moz-placeholder,.npd-form-field textarea::-moz-placeholder{color:var(--text-secondary, #94a3b8)}.npd-form-field input::placeholder,.npd-form-field textarea::placeholder{color:var(--text-secondary, #94a3b8)}.npd-form-field textarea{resize:vertical;min-height:100px}.npd-form-page .npd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.875rem;cursor:pointer;transition:all .2s}.npd-form-page .npd-btn:hover{background:var(--bg-secondary, #f1f5f9)}.npd-form-page .npd-btn-primary{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.npd-form-page .npd-btn-primary:hover{background:#2563eb}.npd-form-page .npd-btn-primary:disabled{opacity:.6;cursor:not-allowed}.gate-help-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.gate-help-popover{position:fixed;z-index:101;width:400px;max-width:calc(100vw - 32px);max-height:calc(100vh - 100px);background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;box-shadow:0 10px 40px #00000026;overflow:hidden;pointer-events:auto;animation:popover-in .2s ease-out}@keyframes popover-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.gate-help-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panel-2, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.gate-help-title-row{display:flex;align-items:center;gap:10px}.gate-help-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;background:var(--bg-secondary, #e2e8f0);color:var(--text-primary, #1e293b);font-size:.75rem;font-weight:700;border-radius:6px}.gate-help-badge.current{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.gate-help-title{font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.gate-help-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.gate-help-close:hover{background:var(--bg-secondary, #e2e8f0);color:var(--text-primary, #1e293b)}.gate-help-content{padding:16px;overflow-y:auto;max-height:calc(100vh - 200px)}.gate-help-section{margin-bottom:16px}.gate-help-section:last-child{margin-bottom:0}.gate-help-section-title{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 8px}.gate-help-section-title svg{color:var(--primary, #3b82f6)}.gate-help-objective{font-size:.8125rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0;padding-left:4px}.gate-help-list{margin:0;padding:0 0 0 20px;font-size:.8125rem;color:var(--text-primary, #334155);line-height:1.6}.gate-help-list li{margin-bottom:4px}.gate-help-list li:last-child{margin-bottom:0}.gate-help-deliverables{display:flex;flex-wrap:wrap;gap:6px}.gate-help-deliverable-tag{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1d4ed8;font-size:.75rem;font-weight:500;border-radius:4px}.gate-help-tabs{display:flex;flex-wrap:wrap;gap:8px}.gate-help-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--text-primary, #334155);cursor:pointer;transition:all .2s}.gate-help-tab-btn:hover{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.gate-help-tab-btn .tab-icon{font-size:.875rem}.gate-help-tab-btn .tab-name{white-space:nowrap}.gate-help-section.next-gate{background:#fffbeb;margin:16px -16px;padding:12px 16px;border-top:1px solid #fcd34d;border-bottom:1px solid #fcd34d}.gate-help-section.next-gate .gate-help-section-title{color:#b45309}.gate-help-section.next-gate .gate-help-section-title svg{color:#f59e0b}.gate-help-conditions{margin:0;padding:0;list-style:none}.gate-help-conditions li{display:flex;align-items:flex-start;gap:8px;font-size:.8125rem;color:#92400e;margin-bottom:6px}.gate-help-conditions li:last-child{margin-bottom:0}.gate-help-conditions li svg{flex-shrink:0;margin-top:3px;color:#d97706}.gate-help-section.tips{background:#f0fdf4;margin:0 -16px -16px;padding:12px 16px 16px;border-radius:0 0 12px 12px}.gate-help-tips{margin:0;padding:0 0 0 20px;font-size:.8125rem;color:#166534;line-height:1.5}.gate-help-tips li{margin-bottom:4px}@media (prefers-color-scheme: dark){.gate-help-deliverable-tag{background:#3b82f633;color:#93c5fd}.gate-help-section.next-gate{background:#f59e0b1a;border-color:#f59e0b4d}.gate-help-section.next-gate .gate-help-section-title{color:#fbbf24}.gate-help-conditions li{color:#fcd34d}.gate-help-section.tips{background:#22c55e1a}.gate-help-tips{color:#86efac}}@media (max-width: 480px){.gate-help-popover{width:calc(100vw - 24px);left:12px!important}.gate-help-title{font-size:.875rem}.gate-help-tab-btn{padding:5px 10px;font-size:.6875rem}}.gate-stepper{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:12px 20px;margin-bottom:16px}.gate-stepper-track{display:flex;align-items:center;justify-content:space-between}.gate-step{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;min-width:90px;gap:4px;cursor:pointer;padding:6px 8px;border-radius:8px;transition:all .2s ease}.gate-step:hover{background:var(--bg-secondary, rgba(241, 245, 249, .7))}.gate-step:focus{outline:2px solid var(--primary, #3b82f6);outline-offset:2px}.gate-step.help-active{background:var(--bg-secondary, #f1f5f9);box-shadow:0 0 0 2px var(--primary, #3b82f6)}.gate-step-main{display:flex;align-items:center;gap:6px}.gate-step-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;flex-shrink:0;transition:all .3s ease}.gate-step-info{display:flex;flex-direction:column;align-items:flex-start;gap:0}.gate-step-label{display:flex;align-items:center;gap:4px;font-size:.8125rem;font-weight:600;color:var(--text-primary, #1e293b);line-height:1.2}.gate-help-icon{opacity:0;color:var(--text-secondary, #94a3b8);transition:opacity .2s}.gate-step:hover .gate-help-icon,.gate-step.help-active .gate-help-icon{opacity:1}.gate-step-name{font-size:.6875rem;color:var(--text-secondary, #64748b);white-space:nowrap;line-height:1.2}.gate-step.completed .gate-step-icon{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 8px #22c55e4d}.gate-step.current .gate-step-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f666;animation:pulse 2s infinite}.gate-step.upcoming .gate-step-icon{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);border:2px dashed var(--border, #cbd5e1)}.gate-step.locked .gate-step-icon{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #94a3b8)}@keyframes pulse{0%,to{box-shadow:0 2px 8px #3b82f666}50%{box-shadow:0 2px 12px #3b82f699}}.gate-step.completed .gate-step-label,.gate-step.current .gate-step-label{color:var(--text-primary, #1e293b)}.gate-step.locked .gate-step-label,.gate-step.locked .gate-step-name{color:var(--text-secondary, #94a3b8)}.gate-step-actions{display:flex;align-items:center;gap:4px;min-height:22px}.gate-step-actions span{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase}.review-pass{background:#dcfce7;color:#15803d}.review-fail{background:#fecaca;color:#dc2626}.review-conditional{background:#fef3c7;color:#b45309}.review-planned{background:#e0e7ff;color:#4338ca}.gate-approve-btn{padding:2px 10px;background:var(--primary, #3b82f6);color:#fff;border:none;border-radius:4px;font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .2s}.gate-approve-btn:hover{background:#2563eb;transform:translateY(-1px)}.gate-connector{flex:1;height:3px;background:var(--border, #e2e8f0);margin:0 6px;border-radius:2px;transition:background .3s ease;align-self:center}.gate-connector.completed{background:linear-gradient(90deg,#22c55e,#16a34a)}@media (max-width: 1024px){.gate-stepper{padding:10px 16px;overflow-x:auto}.gate-stepper-track{min-width:800px}.gate-step{min-width:80px}}@media (max-width: 768px){.gate-stepper{padding:10px 12px}.gate-stepper-track{min-width:700px}.gate-step{min-width:70px}.gate-step-icon{width:24px;height:24px;font-size:.6875rem}.gate-step-label{font-size:.75rem}.gate-step-name{font-size:.625rem}.gate-step-actions span{padding:1px 6px;font-size:.5625rem}.gate-approve-btn{padding:2px 6px;font-size:.625rem}}.milestone-timeline{padding:0}.milestone-timeline .npd-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.milestone-timeline .npd-tab-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.milestone-form{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:16px;margin-bottom:16px}.milestone-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.milestone-form .form-field{display:flex;flex-direction:column;gap:4px}.milestone-form .form-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.milestone-form .form-field input,.milestone-form .form-field select{padding:8px 10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff)}.milestone-form .form-field input:focus,.milestone-form .form-field select:focus{outline:none;border-color:var(--primary, #3b82f6)}.milestone-form-actions{display:flex;justify-content:flex-end;gap:8px}.milestone-list{display:flex;flex-direction:column;gap:12px}.milestone-item{display:flex;gap:16px;padding:16px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;transition:all .2s}.milestone-item:hover{box-shadow:0 4px 12px #0000000d}.milestone-item.critical{border-left:4px solid #ef4444}.milestone-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.milestone-content{flex:1;min-width:0}.milestone-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.milestone-no{font-size:.75rem;color:var(--text-secondary, #64748b);padding:2px 6px;background:var(--bg-secondary, #f1f5f9);border-radius:4px}.milestone-name{font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.critical-badge{padding:2px 8px;background:#fef2f2;color:#dc2626;font-size:.625rem;font-weight:600;border-radius:4px;text-transform:uppercase}.milestone-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.milestone-meta span{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary, #64748b)}.milestone-status{font-weight:600}.milestone-progress{display:flex;align-items:center;gap:8px}.milestone-progress .progress-bar{flex:1;height:6px;background:var(--bg-secondary, #e2e8f0);border-radius:3px;overflow:hidden}.milestone-progress .progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.milestone-progress span{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);min-width:40px;text-align:right}.deliverable-grid{padding:0}.deliverable-grid .npd-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.deliverable-grid .npd-tab-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.deliverable-form{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:16px;margin-bottom:16px}.deliverable-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}.deliverable-form .form-field{display:flex;flex-direction:column;gap:4px}.deliverable-form .form-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.deliverable-form .form-field input,.deliverable-form .form-field select{padding:8px 10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff)}.deliverable-form .form-field input:focus,.deliverable-form .form-field select:focus{outline:none;border-color:var(--primary, #3b82f6)}.deliverable-form-actions{display:flex;justify-content:flex-end;gap:8px}.deliverable-list{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.deliverable-list .npd-table{width:100%;border-collapse:collapse}.deliverable-list .npd-table th{padding:12px 8px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.deliverable-list .npd-table td{padding:10px 8px;font-size:.8125rem;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border, #e2e8f0)}.deliverable-list .npd-table tbody tr:hover{background:var(--bg-secondary, #f8fafc)}.cell-code{font-family:monospace;font-size:.75rem;color:var(--text-secondary, #64748b)}.deliverable-name{display:flex;align-items:center;gap:6px}.file-icon{color:var(--primary, #3b82f6);cursor:pointer}.overdue{color:#dc2626;font-weight:500}.status-cell{display:flex;align-items:center;gap:4px;font-size:.75rem}.status-approved{color:#22c55e}.status-submitted{color:#3b82f6}.status-rejected{color:#dc2626}.status-pending{color:#94a3b8}.mandatory-badge{display:inline-block;padding:2px 6px;background:#fef2f2;color:#dc2626;font-size:.625rem;font-weight:600;border-radius:4px}.optional-badge{display:inline-block;padding:2px 6px;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);font-size:.625rem;font-weight:600;border-radius:4px}.team-member-list{padding:0}.team-member-list .npd-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.team-member-list .npd-tab-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.team-form{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:16px;margin-bottom:16px}.team-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}.team-form .form-field{display:flex;flex-direction:column;gap:4px}.team-form .form-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.team-form .form-field input,.team-form .form-field select{padding:8px 10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--panel, #ffffff)}.team-form .form-field input:focus,.team-form .form-field select:focus{outline:none;border-color:var(--primary, #3b82f6)}.team-form-actions{display:flex;justify-content:flex-end;gap:8px}.team-groups{display:flex;flex-direction:column;gap:16px}.team-group{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.team-group-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-left:4px solid}.role-label{font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b)}.role-count{font-size:.75rem;color:var(--text-secondary, #64748b);padding:2px 8px;background:var(--panel, #ffffff);border-radius:12px}.team-group-members{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:16px}.team-member-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;transition:all .2s}.team-member-card:hover{background:var(--border, #e2e8f0)}.member-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.member-info{flex:1;min-width:0}.member-name{font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:4px}.member-meta{display:flex;flex-wrap:wrap;gap:8px}.member-meta span{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary, #64748b)}.member-delete-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #94a3b8);cursor:pointer;transition:all .2s}.member-delete-btn:hover{background:#fee2e2;color:#dc2626}.member-delete-btn:disabled{opacity:.5;cursor:not-allowed}.requirement-form-modal{background:var(--panel);border-radius:12px;box-shadow:0 20px 50px #0000004d;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column}.requirement-page{display:flex;flex-direction:column;gap:16px;height:100%}.requirement-header{display:flex;justify-content:space-between;align-items:center}.header-title{display:flex;align-items:center;gap:8px}.header-title h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.header-title .total-count{font-size:14px;color:var(--text-secondary);padding:2px 8px;background:var(--bg-secondary);border-radius:4px}.summary-cards{display:flex;gap:12px;padding:12px 16px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.summary-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;cursor:pointer;border-radius:6px;transition:background .2s}.summary-card:hover{background:var(--bg-secondary)}.card-value{font-size:24px;font-weight:700;color:var(--text-primary)}.card-label{font-size:12px;color:var(--text-secondary)}.summary-divider{width:1px;background:var(--border);margin:0 8px}.filter-bar{display:flex;gap:12px;padding:12px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.search-box{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--bg-secondary);border-radius:6px;flex:1;max-width:300px}.search-box input{flex:1;border:none;background:transparent;padding:8px 0;font-size:14px;color:var(--text-primary)}.search-box input:focus{outline:none}.filter-group svg{color:var(--text-secondary)}.filter-group select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:14px;min-width:120px}.requirement-list{flex:1;background:var(--panel);border-radius:8px;border:1px solid var(--border);overflow:hidden}.requirement-table{width:100%;border-collapse:collapse}.requirement-table th,.requirement-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.requirement-table th{background:var(--bg-secondary);font-weight:600;font-size:12px;color:var(--text-secondary);text-transform:uppercase}.requirement-table tbody tr:hover{background:var(--bg-secondary)}.req-title{max-width:300px}.qfd-link{display:block;font-size:11px;color:var(--primary);margin-top:2px}.priority-badge{font-weight:600;font-size:13px}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.dvp-count .linked{display:flex;align-items:center;gap:4px;color:var(--primary);font-weight:500}.dvp-count .not-linked{color:var(--text-secondary)}.source-cell{font-size:13px;color:var(--text-secondary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;gap:4px}.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.btn-icon.danger:hover{background:#fee2e2;color:#dc2626}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.requirement-matrix{display:flex;flex-direction:column;gap:16px;height:100%}.matrix-header{display:flex;justify-content:space-between;align-items:center}.matrix-header .header-title{display:flex;align-items:center;gap:8px}.matrix-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.matrix-header .header-actions{display:flex;gap:8px}.matrix-stats{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--panel);border-radius:8px;border:1px solid var(--border);flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:6px}.stat-label{font-size:13px;color:var(--text-secondary)}.stat-value{font-size:16px;font-weight:600;color:var(--text-primary)}.stat-value.passed{color:#22c55e}.stat-value.failed{color:#ef4444}.stat-value.in-progress{color:#3b82f6}.stat-value.planned{color:#6b7280}.stat-divider{width:1px;height:24px;background:var(--border)}.matrix-table-container{flex:1;background:var(--panel);border-radius:8px;border:1px solid var(--border);overflow:auto}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;color:var(--text-secondary)}.empty-state svg{opacity:.3}.matrix-table{width:100%;border-collapse:collapse;min-width:900px}.matrix-table th,.matrix-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.matrix-table th{background:var(--bg-secondary);font-weight:600;font-size:12px;color:var(--text-secondary);text-transform:uppercase;position:sticky;top:0;z-index:1}.matrix-table th.connection-header{text-align:center;border-left:1px solid var(--border)}.matrix-table thead tr:nth-child(2) th{top:36px;border-left:1px solid var(--border)}.matrix-table tbody tr:hover{background:var(--bg-secondary)}.req-no{font-family:monospace;font-size:13px;color:var(--text-secondary)}.req-title{max-width:250px}.title-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.gate-badge{display:inline-block;margin-top:2px;padding:1px 6px;background:var(--bg-secondary);border-radius:3px;font-size:11px;color:var(--text-secondary)}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;color:#fff}.priority-text{font-weight:600;font-size:13px}.status-cell{display:flex;align-items:center;gap:4px}.status-text{font-size:13px;font-weight:500}.status-icon.passed{color:#22c55e}.status-icon.failed{color:#ef4444}.status-icon.in-progress{color:#3b82f6}.status-icon.planned{color:#6b7280}.connection-cell{border-left:1px solid var(--border)}.connected{display:flex;align-items:center;gap:4px;color:var(--primary);font-size:13px}.connected .count-badge{padding:0 4px;background:var(--primary);color:#fff;border-radius:3px;font-size:11px;font-weight:600}.not-connected{color:var(--text-secondary);font-size:13px}.matrix-legend{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--bg-secondary);border-radius:6px;font-size:13px}.legend-title{color:var(--text-secondary);font-weight:500}.legend-items{display:flex;gap:16px}.legend-item{display:flex;align-items:center;gap:4px;color:var(--text-primary)}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.wbs-form-modal{background:var(--panel);border-radius:12px;box-shadow:0 20px 50px #0000004d;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.parent-info{font-size:13px;color:var(--text-secondary);margin-left:12px;padding:4px 8px;background:var(--bg-secondary);border-radius:4px}.btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.btn-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.error-message{padding:12px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px}.form-section{display:flex;flex-direction:column;gap:12px}.form-section h4{margin:0;font-size:14px;font-weight:600;color:var(--text-secondary);padding-bottom:8px;border-bottom:1px solid var(--border)}.form-row{display:flex;gap:12px}.form-group.full-width{flex-basis:100%}.form-group label.required:after{content:" *";color:#dc2626}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:14px;transition:border-color .2s}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:60px}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-outer-spin-button,.form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.modal-footer .btn-primary,.modal-footer .btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-footer .btn-primary{background:var(--primary);color:#fff;border:none}.modal-footer .btn-primary:hover{opacity:.9}.modal-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal-footer .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.modal-footer .btn-secondary:hover{background:var(--bg-secondary)}@media (max-width: 768px){.modal-overlay{padding:16px}.wbs-form-modal{max-height:95vh}.form-row{flex-direction:column}.modal-body{padding:16px}}.wbs-gantt{background:var(--panel);border-radius:8px;border:1px solid var(--border);overflow:hidden}.wbs-gantt-loading,.wbs-gantt-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);gap:16px;text-align:center}.wbs-gantt-empty p{margin:0}.gantt-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-center{display:flex;align-items:center}.current-range{font-size:14px;font-weight:500;color:var(--text-primary)}.gantt-toolbar button{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.gantt-toolbar button:hover{background:var(--bg-secondary);color:var(--text-primary)}.view-mode-buttons{display:flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.view-mode-buttons button{border:none;border-radius:0}.view-mode-buttons button:not(:last-child){border-right:1px solid var(--border)}.view-mode-buttons button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.gantt-legend{display:flex;gap:16px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.legend-bar{display:inline-block;width:24px;height:8px;border-radius:2px}.legend-bar.plan{background:#94a3b8}.legend-bar.actual{background:#3b82f6}.critical-icon{color:#ef4444}.gantt-container{overflow-x:auto;overflow-y:auto;max-height:600px}.gantt-table{display:flex;min-width:-moz-max-content;min-width:max-content}.gantt-left{flex-shrink:0;width:450px;border-right:2px solid var(--border);background:var(--panel);position:sticky;left:0;z-index:10}.gantt-header-row{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.gantt-header-cell{padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);border-right:1px solid var(--border)}.gantt-header-cell.task-name-header{flex:1;min-width:200px}.gantt-header-cell:not(.task-name-header){width:80px;text-align:center}.gantt-task-row{display:flex;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.gantt-task-row:hover{background:var(--bg-secondary)}.gantt-task-row.critical{background:#ef44440d}.gantt-task-row.critical:hover{background:#ef44441a}.gantt-cell{padding:8px 12px;font-size:12px;color:var(--text-primary);border-right:1px solid var(--border);display:flex;align-items:center}.gantt-cell.task-name{flex:1;min-width:200px;gap:6px}.gantt-cell:not(.task-name){width:80px;justify-content:center}.wbs-code{font-family:SF Mono,Consolas,monospace;font-size:11px;color:var(--text-secondary);flex-shrink:0}.task-name-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-mini{position:relative;width:100%;height:16px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.progress-mini .progress-fill{height:100%;border-radius:3px}.progress-mini span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:500;color:var(--text-primary)}.gantt-right{flex:1;min-width:0}.gantt-header-groups{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.header-group{padding:6px 8px;font-size:11px;font-weight:600;color:var(--text-secondary);text-align:center;border-right:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-subheaders{display:flex;background:var(--panel);border-bottom:1px solid var(--border)}.subheader-cell{padding:6px 4px;font-size:11px;color:var(--text-secondary);text-align:center;border-right:1px solid var(--border);box-sizing:border-box}.subheader-cell.weekend{background:#94a3b81a}.subheader-cell.today{background:#2563eb1a;color:var(--primary);font-weight:600}.gantt-bars{position:relative}.gantt-bar-row{position:relative;height:32px;display:flex;border-bottom:1px solid var(--border)}.grid-cell{height:100%;border-right:1px solid var(--border);box-sizing:border-box}.grid-cell.weekend{background:#94a3b80d}.gantt-bar{position:absolute;top:6px;height:20px;border-radius:4px;cursor:pointer;transition:opacity .15s}.gantt-bar:hover{opacity:.8}.gantt-bar.plan{background:#94a3b8;z-index:1}.gantt-bar.plan.critical{background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 0 0 2px #ef44444d}.gantt-bar.actual{top:10px;height:12px;background:#3b82f6;z-index:2}@media (max-width: 1024px){.gantt-left{width:350px}.gantt-cell.task-name,.gantt-header-cell.task-name-header{min-width:150px}.gantt-header-cell:not(.task-name-header),.gantt-cell:not(.task-name){width:70px}}@media (max-width: 768px){.gantt-toolbar{flex-direction:column;gap:8px}.gantt-left{width:280px}.gantt-container{max-height:400px}}.wbs-page{padding:24px;background:var(--bg-secondary);min-height:100%}.wbs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header-title h3{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.view-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-toggle button{display:flex;align-items:center;gap:4px;padding:8px 12px;border:none;background:var(--panel);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.view-toggle button:not(:last-child){border-right:1px solid var(--border)}.view-toggle button:hover{background:var(--bg-secondary)}.view-toggle button.active{background:var(--primary);color:#fff}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;background:var(--primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-secondary)}.wbs-summary{display:flex;gap:16px;margin-bottom:20px}.summary-card{flex:1;background:var(--panel);border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px;border:1px solid var(--border)}.summary-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.summary-icon.total{background:#6366f1}.summary-icon.not-started{background:#94a3b8}.summary-icon.in-progress{background:#3b82f6}.summary-icon.completed{background:#22c55e}.summary-icon.delayed{background:#ef4444}.summary-info{display:flex;flex-direction:column}.summary-value{font-size:24px;font-weight:600;color:var(--text-primary)}.wbs-content{background:var(--panel);border-radius:8px;border:1px solid var(--border);overflow:hidden}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);gap:16px}.wbs-tree{padding:0}.wbs-tree-table{width:100%;border-collapse:collapse}.wbs-tree-table thead th{position:sticky;top:0;background:var(--bg-secondary);padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.wbs-tree-table tbody tr{cursor:pointer;transition:background .15s}.wbs-tree-table tbody tr:hover{background:var(--bg-secondary)}.wbs-tree-table tbody tr.critical{background:#ef44440d}.wbs-tree-table tbody tr.critical:hover{background:#ef44441a}.wbs-tree-table tbody td{padding:10px 16px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}.wbs-code-cell{font-family:SF Mono,Consolas,monospace;font-size:12px;color:var(--text-secondary)}.task-name-cell{display:flex;align-items:center;gap:6px}.expand-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);padding:0}.expand-btn:hover{color:var(--text-primary)}.expand-placeholder{width:20px}.task-name-text{flex:1}.critical-badge{display:flex;align-items:center;color:#ef4444}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;color:#fff}.priority-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.priority-badge.critical{background:#fef2f2;color:#dc2626}.priority-badge.high{background:#fef3c7;color:#d97706}.priority-badge.normal{background:#f0fdf4;color:#16a34a}.priority-badge.low{background:#f1f5f9;color:#64748b}.responsible-cell{font-size:12px;color:var(--text-secondary)}.date-range{display:flex;flex-direction:column;gap:2px;font-size:12px}.date-range .plan{color:var(--text-secondary)}.date-range .actual{color:#3b82f6}.progress-bar{display:flex;align-items:center;gap:8px}.progress-track{flex:1;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .3s}.progress-text{font-size:12px;font-weight:500;color:var(--text-primary);min-width:36px;text-align:right}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.action-btn.delete:hover{background:#fee2e2;color:#dc2626}.gate-filter{display:flex;gap:8px;margin-bottom:16px;padding:0 16px}.gate-filter-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.gate-filter-btn:hover{background:var(--bg-secondary)}.gate-filter-btn.active{border-color:var(--primary);background:#2563eb1a;color:var(--primary)}@media (max-width: 1200px){.wbs-summary{flex-wrap:wrap}.summary-card{flex:1 1 calc(50% - 8px)}}@media (max-width: 768px){.wbs-page{padding:16px}.wbs-header{flex-direction:column;gap:12px;align-items:flex-start}.header-actions{width:100%;flex-wrap:wrap}.summary-card{flex:1 1 100%}.wbs-tree-table{display:block;overflow-x:auto}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.design-form-modal{background:var(--panel);border-radius:12px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.design-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.design-form-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.design-form-modal .btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.design-form-modal .btn-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.design-form-modal .modal-body{flex:1;overflow-y:auto;padding:20px}.design-form-modal .error-message{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.design-form-modal .form-section{margin-bottom:20px}.design-form-modal .form-section:last-child{margin-bottom:0}.design-form-modal .form-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.design-form-modal .form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.design-form-modal .form-row:last-child{margin-bottom:0}.design-form-modal .form-group{display:flex;flex-direction:column;gap:6px}.design-form-modal .form-group.full-width{grid-column:1 / -1}.design-form-modal .form-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.design-form-modal .form-group label.required:after{content:" *";color:#ef4444}.design-form-modal .form-group input,.design-form-modal .form-group select,.design-form-modal .form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary);transition:all .2s}.design-form-modal .form-group input:focus,.design-form-modal .form-group select:focus,.design-form-modal .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.design-form-modal .form-group textarea{resize:vertical;min-height:80px}.design-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}.design-form-modal .btn-primary,.design-form-modal .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.design-form-modal .btn-primary{background:var(--primary);color:#fff;border:none}.design-form-modal .btn-primary:hover{background:var(--primary-dark, #2563eb)}.design-form-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}.design-form-modal .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.design-form-modal .btn-secondary:hover{background:var(--bg-secondary)}@media (max-width: 640px){.design-form-modal .form-row{grid-template-columns:1fr}.design-form-modal .form-row.two-col{grid-template-columns:1fr 1fr}}.bom-form-modal{background:var(--panel);border-radius:12px;width:100%;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.bom-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.bom-form-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.bom-form-modal .btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.bom-form-modal .btn-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.bom-form-modal .modal-body{flex:1;overflow-y:auto;padding:20px}.bom-form-modal .error-message{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.bom-form-modal .form-section{margin-bottom:20px}.bom-form-modal .form-section:last-child{margin-bottom:0}.bom-form-modal .form-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.bom-form-modal .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.bom-form-modal .form-row:last-child{margin-bottom:0}.bom-form-modal .form-group{display:flex;flex-direction:column;gap:6px}.bom-form-modal .form-group.full-width{grid-column:1 / -1}.bom-form-modal .form-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.bom-form-modal .form-group label.required:after{content:" *";color:#ef4444}.bom-form-modal .form-group input,.bom-form-modal .form-group select,.bom-form-modal .form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary);transition:all .2s}.bom-form-modal .form-group input:focus,.bom-form-modal .form-group select:focus,.bom-form-modal .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.bom-form-modal .form-group textarea{resize:vertical;min-height:80px}.bom-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}.bom-form-modal .btn-primary,.bom-form-modal .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.bom-form-modal .btn-primary{background:var(--primary);color:#fff;border:none}.bom-form-modal .btn-primary:hover{background:var(--primary-dark, #2563eb)}.bom-form-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}.bom-form-modal .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.bom-form-modal .btn-secondary:hover{background:var(--bg-secondary)}.modal-overlay.nested{z-index:1100;background:#0000004d}.bom-item-form-modal{background:var(--panel);border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000040}.bom-item-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.bom-item-form-modal .modal-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.bom-item-form-modal .btn-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.bom-item-form-modal .btn-close:hover{background:var(--panel);color:var(--text-primary)}.bom-item-form-modal .modal-body{flex:1;overflow-y:auto;padding:16px 20px}.bom-item-form-modal .error-message{background:#fef2f2;color:#dc2626;padding:8px 12px;border-radius:6px;font-size:12px;margin-bottom:12px}.bom-item-form-modal .form-section{margin-bottom:16px}.bom-item-form-modal .form-section:last-child{margin-bottom:0}.bom-item-form-modal .form-section h4{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.bom-item-form-modal .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:10px}.bom-item-form-modal .form-row.three-col{grid-template-columns:repeat(3,1fr)}.bom-item-form-modal .form-row:last-child{margin-bottom:0}.bom-item-form-modal .form-group{display:flex;flex-direction:column;gap:4px}.bom-item-form-modal .form-group.full-width{grid-column:1 / -1}.bom-item-form-modal .form-group label{font-size:11px;font-weight:500;color:var(--text-secondary)}.bom-item-form-modal .form-group label.required:after{content:" *";color:#ef4444}.bom-item-form-modal .form-group input,.bom-item-form-modal .form-group select,.bom-item-form-modal .form-group textarea{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary);transition:all .2s}.bom-item-form-modal .form-group input:focus,.bom-item-form-modal .form-group select:focus,.bom-item-form-modal .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f61a}.bom-item-form-modal .form-group input[type=number]{font-family:SF Mono,Consolas,monospace}.bom-item-form-modal .form-group textarea{resize:vertical;min-height:60px}.bom-item-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}.bom-item-form-modal .btn-primary,.bom-item-form-modal .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.bom-item-form-modal .btn-primary{background:var(--primary);color:#fff;border:none}.bom-item-form-modal .btn-primary:hover{background:var(--primary-dark, #2563eb)}.bom-item-form-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}.bom-item-form-modal .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.bom-item-form-modal .btn-secondary:hover{background:var(--bg-secondary)}@media (max-width: 600px){.bom-item-form-modal .form-row{grid-template-columns:1fr}.bom-item-form-modal .form-row.three-col{grid-template-columns:1fr 1fr}}.bom-detail-modal{background:var(--panel);border-radius:12px;width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.bom-detail-modal.large{max-width:1100px}.bom-detail-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.bom-detail-modal .header-info{display:flex;align-items:center;gap:12px}.bom-detail-modal .header-info h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.bom-detail-modal .bom-no{font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);padding:4px 10px;border-radius:4px}.bom-detail-modal .status-badge{font-size:11px;font-weight:500;padding:4px 10px;border-radius:12px}.bom-detail-modal .status-badge.draft{background:#f1f5f9;color:#64748b}.bom-detail-modal .status-badge.approved{background:#dcfce7;color:#16a34a}.bom-detail-modal .btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.bom-detail-modal .btn-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.bom-detail-modal .modal-body{flex:1;overflow-y:auto;padding:20px}.bom-detail-modal .loading-spinner,.bom-detail-modal .error-message{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.bom-info-section{margin-bottom:20px}.bom-info-section .info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:var(--bg-secondary);padding:16px;border-radius:8px}.bom-info-section .info-item{display:flex;flex-direction:column;gap:4px}.bom-info-section .info-item label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.bom-info-section .info-item span{font-size:14px;font-weight:500;color:var(--text-primary)}.cost-summary-section{margin-bottom:20px}.cost-summary-section h4{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.cost-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cost-card{background:var(--bg-secondary);border-radius:8px;padding:16px;text-align:center}.cost-card .cost-label{display:block;font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px}.cost-card .cost-value{font-size:20px;font-weight:700;font-family:SF Mono,Consolas,monospace}.cost-card.total{background:linear-gradient(135deg,#3b82f6,#2563eb)}.cost-card.total .cost-label,.cost-card.total .cost-value{color:#fff}.cost-card.material .cost-value{color:#16a34a}.cost-card.labor .cost-value{color:#f59e0b}.bom-items-section{border:1px solid var(--border);border-radius:8px;overflow:hidden}.bom-items-section .section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.bom-items-section .section-header h4{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.bom-items-section .section-actions{display:flex;gap:8px}.bom-tree-header{display:flex;align-items:center;padding:10px 0;background:var(--panel);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.bom-tree-header .tree-expand{width:32px;padding-left:12px}.bom-tree-header .item-type-icon{width:32px}.bom-tree-header .item-info{flex:1;padding-left:8px}.bom-tree-header .item-qty{width:80px;text-align:right}.bom-tree-header .item-cost{width:100px;text-align:right}.bom-tree-header .item-extended{width:120px;text-align:right}.bom-tree-header .item-actions{width:100px;text-align:center;padding-right:12px}.bom-tree-body{max-height:400px;overflow-y:auto}.bom-tree-body .empty-message{padding:40px 20px;text-align:center;color:var(--text-secondary);font-size:13px}.bom-tree-node{background:var(--panel)}.bom-tree-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);transition:background .15s}.bom-tree-row:hover{background:var(--bg-secondary)}.bom-tree-row .tree-expand{width:32px;display:flex;justify-content:center}.bom-tree-row .tree-expand button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer}.bom-tree-row .tree-expand button:hover{background:var(--bg-secondary);color:var(--text-primary)}.bom-tree-row .tree-spacer{display:inline-block;width:20px}.bom-tree-row .item-type-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;margin-right:8px}.bom-tree-row .item-type-icon.assembly{background:#dbeafe;color:#2563eb}.bom-tree-row .item-type-icon.part{background:#dcfce7;color:#16a34a}.bom-tree-row .item-type-icon.material{background:#fef3c7;color:#d97706}.bom-tree-row .item-type-icon.purchased{background:#f3e8ff;color:#7c3aed}.bom-tree-row .item-info{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.bom-tree-row .item-code{font-size:12px;color:var(--text-secondary);font-family:SF Mono,Consolas,monospace;flex-shrink:0}.bom-tree-row .item-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bom-tree-row .item-qty{width:80px;font-size:13px;text-align:right;font-family:SF Mono,Consolas,monospace;color:var(--text-primary)}.bom-tree-row .item-cost{width:100px;font-size:12px;text-align:right;font-family:SF Mono,Consolas,monospace;color:var(--text-secondary)}.bom-tree-row .item-extended{width:120px;font-size:13px;text-align:right;font-weight:500;font-family:SF Mono,Consolas,monospace;color:var(--primary)}.bom-tree-row .item-actions{width:100px;display:flex;justify-content:center;gap:2px;padding-right:12px}.bom-tree-row .btn-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.bom-tree-row .btn-icon:hover{background:var(--bg-secondary);color:var(--primary)}.bom-tree-row .btn-icon.danger:hover{background:#fef2f2;color:#ef4444}.item-type-legend{display:flex;gap:16px;padding:12px 16px;background:var(--bg-secondary);border-top:1px solid var(--border)}.item-type-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.item-type-legend .legend-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px}.item-type-legend .legend-icon.assembly{background:#dbeafe;color:#2563eb}.item-type-legend .legend-icon.part{background:#dcfce7;color:#16a34a}.item-type-legend .legend-icon.material{background:#fef3c7;color:#d97706}.item-type-legend .legend-icon.purchased{background:#f3e8ff;color:#7c3aed}.bom-detail-modal .btn-primary,.bom-detail-modal .btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.bom-detail-modal .btn-primary{background:var(--primary);color:#fff;border:none}.bom-detail-modal .btn-primary:hover{background:var(--primary-dark, #2563eb)}.bom-detail-modal .btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.bom-detail-modal .btn-secondary:hover{background:var(--bg-secondary)}@media (max-width: 900px){.bom-detail-modal{max-width:100%;max-height:100%;border-radius:0}.bom-info-section .info-grid{grid-template-columns:repeat(2,1fr)}.cost-cards{grid-template-columns:1fr}.bom-tree-header,.bom-tree-row{font-size:11px}.bom-tree-row .item-cost,.bom-tree-row .item-extended{display:none}}.design-page{padding:16px 24px;background:var(--bg-secondary);min-height:100%}.design-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.design-header .header-title{display:flex;align-items:center;gap:10px}.design-header .header-title h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.design-header .header-actions{display:flex;gap:8px}.design-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.design-summary .summary-card{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.design-summary .summary-card svg{color:var(--primary)}.design-summary .summary-info{display:flex;flex-direction:column}.design-summary .summary-value{font-size:24px;font-weight:700;color:var(--text-primary)}.design-summary .summary-label{font-size:12px;color:var(--text-secondary)}.design-summary .summary-card.cost .summary-value{font-size:18px;font-family:SF Mono,Consolas,monospace;color:var(--primary)}.design-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.view-tabs{display:flex;gap:0;background:var(--bg-secondary);border-radius:8px;padding:4px}.view-tabs button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:none;border:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.view-tabs button:hover{color:var(--text-primary)}.view-tabs button.active{background:var(--panel);color:var(--primary);box-shadow:0 1px 2px #0000001a}.filters{display:flex;gap:8px}.filters select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary);cursor:pointer}.filters select:focus{outline:none;border-color:var(--primary)}.design-content{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.loading-state{padding:60px 20px;text-align:center;color:var(--text-secondary)}.design-table{width:100%;border-collapse:collapse}.design-table th,.design-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.design-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);font-size:12px}.design-table tbody tr:hover{background:var(--bg-secondary)}.design-table tbody tr:last-child td{border-bottom:none}.design-table .doc-no,.design-table .bom-no{font-family:SF Mono,Consolas,monospace;font-size:12px;color:var(--text-secondary)}.design-table .doc-title,.design-table .bom-title{max-width:300px}.design-table .doc-title span,.design-table .bom-title span{display:block}.design-table .file-name,.design-table .product-name{font-size:11px;color:var(--text-secondary);margin-top:2px}.design-table .version{font-family:SF Mono,Consolas,monospace;font-size:12px;color:var(--text-secondary)}.design-table .item-count{text-align:center}.design-table .total-cost{font-family:SF Mono,Consolas,monospace;font-weight:500;color:var(--primary)}.type-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;color:#fff}.type-badge.bom-type{background:#6366f1}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--bg-secondary);color:var(--primary)}.action-btn.delete:hover{background:#fef2f2;color:#ef4444}.design-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}.design-tabs .tab-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.design-tabs .tab-btn:hover{color:var(--primary);background:var(--bg-secondary)}.design-tabs .tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.design-tabs .tab-btn svg{opacity:.7}.design-tabs .tab-btn.active svg{opacity:1}.summary-section{margin-bottom:20px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.summary-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.summary-card .card-value{font-size:28px;font-weight:700;color:var(--primary);line-height:1.2}.summary-card .card-label{font-size:12px;color:var(--text-secondary);margin-top:4px}.summary-card.total .card-value{color:var(--primary)}.summary-card.draft .card-value{color:var(--text-secondary)}.summary-card.review .card-value{color:#f59e0b}.summary-card.approved .card-value{color:#3b82f6}.summary-card.released .card-value{color:#10b981}.filter-section{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.filter-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filter-group label{font-size:12px;color:var(--text-secondary);font-weight:500}.filter-group input,.filter-group select{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--panel);color:var(--text-primary)}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f61a}.data-section{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.data-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.data-table tbody tr:hover{background:var(--bg-secondary)}.doc-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.doc-type-badge.spec{background:#dbeafe;color:#1d4ed8}.doc-type-badge.drawing{background:#fef3c7;color:#d97706}.doc-type-badge.model{background:#f3e8ff;color:#7c3aed}.doc-type-badge.analysis{background:#dcfce7;color:#16a34a}.doc-type-badge.other{background:#f1f5f9;color:#64748b}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.status-badge.draft{background:#f1f5f9;color:#64748b}.status-badge.approved{background:#dbeafe;color:#1d4ed8}.status-badge.released{background:#dcfce7;color:#16a34a}.bom-type-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600}.bom-type-badge.ebom{background:#dbeafe;color:#1d4ed8}.bom-type-badge.mbom{background:#dcfce7;color:#16a34a}.bom-type-badge.prototype{background:#fef3c7;color:#d97706}.version-tag{display:inline-block;padding:2px 6px;background:var(--bg-secondary);border-radius:4px;font-size:11px;font-weight:500;color:var(--text-secondary)}.action-buttons{display:flex;gap:4px}.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-icon:hover{background:var(--bg-secondary);color:var(--primary)}.btn-icon.danger:hover{background:#fef2f2;color:#ef4444}.empty-state{padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state svg{opacity:.3;margin-bottom:16px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:var(--primary-dark, #2563eb)}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.cost-value{font-family:SF Mono,Consolas,monospace;font-size:12px;color:var(--text-primary)}.cost-value.total{font-weight:600;color:var(--primary)}@media (max-width: 768px){.design-page{padding:12px 16px}.summary-cards{grid-template-columns:repeat(2,1fr)}.filter-row{flex-direction:column;align-items:stretch}.filter-group{width:100%}.data-table{display:block;overflow-x:auto}}.dvp-page{padding:20px;background:var(--bg-secondary);min-height:100%}.dvp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dvp-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.dvp-header-actions{display:flex;gap:8px}.dvp-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.summary-card-icon.samples{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.summary-card-icon.dvp{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.summary-card-icon.pass{background:linear-gradient(135deg,#22c55e,#16a34a)}.summary-card-icon.fail{background:linear-gradient(135deg,#ef4444,#dc2626)}.dvp-toolbar{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.view-tabs{display:flex;gap:4px;background:var(--bg-secondary);padding:4px;border-radius:6px}.view-tab{padding:6px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;border-radius:4px;transition:all .2s}.view-tab:hover{color:var(--text-primary);background:var(--panel)}.view-tab.active{background:var(--primary);color:#fff}.dvp-content{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.content-actions{display:flex;gap:8px}.dvp-table{width:100%;border-collapse:collapse}.dvp-table th,.dvp-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.dvp-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);white-space:nowrap}.dvp-table td{color:var(--text-primary)}.dvp-table tbody tr:hover{background:var(--bg-secondary)}.dvp-table tbody tr:last-child td{border-bottom:none}.type-badge,.status-badge,.category-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.status-badge{background:#6b72801a;color:#6b7280}.status-badge.requested,.status-badge.planned{background:#f59e0b1a;color:#f59e0b}.status-badge.in_progress{background:#3b82f61a;color:#3b82f6}.status-badge.completed,.status-badge.pass{background:#22c55e1a;color:#22c55e}.status-badge.failed,.status-badge.fail{background:#ef44441a;color:#ef4444}.status-badge.conditional{background:#f59e0b1a;color:#f59e0b}.status-badge.cancelled{background:#9ca3af1a;color:#9ca3af}.status-badge.approved,.status-badge.draft{background:#8b5cf61a;color:#8b5cf6}.category-badge.functional{background:#3b82f61a;color:#3b82f6}.category-badge.performance{background:#22c55e1a;color:#22c55e}.category-badge.durability{background:#f59e0b1a;color:#f59e0b}.category-badge.safety{background:#ef44441a;color:#ef4444}.category-badge.regulatory{background:#8b5cf61a;color:#8b5cf6}.category-badge.environmental{background:#06b6d41a;color:#06b6d4}.progress-bar{width:100%;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;transition:width .3s}.progress-bar-fill.pass{background:#22c55e}.progress-bar-fill.fail{background:#ef4444}.progress-bar-fill.in-progress{background:#3b82f6}.date-range{display:flex;flex-direction:column;gap:2px}.date-range .plan{color:var(--text-secondary);font-size:12px}.date-range .actual{color:var(--text-primary);font-size:12px;font-weight:500}.quantity{font-weight:600;color:var(--text-primary)}@media (max-width: 1200px){.dvp-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dvp-summary{grid-template-columns:1fr}.dvp-toolbar{flex-direction:column;gap:12px}.toolbar-filters{width:100%;flex-wrap:wrap}}.ecr-page{padding:20px;background:var(--bg-secondary);min-height:100%}.ecr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ecr-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.ecr-header-actions{display:flex;gap:8px}.ecr-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.summary-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.summary-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.summary-card-title{font-size:13px;color:var(--text-secondary);margin:0}.summary-card-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.summary-card-icon.total{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.summary-card-icon.pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.summary-card-icon.approved{background:linear-gradient(135deg,#22c55e,#16a34a)}.summary-card-icon.urgent{background:linear-gradient(135deg,#ef4444,#dc2626)}.summary-card-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.summary-card-detail{font-size:12px;color:var(--text-secondary);margin-top:4px}.ecr-toolbar{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.toolbar-filters{display:flex;gap:12px;align-items:center}.filter-group{display:flex;align-items:center;gap:6px}.filter-group label{font-size:12px;color:var(--text-secondary)}.filter-group select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:13px;min-width:120px}.ecr-content{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.content-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.content-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.ecr-table{width:100%;border-collapse:collapse}.ecr-table th,.ecr-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.ecr-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);white-space:nowrap}.ecr-table td{color:var(--text-primary)}.ecr-table tbody tr:hover{background:var(--bg-secondary)}.ecr-table tbody tr:last-child td{border-bottom:none}.type-badge,.status-badge,.urgency-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.type-badge{background:#6366f11a;color:#6366f1}.type-badge.design{background:#3b82f61a;color:#3b82f6}.type-badge.spec{background:#8b5cf61a;color:#8b5cf6}.type-badge.material{background:#f59e0b1a;color:#f59e0b}.type-badge.process{background:#22c55e1a;color:#22c55e}.status-badge,.status-badge.draft{background:#6b72801a;color:#6b7280}.status-badge.submitted{background:#f59e0b1a;color:#f59e0b}.status-badge.approved{background:#22c55e1a;color:#22c55e}.status-badge.closed{background:#8b5cf61a;color:#8b5cf6}.urgency-badge.urgent{background:#ef44441a;color:#ef4444}.urgency-badge.normal{background:#6b72801a;color:#6b7280}.action-btns{display:flex;gap:4px}.action-btn{padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.action-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.action-btn.primary:hover{opacity:.9}.action-btn.danger{color:#ef4444}.action-btn.danger:hover{background:#ef44441a;border-color:#ef4444}.action-btn.success{color:#22c55e}.action-btn.success:hover{background:#22c55e1a;border-color:#22c55e}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state-icon{width:48px;height:48px;margin:0 auto 12px;opacity:.3}.empty-state p{margin:0 0 16px;font-size:14px}.link-text{color:var(--primary);cursor:pointer;text-decoration:none}.link-text:hover{text-decoration:underline}.workflow-stepper{display:flex;align-items:center;gap:8px;padding:16px;background:var(--bg-secondary);border-radius:8px;margin-bottom:20px}.workflow-step{display:flex;align-items:center;gap:8px}.step-marker{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:var(--border);color:var(--text-secondary)}.step-marker.active{background:var(--primary);color:#fff}.step-marker.completed{background:#22c55e;color:#fff}.step-marker.rejected{background:#ef4444;color:#fff}.step-label{font-size:12px;color:var(--text-secondary)}.step-label.active{color:var(--primary);font-weight:600}.step-connector{flex:1;height:2px;background:var(--border);min-width:20px}.step-connector.completed{background:#22c55e}@media (max-width: 1200px){.ecr-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ecr-summary{grid-template-columns:1fr}.ecr-toolbar{flex-direction:column;gap:12px}.toolbar-filters{width:100%;flex-wrap:wrap}}.tab-help-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin-left:4px;background:transparent;border:none;border-radius:50%;color:var(--text-secondary, #94a3b8);cursor:pointer;opacity:0;transition:all .2s;vertical-align:middle}.npd-tab:hover .tab-help-icon,.npd-tab.active .tab-help-icon{opacity:.7}.tab-help-icon:hover{opacity:1!important;color:var(--primary, #3b82f6);background:var(--bg-secondary, #f1f5f9)}.tab-help-icon.recommended{color:var(--primary, #3b82f6);opacity:.8}.tab-help-tooltip{position:fixed;z-index:200;width:320px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;box-shadow:0 8px 30px #0000001f;padding:14px;animation:tooltip-in .15s ease-out}@keyframes tooltip-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tab-help-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tab-help-emoji{font-size:1.25rem}.tab-help-name{font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0;flex:1}.tab-help-recommended{font-size:.625rem;font-weight:600;padding:2px 6px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:4px;text-transform:uppercase}.tab-help-description{font-size:.8125rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0 0 12px}.tab-help-section{margin-bottom:12px}.tab-help-section:last-child{margin-bottom:0}.tab-help-section h5{font-size:.75rem;font-weight:600;color:var(--text-primary, #334155);margin:0 0 6px}.tab-help-features{margin:0;padding:0 0 0 16px;font-size:.75rem;color:var(--text-primary, #475569);line-height:1.5}.tab-help-features li{margin-bottom:2px}.tab-help-features li:last-child{margin-bottom:0}.tab-help-gates{display:flex;flex-wrap:wrap;gap:6px}.tab-help-gate-badge{display:inline-block;padding:3px 8px;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);font-size:.6875rem;font-weight:600;border-radius:4px}.tab-help-gate-badge.current{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.tab-help-detail-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px;margin-top:12px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--text-primary, #334155);cursor:pointer;transition:all .2s}.tab-help-detail-btn:hover{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}@media (prefers-color-scheme: dark){.tab-help-tooltip{background:var(--panel, #1e293b);border-color:var(--border, #334155);box-shadow:0 8px 30px #0006}}@media (max-width: 480px){.tab-help-tooltip{width:calc(100vw - 24px);left:12px!important}}.npd-process-map-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.npd-process-map-modal{background:var(--panel, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0003;max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.process-map-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--panel, #ffffff);flex-shrink:0}.process-map-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.process-map-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.process-map-close:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.process-map-fixed{display:flex;flex-direction:column;gap:12px;padding:16px 20px;flex-shrink:0;background:var(--panel, #ffffff)}.npd-process-map{display:flex;flex-direction:column;gap:20px;padding:0 20px 20px;overflow-y:auto;flex:1}.process-map-timeline{display:flex;align-items:center;justify-content:center;gap:0;flex-shrink:0;padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-radius:10px;overflow-x:auto}.process-map-gate{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;cursor:pointer;border-radius:12px;transition:all .2s;min-width:80px}.process-map-gate:hover{background:var(--panel, #ffffff);box-shadow:0 2px 8px #00000014}.process-map-gate.selected{background:var(--panel, #ffffff);box-shadow:0 4px 16px #3b82f633;transform:translateY(-2px)}.gate-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.gate-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.gate-icon svg{width:18px;height:18px}.process-map-gate.completed .gate-icon{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 8px #22c55e4d}.process-map-gate.current .gate-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 12px #3b82f666;animation:pulse 2s infinite}.process-map-gate.upcoming .gate-icon{background:var(--panel, #ffffff);color:var(--text-secondary, #94a3b8);border:2px dashed var(--border, #e2e8f0)}@keyframes pulse{0%,to{box-shadow:0 2px 12px #3b82f666}50%{box-shadow:0 2px 20px #3b82f699}}.gate-code{font-size:.75rem;font-weight:700;color:var(--text-primary, #1e293b)}.process-map-gate.upcoming .gate-code{color:var(--text-secondary, #94a3b8)}.gate-name{font-size:.6875rem;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.process-map-connector{display:flex;align-items:center;color:var(--border, #e2e8f0);padding:0 4px}.process-map-connector.completed{color:#22c55e}.process-map-position{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:#dbeafe;color:#1d4ed8;border-radius:6px;font-size:.8125rem}.process-map-position strong{font-weight:600}.process-map-detail{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:20px;animation:detail-in .2s ease-out}@keyframes detail-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.detail-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.detail-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:6px;font-size:.75rem;font-weight:700}.detail-badge.completed{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.detail-badge.current{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.detail-badge.upcoming{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.detail-header h3{font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.detail-objective{font-size:.875rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.detail-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-section{background:var(--bg-secondary, #f8fafc);border-radius:8px;padding:12px}.detail-section:last-child{grid-column:1 / -1}.detail-section h4{font-size:.8125rem;font-weight:600;color:var(--text-primary, #334155);margin:0 0 8px}.detail-section ul{margin:0;padding:0 0 0 16px;font-size:.8125rem;color:var(--text-primary, #475569);line-height:1.5}.detail-section ul li{margin-bottom:4px}.detail-tags{display:flex;flex-wrap:wrap;gap:6px}.detail-tag{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:500}.detail-tag.deliverable{background:#dbeafe;color:#1d4ed8}.detail-tabs{display:flex;flex-wrap:wrap;gap:8px}.detail-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:.8125rem;font-weight:500;color:var(--text-primary, #334155);cursor:pointer;transition:all .2s}.detail-tab-btn:hover{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}.detail-tab-btn .tab-icon{font-size:1rem}.process-map-instructions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:var(--bg-secondary, #f8fafc);border-radius:12px;text-align:center}.instructions-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#dbeafe;color:#3b82f6;border-radius:50%;margin-bottom:16px}.process-map-instructions h4{font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 8px}.process-map-instructions p{font-size:.875rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0}.process-map-legend{display:flex;justify-content:center;gap:24px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}.legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary, #64748b)}.legend-item.completed svg{color:#22c55e}.legend-item.current svg{color:#3b82f6}.legend-item.upcoming svg{color:#94a3b8}@media (max-width: 768px){.process-map-timeline{padding:16px 8px}.process-map-gate{min-width:60px;padding:8px}.gate-icon{width:36px;height:36px}.gate-icon svg{width:16px;height:16px}.gate-code{font-size:.6875rem}.gate-name{font-size:.5625rem;max-width:70px}.detail-sections{grid-template-columns:1fr}.process-map-legend{flex-wrap:wrap;gap:12px}}@media (prefers-color-scheme: dark){.process-map-position{background:#3b82f626;color:#93c5fd}.detail-tag.deliverable{background:#3b82f633;color:#93c5fd}}.npd-detail-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary, #f8fafc)}.npd-loading-center,.npd-error-center{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary, #64748b)}.npd-error-center svg{color:#dc2626}.npd-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.npd-detail-title{display:flex;align-items:center;gap:12px}.npd-detail-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-title-info{display:flex;align-items:center;gap:12px}.npd-detail-actions{display:flex;gap:8px}.npd-gate-progress-section{margin-bottom:16px}.npd-detail-tabs{display:flex;gap:4px;background:#00000026;border:1px solid var(--border, #e2e8f0);border-radius:8px 8px 0 0;padding:8px 8px 0;border-bottom:1px solid var(--border, #e2e8f0)}.npd-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid var(--border, #e2e8f0);border-bottom:none;background:#e0f2fe;color:#1e40af;font-size:.875rem;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0;transition:all .2s;position:relative}.npd-tab:hover{background:#bae6fd;color:#1e3a8a;border-color:#7dd3fc}.npd-tab.active{background:var(--panel, #ffffff);color:var(--primary, #3b82f6);margin-bottom:-1px;padding-bottom:11px;border:1px solid var(--border, #e2e8f0);border-bottom:none}.npd-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--primary, #3b82f6);border-radius:3px 3px 0 0}.npd-tab-overview{border-top:2px solid transparent}.npd-tab-overview:hover,.npd-tab-overview.active{border-top-color:#3b82f6}.npd-tab-overview.active{color:#3b82f6}.npd-tab-overview.active:after{background:#3b82f6}.npd-tab-planning{border-top:2px solid transparent}.npd-tab-planning:hover,.npd-tab-planning.active{border-top-color:#8b5cf6}.npd-tab-planning.active{color:#8b5cf6}.npd-tab-planning.active:after{background:#8b5cf6}.npd-tab-development{border-top:2px solid transparent}.npd-tab-development:hover,.npd-tab-development.active{border-top-color:#10b981}.npd-tab-development.active{color:#10b981}.npd-tab-development.active:after{background:#10b981}.npd-tab-management{border-top:2px solid transparent}.npd-tab-management:hover,.npd-tab-management.active{border-top-color:#f59e0b}.npd-tab-management.active{color:#f59e0b}.npd-tab-management.active:after{background:#f59e0b}.npd-detail-content{flex:1;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-top:none;border-radius:0 0 8px 8px;padding:20px;overflow-y:auto}.npd-info-tab{display:flex;flex-direction:column;gap:20px}.npd-info-section{padding-bottom:20px;border-bottom:1px solid var(--border, #e2e8f0)}.npd-info-section:last-child{padding-bottom:0;border-bottom:none}.npd-info-section h3{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.npd-info-item{display:flex;flex-direction:column;gap:4px}.npd-info-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.npd-info-item span{font-size:.875rem;color:var(--text-primary, #1e293b)}.npd-progress-inline{display:flex;align-items:center;gap:8px}.npd-progress-inline .npd-progress-bar{flex:1;height:8px;background:var(--bg-secondary, #e2e8f0);border-radius:4px;overflow:hidden}.npd-progress-inline .npd-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:4px}.npd-progress-inline span{font-size:.875rem;font-weight:600;min-width:40px}.npd-remarks{margin:0;padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:6px;font-size:.875rem;color:var(--text-primary, #1e293b);line-height:1.6}.npd-gate-tab .npd-tab-header,.npd-history-tab .npd-tab-header{margin-bottom:16px}.npd-gate-tab .npd-tab-header h3,.npd-history-tab .npd-tab-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-gate-review-list .npd-table{width:100%;border-collapse:collapse}.npd-gate-review-list .npd-table th{padding:12px 8px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.npd-gate-review-list .npd-table td{padding:10px 8px;font-size:.8125rem;border-bottom:1px solid var(--border, #e2e8f0)}.text-green{color:#22c55e}.text-red{color:#dc2626}.npd-timeline{position:relative;padding-left:24px}.npd-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border, #e2e8f0)}.npd-timeline-item{position:relative;padding-bottom:20px}.npd-timeline-item:last-child{padding-bottom:0}.npd-timeline-dot{position:absolute;left:-20px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--primary, #3b82f6);border:2px solid var(--panel, #ffffff)}.npd-timeline-content{padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-radius:8px}.npd-timeline-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.npd-timeline-from{padding:2px 8px;background:var(--border, #e2e8f0);border-radius:4px;font-size:.75rem;color:var(--text-secondary, #64748b)}.npd-timeline-arrow{color:var(--text-secondary, #94a3b8)}.npd-timeline-to{padding:2px 8px;background:var(--primary, #3b82f6);color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.npd-timeline-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.75rem;color:var(--text-secondary, #64748b)}.npd-duration{padding:2px 6px;background:#fef3c7;color:#b45309;border-radius:4px;font-weight:500}.npd-timeline-remarks{margin:8px 0 0;font-size:.8125rem;color:var(--text-primary, #1e293b)}.npd-empty-state{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary, #64748b);font-size:.875rem}.npd-detail-page .npd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.875rem;cursor:pointer;transition:all .2s}.npd-detail-page .npd-btn:hover{background:var(--bg-secondary, #f1f5f9)}.npd-detail-page .npd-btn-primary{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.npd-detail-page .npd-btn-primary:hover{background:#2563eb}.npd-detail-page .npd-btn-icon{padding:8px}.npd-detail-page .npd-btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);cursor:pointer}.npd-detail-page .npd-btn-back:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.npd-detail-page .npd-status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:500;color:#fff}.npd-detail-page .npd-project-no{padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:.8125rem;font-weight:500;color:var(--text-secondary, #64748b)}.npd-detail-page .npd-risk-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.npd-detail-page .npd-risk-badge.risk-green{background:#dcfce7;color:#15803d}.npd-detail-page .npd-risk-badge.risk-orange{background:#fed7aa;color:#c2410c}.npd-detail-page .npd-risk-badge.risk-red{background:#fecaca;color:#dc2626}.npd-bmc-tab{padding:0}.npd-bmc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.npd-bmc-header-left{display:flex;align-items:center;gap:20px}.npd-bmc-header-left h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.bmc-mini-preview{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border-radius:6px}.bmc-mini-row{display:flex;gap:2px}.bmc-mini-block{padding:2px 6px;font-size:.625rem;font-weight:600;border-radius:2px;color:#fff}.bmc-mini-block.kp{background:#3b82f6}.bmc-mini-block.ka{background:#8b5cf6}.bmc-mini-block.vp{background:#22c55e}.bmc-mini-block.cr{background:#f59e0b}.bmc-mini-block.cs{background:#ec4899}.bmc-mini-block.kr{background:#6366f1}.bmc-mini-block.ch{background:#14b8a6}.bmc-mini-block.cost{background:#ef4444}.bmc-mini-block.rs{background:#84cc16}.npd-bmc-content{min-height:200px}.bmc-gate-timeline{padding:24px 0;margin-bottom:24px;border-bottom:1px solid var(--border, #e2e8f0)}.timeline-track{display:flex;justify-content:space-between;position:relative;padding:0 12px}.timeline-track:before{content:"";position:absolute;top:12px;left:32px;right:32px;height:2px;background:var(--border, #e2e8f0)}.timeline-node{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1}.node-marker{width:24px;height:24px;border-radius:50%;background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);display:flex;align-items:center;justify-content:center;font-size:.5625rem;font-weight:700;color:var(--text-secondary, #64748b);transition:all .2s}.timeline-node.has-bmc .node-marker{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.timeline-node.active .node-marker{box-shadow:0 0 0 4px #3b82f633;transform:scale(1.1)}.node-label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.timeline-node.has-bmc .node-label{color:var(--primary, #3b82f6);font-weight:600}.node-action{font-size:.6875rem;padding:2px 10px;border:1px solid var(--primary, #3b82f6);color:var(--primary, #3b82f6);background:transparent;border-radius:4px;cursor:pointer;transition:all .15s}.node-action:hover{background:var(--primary, #3b82f6);color:#fff}.bmc-current-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:24px}.bmc-current-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bmc-current-card .card-header h4{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.bmc-current-card .card-meta{display:flex;align-items:center;gap:16px;font-size:.8125rem;color:var(--text-secondary, #64748b);margin-bottom:16px}.bmc-current-card .card-progress{height:8px;background:var(--border, #e2e8f0);border-radius:4px;overflow:hidden;margin-bottom:16px}.bmc-current-card .card-progress .progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:4px;transition:width .3s ease}.bmc-current-card .card-validation{display:flex;gap:24px;font-size:.8125rem;color:var(--text-secondary, #64748b)}.bmc-current-card .card-validation span{display:flex;align-items:center;gap:6px}.bmc-current-card .card-validation span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--text-secondary)}.bmc-current-card .card-validation span:nth-child(1):before{background:#f59e0b}.bmc-current-card .card-validation span:nth-child(2):before{background:#3b82f6}.bmc-current-card .card-validation span:nth-child(3):before{background:#22c55e}.bmc-current-card .card-validation span:nth-child(4):before{background:#ef4444}.bmc-empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;background:var(--bg-secondary, #f8fafc);border:2px dashed var(--border, #e2e8f0);border-radius:12px;gap:16px}.bmc-empty-card svg{color:var(--border, #cbd5e1)}.bmc-empty-card p{margin:0;color:var(--text-secondary, #64748b);font-size:.9375rem}.npd-bmc-list{min-height:200px}.npd-loading-inline{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary, #64748b)}.bmc-inline-table{width:100%;border-collapse:collapse}.bmc-inline-table th{padding:12px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.bmc-inline-table td{padding:12px;font-size:.8125rem;border-bottom:1px solid var(--border, #e2e8f0);vertical-align:middle}.bmc-inline-table tbody tr{transition:background .15s;cursor:pointer}.bmc-inline-table tbody tr:hover{background:var(--bg-secondary, #f8fafc)}.bmc-title-cell{display:flex;flex-direction:column;gap:2px}.bmc-title-cell strong{font-weight:500;color:var(--text-primary, #1e293b)}.bmc-title-cell .bmc-description{font-size:.75rem;color:var(--text-secondary, #94a3b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.bmc-status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.6875rem;font-weight:500;color:#fff}.bmc-progress-mini{display:flex;align-items:center;gap:8px;width:80px;height:6px;background:var(--border, #e2e8f0);border-radius:3px;overflow:hidden;position:relative}.bmc-progress-mini .bmc-progress-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:3px}.bmc-progress-mini span{position:absolute;right:-36px;font-size:.6875rem;font-weight:500;color:var(--text-secondary, #64748b)}.npd-bmc-tab .npd-empty-state{flex-direction:column;gap:16px;padding:60px 40px}.npd-bmc-tab .npd-empty-state svg{color:var(--border, #cbd5e1)}.npd-bmc-tab .npd-empty-state p{margin:0;color:var(--text-secondary, #64748b)}.npd-btn-outline{background:transparent;border:1px solid var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.npd-btn-outline:hover{background:var(--primary, #3b82f6);color:#fff}.npd-bmc-intro{padding:24px}.npd-bmc-intro p{color:var(--text-secondary, #64748b);line-height:1.6;margin:0 0 20px}.npd-bmc-blocks-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}@media (max-width: 768px){.npd-bmc-header{flex-direction:column;align-items:stretch}.npd-bmc-header-left{flex-direction:column;align-items:flex-start}.bmc-mini-preview{align-self:flex-start}.npd-bmc-blocks-preview{grid-template-columns:repeat(3,1fr)}.bmc-inline-table th:nth-child(4),.bmc-inline-table td:nth-child(4),.bmc-inline-table th:nth-child(5),.bmc-inline-table td:nth-child(5){display:none}.bmc-gate-timeline{padding:16px 0;overflow-x:auto}.timeline-track{min-width:400px;padding:0 8px}.node-marker{width:20px;height:20px;font-size:.5rem}.node-label{font-size:.6875rem}.node-action{font-size:.625rem;padding:2px 6px}.bmc-current-card{padding:16px}.bmc-current-card .card-header{flex-direction:column;align-items:flex-start;gap:12px}.bmc-current-card .card-header h4{font-size:1rem}.bmc-current-card .card-meta{flex-wrap:wrap;gap:8px}.bmc-current-card .card-validation{flex-wrap:wrap;gap:12px}}.npd-analysis-tab,.npd-qfd-tab,.npd-fmea-tab,.npd-kpi-tab{padding:0}.npd-analysis-tab .npd-tab-header,.npd-qfd-tab .npd-tab-header,.npd-fmea-tab .npd-tab-header,.npd-kpi-tab .npd-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.npd-analysis-tab .npd-tab-header h3,.npd-qfd-tab .npd-tab-header h3,.npd-fmea-tab .npd-tab-header h3,.npd-kpi-tab .npd-tab-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-analysis-intro,.npd-qfd-intro,.npd-fmea-intro,.npd-kpi-intro{padding:0}.npd-analysis-intro p,.npd-qfd-intro p,.npd-fmea-intro p,.npd-kpi-intro p{color:var(--text-secondary, #64748b);line-height:1.6;margin:0 0 20px}.npd-analysis-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.analysis-type-card{padding:24px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;text-align:center;transition:all .2s}.analysis-type-card:hover{border-color:var(--primary, #3b82f6);box-shadow:0 2px 8px #3b82f61a}.analysis-type-card svg{color:var(--primary, #3b82f6);margin-bottom:12px}.analysis-type-card h4{margin:0 0 8px;font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.analysis-type-card p{margin:0;font-size:.8125rem;color:var(--text-secondary, #64748b)}.npd-qfd-preview{display:grid;grid-template-columns:100px 1fr 100px;grid-template-rows:auto auto auto;gap:8px;max-width:500px}.qfd-block{padding:12px 8px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:6px;text-align:center;font-size:.75rem;color:var(--text-secondary, #64748b)}.qfd-block.roof{grid-column:2;grid-row:1;background:#fef3c7;border-color:#fbbf24;color:#b45309}.qfd-block.how{grid-column:2;grid-row:2;background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.qfd-block.what{grid-column:1;grid-row:3;background:#dcfce7;border-color:#22c55e;color:#15803d}.qfd-block.matrix{grid-column:2;grid-row:3;background:#fff}.qfd-block.importance{grid-column:3;grid-row:3;background:#f3e8ff;border-color:#a855f7;color:#7c3aed}.qfd-block.target{grid-column:2;grid-row:4;background:#fee2e2;border-color:#ef4444;color:#dc2626}.npd-fmea-sod{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.sod-item{padding:16px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;text-align:center}.sod-item h4{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:var(--primary, #3b82f6)}.sod-item p{margin:0;font-size:.8125rem;color:var(--text-secondary, #64748b)}.sod-item.rpn{background:#dbeafe;border-color:#3b82f6}.sod-item.rpn h4{color:#1d4ed8}.npd-fmea-threshold{display:flex;flex-wrap:wrap;gap:12px}.npd-fmea-threshold .threshold{padding:6px 12px;border-radius:4px;font-size:.8125rem;font-weight:500}.npd-fmea-threshold .threshold.high{background:#fecaca;color:#dc2626}.npd-fmea-threshold .threshold.medium{background:#fed7aa;color:#c2410c}.npd-fmea-threshold .threshold.low{background:#dcfce7;color:#15803d}.npd-kpi-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi-category-card{padding:16px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;text-align:center;transition:all .2s}.kpi-category-card:hover{border-color:var(--primary, #3b82f6)}.kpi-category-card h4{margin:0 0 6px;font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b)}.kpi-category-card p{margin:0;font-size:.75rem;color:var(--text-secondary, #64748b)}.npd-requirement-tab,.npd-wbs-tab,.npd-design-tab,.npd-dvp-tab,.npd-ecr-tab{padding:0;height:100%;overflow:auto}@media (max-width: 768px){.npd-fmea-sod{grid-template-columns:repeat(2,1fr)}.npd-qfd-preview{grid-template-columns:1fr;max-width:100%}.qfd-block{grid-column:1!important;grid-row:auto!important}}.npd-dashboard{padding:16px;background:var(--bg-secondary, #f8fafc);min-height:100%}.npd-dashboard-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary, #64748b)}.npd-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.npd-dashboard-title{display:flex;align-items:center;gap:16px}.npd-dashboard-title svg{color:var(--primary, #3b82f6)}.npd-dashboard-title h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-dashboard-title p{margin:4px 0 0;font-size:.875rem;color:var(--text-secondary, #64748b)}.npd-dashboard-actions{display:flex;gap:8px}.npd-stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 1024px){.npd-stat-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.npd-stat-cards{grid-template-columns:1fr}}.npd-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--panel, #ffffff);border-radius:12px;border:1px solid var(--border, #e2e8f0);cursor:pointer;transition:all .2s}.npd-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000014}.npd-stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center}.npd-stat-card.primary .npd-stat-icon{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#3b82f6}.npd-stat-card.success .npd-stat-icon{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#22c55e}.npd-stat-card.warning .npd-stat-icon{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#f59e0b}.npd-stat-card.info .npd-stat-icon{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#8b5cf6}.npd-stat-content{display:flex;flex-direction:column}.npd-stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1e293b);line-height:1}.npd-stat-label{font-size:.875rem;color:var(--text-secondary, #64748b);margin-top:4px}.npd-pipeline-section{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:24px;margin-bottom:24px}.npd-pipeline-section h2{margin:0 0 20px;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-pipeline{display:flex;align-items:center;justify-content:space-between;overflow-x:auto;padding-bottom:8px}.npd-pipeline-stage{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:var(--bg-secondary, #f8fafc);border-radius:12px;cursor:pointer;transition:all .2s;min-width:100px}.npd-pipeline-stage:hover{background:#eff6ff;transform:scale(1.05)}.npd-pipeline-count{font-size:2rem;font-weight:700;color:var(--primary, #3b82f6)}.npd-pipeline-label{font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b);margin-top:4px}.npd-pipeline-name{font-size:.75rem;color:var(--text-secondary, #64748b);margin-top:2px;white-space:nowrap}.npd-pipeline-arrow{color:var(--border, #cbd5e1);flex-shrink:0;padding:0 8px}.npd-dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width: 900px){.npd-dashboard-grid{grid-template-columns:1fr}}.npd-dashboard-panel{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden}.npd-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.npd-panel-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.npd-link-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:transparent;color:var(--primary, #3b82f6);font-size:.8125rem;font-weight:500;cursor:pointer;border-radius:4px}.npd-link-btn:hover{background:#eff6ff}.npd-project-list{padding:8px}.npd-project-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s}.npd-project-item:hover{background:var(--bg-secondary, #f8fafc)}.npd-project-item.risk{border-left:3px solid #ef4444}.npd-project-main{display:flex;flex-direction:column;gap:4px}.npd-project-no{font-size:.75rem;color:var(--text-secondary, #64748b)}.npd-project-name{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}.npd-project-meta{display:flex;align-items:center;gap:8px}.npd-gate-badge{padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:600;color:#fff}.npd-mini-progress{width:60px;height:6px;background:var(--bg-secondary, #e2e8f0);border-radius:3px;overflow:hidden}.npd-mini-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:3px}.npd-progress-text{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);min-width:32px}.npd-risk-badge{padding:2px 8px;border-radius:4px;font-size:.625rem;font-weight:700}.npd-risk-badge.high{background:#fecaca;color:#dc2626}.npd-customer,.npd-sop{font-size:.75rem;color:var(--text-secondary, #64748b)}.npd-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:var(--text-secondary, #64748b);font-size:.875rem}.npd-empty-state.success{color:#22c55e}.npd-dashboard .npd-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:.875rem;cursor:pointer;transition:all .2s}.npd-dashboard .npd-btn:hover{background:var(--bg-secondary, #f1f5f9)}.npd-dashboard .npd-btn-primary{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.npd-dashboard .npd-btn-primary:hover{background:#2563eb}.npd-dashboard .npd-btn-icon{padding:8px}.bmc-stage-stepper{background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:8px;padding:16px 20px;margin-bottom:16px}.bmc-stage-stepper-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bmc-stage-stepper-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.bmc-stage-stepper-progress{font-size:12px;color:var(--text-secondary);background:var(--panel-2);padding:4px 12px;border-radius:12px}.bmc-stage-stepper-container{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;overflow-x:auto;padding-bottom:8px}.bmc-stage-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;min-width:100px}.bmc-stage-circle{width:36px;height:36px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:1;background:var(--bg-primary)}.bmc-stage-circle:hover{transform:scale(1.1);box-shadow:0 2px 8px #0000004d}.bmc-stage-circle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-stage-circle.pending{border-color:var(--border);color:var(--text-tertiary)}.bmc-stage-circle.in-progress{border-color:var(--primary);background:var(--primary);color:#fff}.bmc-stage-circle.completed{border-color:#10b981;background:#10b981;color:#fff}.bmc-stage-circle.skipped{border-color:var(--text-tertiary);color:var(--text-tertiary);opacity:.5}.bmc-stage-connector{position:absolute;top:18px;left:calc(50% + 18px);width:calc(100% - 36px);height:2px;z-index:0;background:var(--border)}.bmc-stage-connector.completed{background:#10b981}.bmc-stage-connector.in-progress{background:linear-gradient(90deg,#10b981 0%,var(--primary) 50%,var(--border) 100%)}.bmc-stage-label{display:flex;flex-direction:column;align-items:center;margin-top:10px;text-align:center;gap:2px}.bmc-stage-no{font-size:9px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.bmc-stage-name{font-size:11px;font-weight:500;color:var(--text-primary);line-height:1.3;max-width:90px}.bmc-stage-status{font-size:10px;font-weight:500}.bmc-stage-status.pending{color:var(--text-tertiary)}.bmc-stage-status.in-progress{color:var(--primary)}.bmc-stage-status.completed{color:#10b981}.bmc-stage-actions{margin-top:8px;display:flex;gap:4px}.bmc-stage-btn{padding:4px 10px;border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.bmc-stage-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-stage-btn-start{background:#3b82f633;color:#93c5fd}.bmc-stage-btn-start:hover{background:#3b82f64d}.bmc-stage-btn-complete{background:#10b98133;color:#86efac}.bmc-stage-btn-complete:hover{background:#10b9814d}@media (max-width: 1024px){.bmc-stage-stepper-container{gap:4px}.bmc-stage-item{min-width:80px}.bmc-stage-circle{width:32px;height:32px}.bmc-stage-connector{top:16px;left:calc(50% + 16px);width:calc(100% - 32px)}.bmc-stage-name{font-size:10px;max-width:70px}}@media (max-width: 768px){.bmc-stage-stepper{padding:12px 16px}.bmc-stage-stepper-container{flex-wrap:wrap;justify-content:center}.bmc-stage-connector{display:none}.bmc-stage-item{min-width:100px;margin-bottom:12px}}.bmc-block-selector{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bmc-selector-group{display:flex;align-items:center;gap:12px}.bmc-selector-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.bmc-selector-buttons{display:flex;gap:8px}.bmc-selector-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.bmc-selector-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-hover)}.bmc-selector-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-selector-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.bmc-selector-btn:disabled{opacity:.5;cursor:not-allowed}.bmc-selector-tabs{display:flex;background:var(--panel-2);border-radius:6px;padding:2px;border:1px solid var(--glass-border)}.bmc-selector-tab{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.bmc-selector-tab:hover:not(:disabled){color:var(--text-primary);background:var(--primary-hover)}.bmc-selector-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-selector-tab.active{background:var(--primary);color:var(--on-accent);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}.bmc-selector-tab:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.bmc-block-selector{flex-direction:column;align-items:flex-start;gap:12px}.bmc-selector-group{flex-direction:column;align-items:flex-start;gap:8px}}.bmc-editor-page{padding:16px;background:var(--bg-primary);min-height:100vh}.bmc-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.bmc-editor-header-left{display:flex;align-items:center;gap:12px}.bmc-editor-back-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border);background:var(--bg-primary);border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .2s}.bmc-editor-back-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.bmc-editor-back-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-editor-title{font-size:18px;font-weight:600;color:var(--text-primary)}.bmc-editor-header-right{display:flex;gap:8px}.bmc-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.bmc-btn:disabled{opacity:.5;cursor:not-allowed}.bmc-btn-secondary{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}.bmc-btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.bmc-btn-primary{background:var(--primary);border:1px solid var(--primary);color:var(--on-accent)}.bmc-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.bmc-editor-info{display:flex;gap:16px;margin-bottom:16px;padding:10px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;font-size:13px;color:var(--text-secondary)}.bmc-editor-info-item{display:flex;align-items:center;gap:8px}.bmc-editor-info-item strong{color:var(--text-primary)}.bmc-canvas-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,minmax(200px,auto));gap:12px;margin-bottom:20px}.bmc-block-kp{grid-column:1;grid-row:1 / 3}.bmc-block-ka{grid-column:2;grid-row:1}.bmc-block-kr{grid-column:2;grid-row:2}.bmc-block-vp{grid-column:3;grid-row:1 / 3}.bmc-block-cr{grid-column:4;grid-row:1}.bmc-block-ch{grid-column:4;grid-row:2}.bmc-block-cs{grid-column:5;grid-row:1 / 3}.bmc-block-cost{grid-column:1 / 3;grid-row:3}.bmc-block-rs{grid-column:3 / 6;grid-row:3}.bmc-block-card{background:var(--bg-primary);border-radius:8px;border:1px solid var(--glass-border);display:flex;flex-direction:column;min-height:200px}.bmc-block-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0}.bmc-block-title{font-size:13px;font-weight:600;color:var(--text-primary)}.bmc-block-code{font-size:10px;color:var(--text-tertiary);margin-left:6px}.bmc-block-add-btn{padding:4px 8px;background:transparent;border:1px dashed var(--border);border-radius:4px;font-size:11px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.bmc-block-add-btn:hover{background:var(--bg-secondary);border-color:var(--primary);color:var(--primary)}.bmc-block-add-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-block-content{flex:1;padding:10px;overflow-y:auto;max-height:300px}.bmc-element-item{padding:8px 10px;margin-bottom:6px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:6px;transition:all .2s}.bmc-element-item:hover{background:#1565c0}.bmc-element-item:hover .bmc-element-content,.bmc-element-item:hover .bmc-validation-badge,.bmc-element-item:hover .bmc-priority-badge,.bmc-element-item:hover .bmc-element-action-btn{color:#fff!important}.bmc-element-content{font-size:12px;color:var(--text-primary);margin-bottom:6px;line-height:1.5}.bmc-element-footer{display:flex;align-items:center;justify-content:space-between}.bmc-element-badges{display:flex;gap:6px}.bmc-validation-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;white-space:nowrap}.bmc-priority-badge{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;background:#94a3b833;color:var(--text-secondary)}.bmc-element-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.bmc-element-item:hover .bmc-element-actions{opacity:1}.bmc-element-action-btn{padding:4px 6px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.bmc-element-action-btn:hover{background:#fff3;color:#fff}.bmc-element-action-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-block-guide{padding:8px 10px;margin-top:auto;background:#fbbf241a;border-top:1px solid rgba(251,191,36,.3);font-size:11px;color:#fbbf24;border-radius:0 0 8px 8px}.bmc-block-guide-title{font-weight:600;margin-bottom:4px}.bmc-block-guide-list{margin:0;padding-left:16px}.bmc-financial-panel{background:var(--bg-primary);border-radius:8px;border:1px solid var(--glass-border);padding:16px}.bmc-financial-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bmc-financial-title{font-size:14px;font-weight:600;color:var(--text-primary)}.bmc-financial-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.bmc-financial-item{text-align:center;padding:14px;background:var(--panel-2);border-radius:8px;border:1px solid var(--glass-border)}.bmc-financial-label{font-size:11px;color:var(--text-secondary);margin-bottom:4px}.bmc-financial-value{font-size:16px;font-weight:600;color:var(--text-primary)}.bmc-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:var(--text-tertiary);font-size:12px}.bmc-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.bmc-modal{background:var(--bg-primary);border-radius:8px;width:480px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--glass-border);box-shadow:0 10px 40px #0000004d}.bmc-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--glass-border);background:var(--panel-2)}.bmc-modal-title{font-size:15px;font-weight:600;color:var(--text-primary)}.bmc-modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);transition:color .2s}.bmc-modal-close:hover{color:var(--text-primary)}.bmc-modal-body{padding:20px;overflow-y:auto}.bmc-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--glass-border);background:var(--panel-2)}.bmc-form-group{margin-bottom:16px}.bmc-form-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.bmc-form-input,.bmc-form-textarea,.bmc-form-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.bmc-form-textarea{min-height:100px;resize:vertical}.bmc-form-input:focus,.bmc-form-textarea:focus,.bmc-form-select:focus{outline:none;border-color:var(--primary)}.bmc-form-input::-moz-placeholder,.bmc-form-textarea::-moz-placeholder{color:var(--text-tertiary)}.bmc-form-input::placeholder,.bmc-form-textarea::placeholder{color:var(--text-tertiary)}.bmc-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary)}.bmc-stage-init-banner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;margin-bottom:16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#93c5fd}.bmc-stage-init-banner span{font-size:13px}.bmc-custom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.bmc-custom-column{display:flex;flex-direction:column;gap:12px}.bmc-custom-column-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;background:var(--panel-2);border-radius:6px;text-align:center}@media (max-width: 1400px){.bmc-canvas-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}.bmc-block-kp,.bmc-block-ka,.bmc-block-kr,.bmc-block-vp,.bmc-block-cr,.bmc-block-ch,.bmc-block-cs,.bmc-block-cost,.bmc-block-rs{grid-column:auto;grid-row:auto}}@media (max-width: 1024px){.bmc-editor-page{padding:12px}.bmc-canvas-grid{grid-template-columns:repeat(2,1fr)}.bmc-financial-grid{grid-template-columns:repeat(3,1fr)}.bmc-custom-grid{grid-template-columns:1fr}}@media (max-width: 768px){.bmc-editor-page{padding:8px}.bmc-editor-header{flex-direction:column;gap:12px;align-items:stretch}.bmc-editor-header-right{justify-content:flex-end}.bmc-canvas-grid{grid-template-columns:1fr}.bmc-financial-grid{grid-template-columns:repeat(2,1fr)}.bmc-editor-info{flex-wrap:wrap}}@media (max-width: 480px){.bmc-financial-grid{grid-template-columns:1fr}.bmc-btn{padding:6px 10px;font-size:12px}}.bmc-new-canvas-form{max-width:500px;margin:40px auto;padding:32px;background:var(--bg-primary);border-radius:12px;border:1px solid var(--glass-border);box-shadow:0 4px 20px #0003}.bmc-new-canvas-form .bmc-form-group{margin-bottom:20px}.bmc-new-canvas-form .bmc-form-input,.bmc-new-canvas-form .bmc-form-select{padding:12px 14px}.bmc-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--glass-border)}.bmc-btn:focus-visible,.bmc-block-add-btn:focus-visible,.bmc-element-action-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-list-page{padding:16px;background:var(--bg-primary);min-height:100vh}.bmc-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.bmc-list-header h1{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.bmc-header-actions{display:flex;gap:8px}.bmc-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s}.bmc-btn-primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.bmc-btn-primary:hover{background:var(--primary-hover)}.bmc-btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}.bmc-btn-secondary:hover{background:var(--bg-secondary)}.bmc-btn-icon{padding:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.bmc-btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.bmc-btn-icon:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-btn-danger{color:var(--error)}.bmc-btn-danger:hover{background:#dc35451a}.bmc-summary-cards{display:flex;gap:8px;margin-bottom:16px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.bmc-summary-card{background:var(--bg-primary);border:2px solid var(--border);border-radius:6px;padding:12px 20px;min-width:100px;cursor:pointer;transition:all .2s;text-align:center;flex-shrink:0}.bmc-summary-card:hover{border-color:var(--text-tertiary)}.bmc-summary-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-summary-card.active{border-color:var(--primary);background:#3b82f61a}.bmc-summary-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.bmc-summary-count{display:block;font-size:20px;font-weight:700;color:var(--text-primary)}.bmc-search-area{background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;padding:12px 16px;margin-bottom:16px}.bmc-search-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.bmc-search-field{display:flex;flex-direction:column;gap:4px}.bmc-search-field label{font-size:11px;font-weight:500;color:var(--text-secondary)}.bmc-search-field select,.bmc-search-field input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;min-width:150px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.bmc-search-field select:focus,.bmc-search-field input:focus{outline:none;border-color:var(--primary)}.bmc-search-field input::-moz-placeholder{color:var(--text-tertiary)}.bmc-search-field input::placeholder{color:var(--text-tertiary)}.bmc-table-container{background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:8px;overflow:hidden;margin-bottom:16px;position:relative}.bmc-table{width:100%;border-collapse:collapse;font-size:12px}.bmc-table thead{background:var(--panel-2);border-bottom:2px solid var(--glass-border)}.bmc-table th{padding:10px 14px;text-align:left;font-weight:600;color:var(--text-primary);white-space:nowrap;font-size:11px}.bmc-table td{padding:10px 14px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.bmc-table tbody tr{cursor:pointer;transition:background .15s;background:transparent}.bmc-table tbody tr:hover{background:#1565c0!important}.bmc-table tbody tr:hover td{color:#fff!important}.bmc-table tbody tr:hover .bmc-status-badge,.bmc-table tbody tr:hover .bmc-version-badge{background:#fff3!important;color:#fff!important}.bmc-table tbody tr:hover .bmc-validation-bar span,.bmc-table tbody tr:hover .bmc-btn-icon{color:#fff!important}.bmc-table tbody tr.selected{background:#3b82f640}.bmc-cell-title{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bmc-cell-actions{display:flex;gap:4px}.bmc-version-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#94a3b833;border-radius:4px;font-size:11px;font-weight:600;color:var(--text-secondary)}.bmc-status-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:9999px;font-size:10px;font-weight:500}.bmc-validation-bar{position:relative;height:20px;background:var(--border);border-radius:4px;overflow:hidden;min-width:80px}.bmc-validation-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#10b981,#34d399);transition:width .3s}.bmc-validation-bar span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:10px;font-weight:600;color:var(--text-primary)}.bmc-loading{padding:40px;text-align:center;color:var(--text-secondary)}.bmc-loading:after{content:"";display:inline-block;width:20px;height:20px;margin-left:8px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.bmc-error{padding:40px;text-align:center;color:var(--error);background:#dc35451a;border-radius:8px;margin:16px}.bmc-empty{text-align:center;padding:60px 20px;color:var(--text-tertiary)}.bmc-empty-state{display:flex;flex-direction:column;align-items:center;gap:16px}.bmc-empty-state svg{color:var(--text-tertiary)}.bmc-empty-state p{font-size:14px;margin:0;color:var(--text-secondary)}.bmc-list-empty{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-tertiary);font-size:14px}.bmc-preview-panel{position:fixed;bottom:24px;right:24px;width:320px;background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 10px 40px #0000004d;padding:20px;z-index:100}.bmc-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.bmc-preview-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bmc-preview-desc{font-size:12px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.bmc-preview-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.bmc-preview-stat{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.bmc-preview-stat svg{color:var(--text-tertiary)}.bmc-preview-btn{width:100%;justify-content:center}@media (max-width: 1024px){.bmc-list-page{padding:12px}.bmc-summary-cards{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.bmc-search-row{flex-direction:column}.bmc-search-field,.bmc-search-field select,.bmc-search-field input{width:100%}.bmc-table-container{overflow-x:auto}.bmc-preview-panel{position:static;width:100%;margin-top:16px;box-shadow:none}}@media (max-width: 768px){.bmc-list-page{padding:8px}.bmc-list-header{flex-direction:column;gap:12px;align-items:stretch}.bmc-header-actions{justify-content:flex-end}}.bmc-financial-page{padding:24px;background:var(--bg-primary);min-height:100vh}.bmc-financial-loading{display:flex;align-items:center;justify-content:center;height:400px;color:var(--text-secondary)}.bmc-financial-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.bmc-financial-header-left{display:flex;flex-direction:column;gap:8px}.bmc-financial-back-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:0}.bmc-financial-back-btn:hover{color:var(--primary)}.bmc-financial-back-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-financial-title{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.bmc-financial-content{display:flex;flex-direction:column;gap:24px}.bmc-financial-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bmc-financial-section h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.bmc-financial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bmc-financial-field{display:flex;flex-direction:column;gap:6px}.bmc-financial-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.bmc-financial-field input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:15px;transition:all .2s;background:var(--panel-2);color:var(--text-primary)}.bmc-financial-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring, rgba(59, 130, 246, .1))}.bmc-financial-field input::-moz-placeholder{color:var(--text-tertiary)}.bmc-financial-field input::placeholder{color:var(--text-tertiary)}.bmc-financial-field.calculated{background:var(--panel-2);padding:12px;border-radius:8px;border:1px dashed var(--glass-border)}.bmc-financial-value{font-size:18px;font-weight:600;color:var(--text-primary)}.bmc-field-hint{font-size:11px;color:var(--text-tertiary)}.bmc-financial-summary{background:linear-gradient(135deg,var(--primary-dark, #1e40af) 0%,var(--primary) 100%);border-radius:12px;padding:24px;color:var(--on-accent)}.bmc-financial-summary h2{color:var(--on-accent);border-bottom:1px solid rgba(255,255,255,.2)}.bmc-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bmc-summary-item{display:flex;flex-direction:column;gap:4px;padding:16px;background:#ffffff1a;border-radius:8px}.bmc-summary-label{font-size:13px;opacity:.8}.bmc-summary-value{font-size:22px;font-weight:700}.bmc-summary-value.highlight{color:var(--warning, #fbbf24)}.bmc-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.bmc-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bmc-btn-primary{background:var(--primary);color:var(--on-accent)}.bmc-btn-primary:hover:not(:disabled){background:#1565c0}.bmc-btn-primary:disabled{background:var(--text-tertiary);cursor:not-allowed}@media (max-width: 1024px){.bmc-financial-grid,.bmc-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.bmc-financial-page{padding:16px}.bmc-financial-grid,.bmc-summary-grid{grid-template-columns:1fr}.bmc-financial-header{flex-direction:column;align-items:flex-start;gap:16px}}.qms-dashboard{padding:24px;background:var(--bg-primary);min-height:100%;overflow-y:auto;box-sizing:border-box}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dashboard-title-area{display:flex;flex-direction:column;gap:2px}.dashboard-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.dashboard-subtitle{font-size:12px;color:var(--text-secondary);margin:0}.date-range-picker{display:flex;gap:12px;align-items:center}.date-range-picker input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--glass-bg);color:var(--text-primary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .2s}.date-range-picker input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.date-range-picker button{padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.date-range-picker button:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:var(--glass-bg);border-radius:10px;padding:16px 20px;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden;transition:all .2s ease}.stat-card:hover{border-color:var(--primary);transform:translateY(-2px)}.stat-card-accent{position:absolute;top:0;left:0;right:0;height:3px}.stat-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.stat-card-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center}.stat-card-title{font-size:12px;color:var(--text-secondary);font-weight:500}.stat-card-body{display:flex;align-items:center;gap:8px}.stat-card-value{font-size:22px;font-weight:700;color:var(--text-primary)}.stat-card-trend{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:600}.stat-card-subtitle{font-size:11px;color:var(--text-tertiary);margin-top:4px}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.chart-card{background:var(--glass-bg);border-radius:10px;padding:16px;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.chart-card-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--text-secondary)}.chart-card-header h3{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.chart-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--glass-border)}.legend-item{display:flex;align-items:center;gap:4px;font-size:11px}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-label{color:var(--text-secondary)}.legend-value{font-weight:600;color:var(--text-primary)}.chart-card.full-width{grid-column:1 / -1}.loading-spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.error-message{display:flex;align-items:center;justify-content:center;gap:8px;color:#fca5a5;text-align:center;padding:20px;background:#fca5a526;border-radius:8px;margin:20px}.sla-gauge{display:flex;align-items:center;gap:12px;padding:5px 0}.sla-gauge-circle{position:relative;width:90px;height:90px}.sla-gauge-circle svg{transform:rotate(-90deg)}.sla-gauge-circle .gauge-bg{stroke:var(--glass-border)}.sla-gauge-circle .gauge-fill{stroke:#10b981;transition:stroke-dashoffset .5s ease}.sla-gauge-circle .gauge-fill.warning{stroke:#f59e0b}.sla-gauge-circle .gauge-fill.danger{stroke:#ef4444}.sla-gauge-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:700}.sla-gauge-stats{flex:1}.sla-stat-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--glass-border)}.sla-stat-row:last-child{border-bottom:none}.sla-stat-left{display:flex;align-items:center;gap:6px}.sla-stat-dot{width:8px;height:8px;border-radius:50%}.sla-stat-label{color:var(--text-secondary);font-size:12px}.sla-stat-value{font-weight:600;font-size:12px;color:var(--text-primary)}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:16px;align-items:flex-start}.date-range-picker{flex-wrap:wrap}.stat-card-value{font-size:18px}}.supplier-list-page{display:flex;flex-direction:column;height:100%;padding:24px;background:var(--bg-primary)}.supplier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.supplier-title{display:flex;align-items:center;gap:12px}.supplier-title svg{color:var(--primary, #3b82f6)}.supplier-title h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1e293b)}.supplier-actions{display:flex;gap:8px}.supplier-summary-cards{display:flex;gap:12px;margin-bottom:16px}.sup-summary-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sup-summary-card:hover{border-color:var(--primary);background:var(--panel-2);transform:translateY(-2px)}.sup-summary-card.active{border-color:var(--primary);background:#6366f126;box-shadow:0 4px 12px #6366f133}.sup-card-count{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b)}.sup-card-label{font-size:.8125rem;color:var(--text-secondary, #64748b);margin-top:4px}.supplier-grade-filter{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.grade-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary, #64748b);margin-right:8px}.grade-btn{display:flex;align-items:center;gap:4px;padding:8px 14px;border:1px solid var(--glass-border);border-radius:8px;background:var(--panel-2);font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .2s}.grade-btn:hover{border-color:var(--primary);color:var(--primary)}.grade-btn.active{font-weight:500;border-color:var(--primary);background:#6366f126;color:var(--primary)}.supplier-search-area{display:flex;gap:8px;margin-bottom:16px}.sup-search-box{flex:1;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;transition:all .2s}.sup-search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.sup-search-box svg{color:var(--text-secondary, #64748b)}.sup-search-box input{flex:1;border:none;background:transparent;font-size:.875rem;outline:none}.supplier-filters{display:flex;gap:16px;margin-bottom:16px;padding:18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sup-filter-item{display:flex;flex-direction:column;gap:4px;min-width:150px}.sup-filter-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b)}.sup-filter-item select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.sup-filter-item select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.supplier-table-container{flex:1;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-table{width:100%;border-collapse:collapse}.supplier-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);background:#08090a66;border-bottom:1px solid var(--glass-border);white-space:nowrap;position:sticky;top:0;text-transform:uppercase;letter-spacing:.5px}.supplier-table td{padding:14px 16px;font-size:13px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.supplier-table tbody tr{cursor:pointer;transition:all .15s}.supplier-table tbody tr:hover td,.supplier-table tbody tr:hover .sup-cd{color:#fff!important}.supplier-table tbody tr:hover .sup-grade-badge,.supplier-table tbody tr:hover .sup-status-badge{background:#fff3!important;color:#fff!important}.sup-cd{font-family:monospace;color:var(--text-secondary, #64748b)}.sup-name{font-weight:500;color:var(--text-primary, #1e293b)}.sup-grade-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;color:var(--on-accent)}.sup-status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.sup-loading,.sup-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-secondary, #64748b);gap:12px}.supplier-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.sup-page-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:8px;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.sup-page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.sup-page-btn:disabled{opacity:.5;cursor:not-allowed}.sup-page-info{font-size:.875rem;color:var(--text-secondary, #64748b)}.sup-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sup-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.sup-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.sup-btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.sup-btn-icon{padding:10px}.sup-btn-active{border-color:var(--primary);background:#6366f126}.supplier-form-page{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.supplier-form-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.supplier-form-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-form-title{display:flex;align-items:center;gap:12px}.supplier-form-title h1{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.supplier-form-code{font-size:12px;color:var(--text-secondary);background:var(--panel-2);padding:4px 10px;border-radius:6px}.supplier-form-actions{display:flex;gap:8px}.supplier-form-tabs{display:flex;gap:4px;padding:0 24px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-form-content{flex:1;overflow-y:auto;padding:24px}.supplier-form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-form-section h2{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary)}.supplier-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.supplier-section-header h2{margin:0}.supplier-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.supplier-form-field{display:flex;flex-direction:column;gap:6px}.supplier-form-field.full{grid-column:1 / -1}.supplier-form-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.supplier-form-field input,.supplier-form-field select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.supplier-form-field input:focus,.supplier-form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.supplier-form-section>textarea{width:100%;padding:12px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);resize:vertical;font-family:inherit;transition:all .2s}.supplier-form-section>textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.supplier-btn:disabled{opacity:.5;cursor:not-allowed}.supplier-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.supplier-btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.supplier-table{width:100%;border-collapse:collapse;font-size:13px}.supplier-table th,.supplier-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.supplier-table th{font-weight:600;font-size:12px;color:var(--text-secondary);background:#08090a66;text-transform:uppercase;letter-spacing:.5px}.supplier-table td{color:var(--text-primary)}.supplier-table tbody tr{transition:all .15s}.supplier-table tbody tr:hover{background:#1565c0!important}.supplier-table tbody tr:hover td{color:#fff!important}.supplier-item-actions{display:flex;gap:8px}.supplier-item-actions button{padding:6px 10px;font-size:12px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s}.supplier-item-actions button:hover{border-color:var(--primary);background:var(--panel-2);color:var(--primary)}.supplier-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.supplier-modal{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--glass-border)}.supplier-modal-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.supplier-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.supplier-modal-close:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.supplier-modal-body{flex:1;overflow-y:auto;padding:20px}.supplier-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--glass-border)}.supplier-detail-page{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.supplier-detail-loading,.supplier-detail-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.supplier-detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-detail-title{display:flex;align-items:center;gap:12px}.supplier-detail-title h1{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.supplier-detail-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.supplier-code{font-size:12px;color:var(--text-secondary)}.supplier-status-badge,.supplier-grade-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;color:var(--on-accent)}.supplier-btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-btn-back:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.supplier-detail-actions{display:flex;gap:8px}.supplier-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;font-weight:500;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.supplier-btn-danger{color:#ef4444;border-color:#fecaca}.supplier-btn-danger:hover{background:#fef2f2}.supplier-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:16px 24px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-summary-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--panel-2);border-radius:10px;border:1px solid var(--glass-border)}.summary-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary);border-radius:8px;color:var(--on-accent)}.summary-card-content{display:flex;flex-direction:column}.summary-card-label{font-size:12px;color:var(--text-secondary)}.summary-card-value{font-size:18px;font-weight:600;color:var(--text-primary)}.supplier-detail-tabs{display:flex;gap:4px;padding:0 24px;background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-tab{padding:12px 20px;border:none;background:none;font-size:14px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.supplier-tab:hover{color:var(--text-primary)}.supplier-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.supplier-detail-content{flex:1;overflow-y:auto;padding:24px}.supplier-info-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-info-section h3{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h3{margin:0}.supplier-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.supplier-info-item{display:flex;flex-direction:column;gap:4px}.supplier-info-item.full{grid-column:1 / -1}.supplier-info-item label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.supplier-info-item span{font-size:14px;color:var(--text-primary)}.supplier-remarks{margin:0;font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.supplier-empty{padding:40px;text-align:center;color:var(--text-secondary)}.supplier-detail-table{width:100%;border-collapse:collapse;font-size:13px}.supplier-detail-table th,.supplier-detail-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.supplier-detail-table th{font-weight:600;font-size:12px;color:var(--text-secondary);background:#08090a66;text-transform:uppercase;letter-spacing:.5px}.supplier-detail-table td{color:var(--text-primary)}.supplier-detail-table tbody tr{cursor:pointer;transition:all .15s}.supplier-detail-table tbody tr:hover{background:#1565c0!important}.supplier-detail-table tbody tr:hover td{color:#fff!important}.supplier-detail-table tbody tr:hover .grade-badge,.supplier-detail-table tbody tr:hover .result-badge{background:#fff3!important;color:#fff!important}.total-score{font-weight:600}.grade-badge,.result-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;color:var(--on-accent)}.cert-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.cert-card{background:var(--panel-2);border:1px solid var(--glass-border);border-radius:10px;padding:16px}.cert-card.expired{border-color:#fecaca;background:#fef2f2}.cert-card.expiring-soon{border-color:#fed7aa;background:#fffbeb}.cert-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--text-secondary)}.cert-type{font-size:12px;font-weight:500}.cert-status{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.cert-status.expired{background:#ef4444;color:var(--on-accent)}.cert-status.expiring{background:#f59e0b;color:var(--on-accent)}.cert-name{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--text-primary)}.cert-details{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cert-detail{display:flex;flex-direction:column;gap:2px}.cert-detail label{font-size:11px;color:var(--text-secondary)}.cert-detail span{font-size:13px;color:var(--text-primary)}.cert-detail span.warning{color:#ef4444;font-weight:500}.cert-scope{margin-top:12px;padding-top:12px;border-top:1px solid var(--glass-border)}.cert-scope label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.cert-scope p{margin:0;font-size:13px;color:var(--text-primary)}.factory-list-page{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);padding:24px}.factory-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.factory-list-title{display:flex;align-items:center;gap:12px}.factory-list-title h1{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.factory-status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.factory-status-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--glass-bg);border:2px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-status-card:hover{border-color:var(--primary)}.factory-status-card.active{border-color:var(--primary);background:#6366f126;box-shadow:0 4px 12px #6366f133}.status-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;color:var(--on-accent)}.status-card-content{display:flex;flex-direction:column}.status-card-count{font-size:20px;font-weight:600;color:var(--text-primary)}.status-card-label{font-size:12px;color:var(--text-secondary)}.factory-search-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-search-input{display:flex;align-items:center;gap:8px;flex:1;padding:10px 14px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-secondary);transition:all .2s}.factory-search-input input{flex:1;border:none;background:none;font-size:14px;color:var(--text-primary);outline:none}.factory-search-bar select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);min-width:120px;transition:all .2s}.factory-search-bar select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.factory-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;font-weight:500;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.factory-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.factory-btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.factory-table-container{flex:1;overflow:auto;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-loading,.factory-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.factory-table{width:100%;border-collapse:collapse;font-size:13px}.factory-table th,.factory-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.factory-table th{font-size:12px;font-weight:600;color:var(--text-secondary);background:#08090a66;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0}.factory-table tbody tr{cursor:pointer;transition:all .15s}.factory-table tbody tr:hover{background:#1565c0!important}.factory-table tbody tr:hover td{color:#fff!important}.factory-table tbody tr:hover .factory-status-badge{background:#fff3!important;color:#fff!important}.factory-table tbody tr:hover .factory-code{color:#fff!important}.factory-code{font-family:monospace;font-weight:500;color:var(--primary)}.factory-name-cell{display:flex;flex-direction:column;gap:2px}.factory-name{font-weight:500;color:var(--text-primary)}.factory-name-local{font-size:11px;color:var(--text-secondary)}.country-cell,.employees-cell{display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.factory-status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;color:#fff}.factory-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-page-btn{display:flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.factory-page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.factory-page-btn:disabled{opacity:.5;cursor:not-allowed}.factory-page-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.factory-page-info{font-size:14px;color:var(--text-secondary)}.factory-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.factory-form-loading{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary);font-size:14px}.form-container{display:flex;flex-direction:column;gap:24px}.form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.section-title{margin:0 0 20px;font-size:16px;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-label.required:after{content:" *";color:#ef4444}.form-input,.form-select,.form-textarea{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--panel-2);transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--text-secondary);opacity:.6}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-secondary);opacity:.6}@media (max-width: 1024px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.factory-form-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.form-grid{grid-template-columns:1fr}.form-section{padding:16px}}.factory-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.factory-detail-loading,.factory-detail-error{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary);font-size:14px}.header-left{display:flex;align-items:center;gap:16px}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.back-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--panel-2)}.header-title svg{color:var(--primary)}.header-title h1{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.status-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.header-actions{display:flex;gap:12px}.btn{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-secondary:hover{background:var(--panel-2);border-color:var(--primary);color:var(--primary)}.summary-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:var(--on-accent)}.summary-content{display:flex;flex-direction:column}.summary-label{font-size:12px;color:var(--text-secondary)}.summary-value{font-size:16px;font-weight:600;color:var(--text-primary);margin-top:2px}.tab-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tab-header{display:flex;gap:4px;padding:12px 16px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:12px 12px 0 0}.tab-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:transparent;border:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab-btn:hover{background:var(--glass-bg);color:var(--text-primary)}.tab-btn.active{background:var(--primary);color:var(--on-accent)}.tab-content{padding:24px}.info-tab{display:flex;flex-direction:column;gap:24px}.info-section h3{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary);padding-bottom:10px;border-bottom:1px solid var(--glass-border)}.info-item.full-width{grid-column:1 / -1}.info-item svg{color:var(--text-secondary);margin-bottom:2px}.info-label{font-size:12px;color:var(--text-secondary)}.info-value{font-size:14px;color:var(--text-primary)}.remarks-text{margin:0;font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.production-tab{overflow-x:auto}.data-table th,.data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.data-table th{font-size:12px;font-weight:600;color:var(--text-secondary);background:#08090a66;text-transform:uppercase;letter-spacing:.5px}.data-table td{font-size:14px;color:var(--text-primary)}.data-table tbody tr{transition:all .15s}.data-table tbody tr:hover{background:#1565c0!important}.data-table tbody tr:hover td{color:#fff!important}.data-table tbody tr:hover .rate{background:#fff3!important;color:#fff!important}.rate{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:500}.rate.good{background:#dcfce7;color:#16a34a}.rate.warning{background:#fef3c7;color:#d97706}.rate.bad{background:#fee2e2;color:#dc2626}.empty-state{padding:60px;text-align:center;color:var(--text-secondary);font-size:14px}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.equipment-card{padding:16px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;transition:all .2s}.equipment-card:hover{border-color:var(--primary)}.eq-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.eq-name{font-size:14px;font-weight:600;color:var(--text-primary)}.eq-status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;color:var(--on-accent)}.eq-code{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.eq-metrics{display:flex;gap:16px}.eq-metric{display:flex;flex-direction:column;gap:2px}.eq-metric-label{font-size:11px;color:var(--text-secondary)}.eq-metric-value{font-size:14px;font-weight:600;color:var(--text-primary)}@media (max-width: 1024px){.summary-cards,.info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.factory-detail-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.summary-cards,.info-grid{grid-template-columns:1fr}.tab-header{overflow-x:auto}}.factory-dashboard{padding:24px;background:var(--bg-primary);min-height:100%}.factory-dashboard-loading{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary);font-size:14px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-title{display:flex;align-items:center;gap:12px}.dashboard-title h1{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.dashboard-title svg{color:var(--primary)}.dashboard-actions{display:flex;align-items:center;gap:16px}.last-updated{font-size:12px;color:var(--text-secondary)}.dashboard-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.dashboard-btn:hover:not(:disabled){background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.dashboard-btn:disabled{opacity:.6;cursor:not-allowed}.dashboard-btn .spinning{animation:spin 1s linear infinite}.dashboard-kpi-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.kpi-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.kpi-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;color:var(--on-accent)}.kpi-value{font-size:24px;font-weight:700;color:var(--text-primary)}.kpi-label{font-size:13px;color:var(--text-secondary);margin-top:2px}.dashboard-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;margin-bottom:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--glass-border)}.section-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.factory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:20px}.factory-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.factory-card-name{font-size:15px;font-weight:600;color:var(--text-primary)}.factory-card-status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;color:var(--on-accent)}.factory-card-country{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.factory-card-metrics{display:flex;gap:16px}.metric{display:flex;flex-direction:column;gap:2px}.metric-label{font-size:11px;color:var(--text-secondary)}.metric-value{font-size:14px;font-weight:600;color:var(--text-primary)}.metric-value.good{color:#22c55e}.metric-value.warning{color:#f59e0b}.metric-value.bad{color:#ef4444}.factory-card-alert{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px 10px;background:#fef2f2;border-radius:6px;font-size:12px;color:#dc2626}.no-factories{grid-column:1 / -1;padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.production-trend{padding:20px}.trend-table{width:100%;border-collapse:collapse}.trend-table th,.trend-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.trend-table th{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66}.trend-table td{font-size:14px;color:var(--text-primary)}.trend-table tbody tr{transition:all .15s}.trend-table tbody tr:hover{background:#1565c0!important}.trend-table tbody tr:hover td{color:#fff!important}.trend-table tbody tr:hover .achievement{background:#fff3!important;color:#fff!important}.achievement{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:500}.achievement.good{background:#dcfce7;color:#16a34a}.achievement.warning{background:#fef3c7;color:#d97706}.achievement.bad{background:#fee2e2;color:#dc2626}@media (max-width: 1200px){.dashboard-kpi-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.factory-dashboard{padding:16px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-kpi-cards,.factory-grid{grid-template-columns:1fr}}.global-dashboard-page{padding:24px;background:var(--bg-primary);min-height:100%}.period-select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;background:var(--panel-2);font-size:14px;color:var(--text-primary);transition:all .2s}.period-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-card .card-icon{color:var(--primary)}.summary-card.overseas .card-icon{color:#10b981}.summary-card.oee .card-icon{color:#3b82f6}.summary-card.defect .card-icon{color:#f59e0b}.card-content{flex:1}.card-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.card-label{font-size:.875rem;color:var(--text-secondary)}.alerts-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px}.summary-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-section h2,.summary-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.alert-stats{display:flex;flex-direction:column;gap:.75rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--panel-2);border-radius:8px}.stat-item.critical{background:#fef2f2;border:1px solid #fecaca}.stat-value{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.chart-bars{display:flex;flex-direction:column;gap:.75rem}.bar-item{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:.75rem}.bar-label{font-size:.875rem;color:var(--text-primary)}.bar-track{height:24px;background:var(--panel-2);border-radius:6px;overflow:hidden}.bar-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .3s ease}.bar-value{font-size:.875rem;font-weight:500;color:var(--text-primary);text-align:right}.severity-badges{display:flex;flex-wrap:wrap;gap:.75rem}.severity-item{display:flex;align-items:center;gap:.5rem}.severity-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.severity-count{font-size:.875rem;color:var(--text-secondary)}.comparison-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.comparison-section h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.comparison-table{width:100%;border-collapse:collapse}.comparison-table th,.comparison-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.comparison-table th{background:#08090a66;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.comparison-table td{font-size:14px;color:var(--text-primary)}.comparison-table tbody tr{transition:all .15s}.comparison-table tbody tr:hover{background:#1565c0!important}.comparison-table tbody tr:hover td{color:#fff!important}.comparison-table th.number,.comparison-table td.number{text-align:right}.comparison-table .empty-cell{text-align:center;color:var(--text-secondary);padding:2rem}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px;color:var(--text-secondary)}@media (max-width: 1024px){.summary-cards{grid-template-columns:repeat(2,1fr)}.alerts-summary{grid-template-columns:1fr}}@media (max-width: 640px){.summary-cards{grid-template-columns:1fr}}.overseas-factory-page{padding:24px;background:var(--bg-primary);min-height:100%}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.dashboard-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.stat-card.critical{border-color:#dc2626;background:#fef2f2}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--panel-2);border-radius:10px;color:var(--primary)}.stat-card.critical .stat-icon{background:#fee2e2;color:#dc2626}.stat-content{flex:1}.stat-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.stat-label{font-size:.875rem;color:var(--text-secondary)}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.country-filter{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;background:var(--panel-2);font-size:14px;color:var(--text-primary);transition:all .2s}.country-filter:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.alert-count{padding:.25rem .75rem;background:#dc2626;color:#fff;border-radius:12px;font-size:.75rem;font-weight:500}.factory-list-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.factory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.factory-card{padding:16px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .2s}.factory-card:hover{border-color:var(--primary);background:#6366f11a;box-shadow:0 4px 12px #6366f126}.factory-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.factory-name{font-weight:600;color:var(--text-primary)}.factory-status{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.factory-status.status-active{background:#dcfce7;color:#16a34a}.factory-status.status-maintenance{background:#fef3c7;color:#d97706}.factory-status.status-inactive{background:#f3f4f6;color:#6b7280}.factory-info{display:flex;flex-direction:column;gap:.5rem}.info-row{display:flex;font-size:.875rem}.info-row .label{width:60px;color:var(--text-secondary)}.alerts-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.alerts-list{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto}.alert-item{padding:12px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;transition:all .2s}.alert-item:hover{border-color:var(--primary)}.alert-header{display:flex;gap:.5rem;margin-bottom:.5rem}.severity-badge,.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.alert-title{font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.alert-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.empty-state{padding:2rem;text-align:center;color:var(--text-secondary)}.loading-container{display:flex;justify-content:center;align-items:center;min-height:300px;color:var(--text-secondary)}@media (max-width: 1024px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}}@media (max-width: 640px){.dashboard-cards{grid-template-columns:1fr}}.po-list-page{padding:24px;background:var(--bg-primary);height:100%;display:flex;flex-direction:column;overflow:hidden}.status-summary-cards{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;flex-shrink:0}.summary-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:.5rem .75rem;cursor:pointer;transition:all .2s;display:flex!important;flex-direction:row!important;align-items:center!important;gap:.5rem;min-width:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-icon{color:var(--status-color, var(--text-secondary));display:flex;align-items:center;flex-shrink:0}.summary-icon svg{width:24px;height:24px}.summary-card .summary-text{display:flex!important;flex-direction:column!important;line-height:1.1;gap:0}.summary-card .summary-label{font-size:.75rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.summary-card .summary-count{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.search-bar{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:1rem;flex-shrink:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-shrink:0}.po-table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:auto;flex:1;min-height:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.po-table{width:100%;min-width:1100px;border-collapse:collapse;font-size:.875rem}.po-table thead{background:#08090a66;position:sticky;top:0;z-index:1}.po-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.po-table td{padding:14px 16px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.po-table tbody tr{cursor:pointer;transition:all .15s}.po-table tbody tr:hover{background:#1565c0!important}.po-table tbody tr:hover td,.po-table tbody tr:hover .po-no{color:#fff!important}.po-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.po-table tbody tr:last-child td{border-bottom:none}.po-no{font-weight:600;color:var(--primary)}.amount{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;flex-shrink:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.po-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.po-modal{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 24px #00000026;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.po-modal--lg{width:900px;max-width:95vw}.po-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--glass-border);background:#08090a66}.po-modal__header h2{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.po-modal__close{background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:.25rem;line-height:1}.po-modal__close:hover{color:var(--text-primary)}.po-modal__body{padding:1rem;overflow-y:auto;flex:1}.po-modal__footer{display:flex;justify-content:flex-end;gap:.5rem;padding:16px 20px;border-top:1px solid var(--glass-border);background:#08090a66}.po-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1rem;margin-bottom:1rem}.po-form-grid.cols-4{grid-template-columns:repeat(4,1fr)}.po-form-field{display:flex;flex-direction:column;gap:.25rem}.po-form-field.span-2{grid-column:span 2}.po-form-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.po-form-field label.required:after{content:" *";color:#ef4444}.po-form-field input,.po-form-field select,.po-form-field textarea{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.po-form-field input:focus,.po-form-field select:focus,.po-form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.po-form-field input.po-no-preview{background:var(--bg-secondary);color:var(--primary);font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace;cursor:not-allowed}.po-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:1rem 0 .5rem;padding-bottom:.375rem;border-bottom:1px solid var(--glass-border)}.po-section-title:first-child{margin-top:0}.po-items-section{margin-top:1rem}.po-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.po-items-container{max-height:300px;overflow-y:auto;overflow-x:visible;border:1px solid var(--glass-border);border-radius:8px;position:relative}.po-items-table{width:100%;border-collapse:collapse;font-size:.8125rem}.po-items-table thead{background:#08090a66;position:sticky;top:0}.po-items-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:11px;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.po-items-table td{padding:8px 10px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.po-items-table tbody tr:last-child td{border-bottom:none}.po-items-table input{width:100%;padding:8px 10px;border:1px solid var(--glass-border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.po-items-table input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.po-items-table input[type=number]{text-align:right}.po-items-table .col-no{width:40px;text-align:center}.po-items-table .col-code{width:100px}.po-items-table .col-name{min-width:120px}.po-items-table .col-spec,.po-items-table .col-qty{width:100px}.po-items-table .col-unit{width:80px}.po-items-table .col-price{width:110px}.po-items-table td:nth-child(3) input,.po-items-table td:nth-child(4) input,.po-items-table td:nth-child(5) input{font-size:.9375rem;font-weight:600;padding:.5rem .625rem;color:var(--text-primary);background:var(--panel)}.po-items-table td:nth-child(3) input:focus,.po-items-table td:nth-child(4) input:focus,.po-items-table td:nth-child(5) input:focus{background:var(--bg-secondary);border-color:var(--primary)}.po-items-table .col-amount{width:100px;text-align:right;font-family:SF Mono,Monaco,Consolas,monospace}.po-items-table .col-action{width:40px;text-align:center}.btn-remove-item{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem}.btn-remove-item:hover{color:#ef4444}.po-items-total{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-top:.5rem;padding:12px 16px;background:var(--panel-2);border-radius:8px;font-size:14px}.po-items-total .label{font-weight:500;color:var(--text-secondary)}.po-items-total .amount{font-weight:700;color:var(--text-primary);font-family:SF Mono,Monaco,Consolas,monospace}.btn-secondary{padding:10px 18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.btn-save{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save:disabled{opacity:.5;cursor:not-allowed}.supplier-search-dropdown{position:relative}.supplier-search-input-wrapper{position:relative;display:flex;align-items:center}.supplier-search-input-wrapper input{width:100%;padding:10px 36px 10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.supplier-search-input-wrapper input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.supplier-search-input-wrapper input.has-value{font-weight:500;color:var(--text-primary)}.supplier-dropdown-icon{position:absolute;right:.5rem;color:var(--text-secondary);cursor:pointer}.supplier-clear-btn{position:absolute;right:.5rem;background:none;border:none;padding:.125rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.supplier-clear-btn:hover{color:#ef4444}.supplier-dropdown-list{position:absolute;top:100%;left:0;right:0;margin:4px 0 0;padding:0;list-style:none;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;box-shadow:0 4px 12px #0003;max-height:200px;overflow-y:auto;z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.supplier-dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;transition:all .15s}.supplier-dropdown-item:hover{background:#1565c0;color:#fff}.supplier-dropdown-item:hover .supplier-code{color:#fffc}.supplier-dropdown-item.selected{background:#6366f126;color:var(--primary)}.supplier-dropdown-item .supplier-name{font-size:.875rem;font-weight:500}.supplier-dropdown-item .supplier-code{font-size:.75rem;color:var(--text-secondary);font-family:SF Mono,Monaco,Consolas,monospace}.supplier-dropdown-empty{padding:.75rem;text-align:center;color:var(--text-secondary);font-size:.8125rem}.item-search-dropdown{position:relative;width:100%}.item-search-input-wrapper{position:relative;display:flex;align-items:center}.item-search-input-wrapper input{width:100%;padding:8px 32px 8px 10px;border:1px solid var(--glass-border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.item-search-input-wrapper input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.item-search-input-wrapper input.has-value{font-weight:500;border-color:var(--primary);background:var(--primary-light)}.item-dropdown-icon{position:absolute;right:.5rem;color:var(--text-secondary);cursor:pointer}.item-clear-btn{position:absolute;right:.5rem;background:none;border:none;padding:.125rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.item-clear-btn:hover{color:#ef4444}.item-dropdown-list{position:fixed;margin:0;padding:0;list-style:none;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 8px 24px #0000004d;max-height:350px;overflow-y:auto;z-index:9999;min-width:400px;width:-moz-max-content;width:max-content;max-width:500px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.item-dropdown-item{display:flex;flex-direction:column;gap:4px;padding:12px 16px;cursor:pointer;transition:all .15s;border-bottom:1px solid var(--glass-border)}.item-dropdown-item:last-child{border-bottom:none}.item-dropdown-item:hover{background:#1565c0}.item-dropdown-item:hover .item-code,.item-dropdown-item:hover .item-name,.item-dropdown-item:hover .item-spec{color:#fff!important}.item-dropdown-item:hover .item-code{background:#fff3}.item-dropdown-item.selected{background:#6366f126}.item-dropdown-item .item-main-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.item-dropdown-item .item-code{font-size:13px;color:var(--primary);font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace;background:var(--panel-2);padding:4px 8px;border-radius:4px;flex-shrink:0;transition:all .15s}.item-dropdown-item .item-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.item-dropdown-item .item-spec{font-size:.8125rem;color:var(--text-secondary);margin-top:.125rem;padding-left:.25rem}.item-dropdown-loading,.item-dropdown-empty{padding:.75rem;text-align:center;color:var(--text-secondary);font-size:.8125rem}.selected-item-info{display:flex;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;background:var(--panel-2);border-radius:6px;font-size:12px}.selected-item-info .selected-item-code{color:var(--primary);font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}.selected-item-info .selected-item-spec{color:var(--text-secondary)}.po-items-table .col-item{min-width:200px;max-width:260px}.po-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.page-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.page-header h1{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.form-section h2{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem}.form-grid.cols-4{grid-template-columns:repeat(4,1fr)}.form-field.span-full{grid-column:1 / -1}.form-field.span-3{grid-column:span 3}.form-field{display:flex;flex-direction:column;gap:.25rem}.form-field label .required{color:#ef4444}.form-field input,.form-field select,.form-field textarea{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);box-sizing:border-box;transition:all .2s}.form-field textarea{resize:vertical;min-height:48px}.btn-add-item{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.items-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.75rem}.items-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:11px;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.items-table td{padding:8px 10px;border-bottom:1px solid var(--glass-border)}.items-table td input{width:100%;padding:8px 10px;border:1px solid var(--glass-border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.items-table td.amount{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;font-weight:500;padding-right:.5rem}.btn-remove-item{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:.25rem;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.items-table tfoot{background:var(--panel-2)}.items-table tfoot td{padding:.375rem;font-weight:600}.total-label{text-align:right;color:var(--text-secondary)}.total-amount{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;color:var(--primary);font-size:.8125rem}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-cancel{padding:10px 20px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;background:var(--primary);color:var(--on-accent);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}@media (max-width: 1024px){.form-grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.form-grid,.form-grid.cols-4{grid-template-columns:1fr}.form-field.span-2,.form-field.span-3,.form-field.span-full{grid-column:1}}.po-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.header-info h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.header-title-row{display:flex;align-items:center;gap:1rem}.header-supplier{display:flex;align-items:center;gap:.375rem;font-size:14px;color:var(--text-secondary);padding-left:1rem;border-left:1px solid var(--glass-border)}.header-supplier .supplier-name{color:var(--text-primary);font-weight:500}.header-supplier .supplier-code{color:var(--text-secondary);font-size:.75rem}.btn-status{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;border-radius:8px;background:var(--primary);color:var(--on-accent);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-status:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.btn-status.cancel{background:#ef4444}.btn-status.cancel:hover{background:#dc2626}.status-stepper{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:24px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;margin-bottom:24px;overflow-x:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.step-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;background:var(--glass-border);color:var(--text-secondary);transition:all .3s}.step-line{flex:1;min-width:40px;height:2px;background:var(--glass-border);transition:background .3s}.info-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:24px;align-items:start}.info-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.info-card h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.info-item.span-2{grid-column:span 2}.info-grid-inline{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem;padding:.5rem 0}.info-item-inline{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.info-item-inline label{font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.info-item-inline label:after{content:":"}.info-item-inline span{font-size:.875rem;color:var(--text-primary);font-weight:500}.info-card.highlight{background:linear-gradient(135deg,var(--primary) 0%,#6366f1 100%);color:#fff}.info-card.highlight h3{color:#fff;border-color:#fff3;margin-bottom:.5rem;padding-bottom:.5rem}.amount-display{text-align:center;padding:.25rem 0}.amount-label{font-size:.75rem;opacity:.9;margin-bottom:.25rem}.amount-value{font-size:1.25rem;font-weight:700;font-family:SF Mono,Monaco,Consolas,monospace}.amount-converted{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.2);font-size:.75rem}.amount-converted .exchange-rate{opacity:.8;margin-bottom:.25rem}.amount-converted .krw-amount{font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}.detail-tabs{display:flex;gap:4px;background:var(--glass-bg);border:1px solid var(--glass-border);border-bottom:none;border-radius:10px 10px 0 0;padding:8px 8px 0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tab{display:flex;align-items:center;gap:6px;padding:12px 20px;border:none;border-radius:8px 8px 0 0;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.tab-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:0 0 10px 10px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.items-table-container,.receipts-table-container{overflow-x:auto}.items-table,.receipts-table{width:100%;border-collapse:collapse;font-size:.875rem}.items-table thead,.receipts-table thead{background:#08090a66}.items-table th,.receipts-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.items-table td,.receipts-table td{padding:14px 16px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.items-table tbody tr,.receipts-table tbody tr{transition:all .15s}.items-table tbody tr:hover,.receipts-table tbody tr:hover{background:#1565c0!important}.items-table tbody tr:hover td,.receipts-table tbody tr:hover td{color:#fff!important}.items-table tbody tr:hover .status-badge,.receipts-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.items-table td.center,.receipts-table td.center,.items-table th.center,.receipts-table th.center{text-align:center}.items-table td.right,.receipts-table td.right,.items-table th.right,.receipts-table th.right{text-align:right}.items-table td.right,.receipts-table td.right{font-family:SF Mono,Monaco,Consolas,monospace}.items-table{table-layout:fixed}.items-table th:nth-child(1),.items-table td:nth-child(1){width:40px;text-align:center}.items-table th:nth-child(2),.items-table td:nth-child(2){width:110px}.items-table th:nth-child(3),.items-table td:nth-child(3){width:auto}.items-table th:nth-child(4),.items-table td:nth-child(4){width:100px}.items-table th:nth-child(5),.items-table td:nth-child(5){width:110px;text-align:right;padding-right:1rem;border-left:2px solid var(--glass-border)}.items-table th:nth-child(6),.items-table td:nth-child(6){width:100px;text-align:right;padding-right:1rem}.items-table th:nth-child(7),.items-table td:nth-child(7){width:120px;text-align:right;padding-right:1rem}.items-table th:nth-child(8),.items-table td:nth-child(8){width:90px;text-align:right;padding-right:1rem;border-left:2px solid var(--glass-border)}.items-table th:nth-child(9),.items-table td:nth-child(9){width:90px;text-align:center;border-left:2px solid var(--glass-border)}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.status-badge.small{font-size:.7rem;padding:.125rem .375rem}.history-timeline{padding:16px}.history-item{display:flex;gap:16px;padding-bottom:24px;position:relative}.history-item:not(:last-child):after{content:"";position:absolute;left:7px;top:20px;bottom:0;width:2px;background:var(--glass-border)}.history-dot{width:16px;height:16px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:2px}.history-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.history-status{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary)}.history-status .from,.history-status .arrow{color:var(--text-secondary)}.history-status .to{color:var(--primary)}.history-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--text-secondary)}.history-remarks{margin-top:8px;padding:10px;background:var(--panel-2);border-radius:6px;font-size:14px;color:var(--text-secondary)}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;font-size:inherit;font-family:inherit;text-decoration:underline}.link-button:hover{color:var(--primary-dark, #4f46e5)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;font-size:11px;font-weight:600;background:var(--primary);color:#fff}.tab-badge.alert{background:#ef4444}.iqc-section{display:flex;flex-direction:column;gap:24px}.iqc-table-container,.incidents-table-container{overflow-x:auto}.iqc-table-container h4,.incidents-table-container h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.iqc-table,.incidents-table{width:100%;border-collapse:collapse;font-size:.875rem}.iqc-table thead,.incidents-table thead{background:#08090a66}.iqc-table th,.incidents-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.iqc-table td,.incidents-table td{padding:14px 16px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.iqc-table tbody tr,.incidents-table tbody tr{transition:all .15s}.iqc-table tbody tr:hover,.incidents-table tbody tr:hover{background:#1565c0!important}.iqc-table tbody tr:hover td,.incidents-table tbody tr:hover td{color:#fff!important}.iqc-table tbody tr:hover .status-badge,.incidents-table tbody tr:hover .status-badge,.iqc-table tbody tr:hover .source-badge,.incidents-table tbody tr:hover .source-badge{background:#fff3!important;color:#fff!important}.iqc-table tbody tr:hover .link-button,.incidents-table tbody tr:hover .link-button{color:#fff!important}.source-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--glass-border);color:var(--text-secondary)}.source-badge.iqc{background:#3b82f6;color:#fff}@media (max-width: 1024px){.info-cards{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.page-header{flex-wrap:wrap}.header-actions{width:100%;margin-top:1rem}.status-stepper{padding:1rem}.step{min-width:60px}.step-label{font-size:.65rem}}.receipts-section{display:flex;flex-direction:column;gap:16px}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-sm{padding:8px 14px;font-size:13px}.btn-primary{background:var(--primary);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary)}.btn-secondary:hover{background:var(--panel-2);border-color:var(--primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--panel);border:1px solid var(--glass-border);border-radius:12px;padding:24px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content h4{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.modal-section{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;flex-direction:column;gap:6px}.form-row label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-row .required{color:#ef4444}.form-row input,.form-row select,.form-row textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--primary)}.form-row input::-moz-placeholder,.form-row textarea::-moz-placeholder{color:var(--text-secondary);opacity:.6}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--text-secondary);opacity:.6}.form-row select option{background:var(--panel);color:var(--text-primary)}.form-row select option:disabled{color:var(--text-secondary);opacity:.5}.checkbox-row label{display:flex;flex-direction:row;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-primary)}.checkbox-row input[type=checkbox]{width:16px;height:16px;padding:0;cursor:pointer}.modal-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.shipment-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.page-header{margin-bottom:1rem}.page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.status-summary-cards{display:flex!important;flex-wrap:nowrap!important;gap:8px;margin-bottom:1rem;overflow-x:auto}.status-summary-cards>.summary-card{flex:0 0 calc((100% - 48px) / 7)!important;min-width:80px;max-width:140px}.summary-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:14px 8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:4px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-icon{color:var(--status-color, var(--text-secondary))}.summary-icon svg{width:12px;height:12px}.summary-label{font-size:.6rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.summary-count{font-size:.875rem;font-weight:700;color:var(--text-primary)}.search-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.search-field{display:flex;flex-direction:column;gap:.25rem}.search-field label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.search-field input,.search-field select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.search-field input:focus,.search-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.date-range{display:flex;align-items:center;gap:.5rem}.search-actions{display:flex;gap:.5rem}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.result-info{font-size:.875rem;color:var(--text-secondary)}.result-info strong{color:var(--text-primary);font-weight:600}.toolbar-actions{display:flex;gap:.5rem}.shipment-table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.shipment-table{width:100%;border-collapse:collapse;font-size:14px}.shipment-table thead{background:#08090a66}.shipment-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.shipment-table td{padding:14px 16px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.shipment-table tbody tr{cursor:pointer;transition:all .15s}.shipment-table tbody tr:hover{background:#1565c0!important}.shipment-table tbody tr:hover td,.shipment-table tbody tr:hover .shipment-no{color:#fff!important}.shipment-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.shipment-table tbody tr:last-child td{border-bottom:none}.shipment-no{font-weight:600;color:var(--primary)}.type-icon{color:var(--text-secondary)}.type-icon.sea{color:#3b82f6}.type-icon.air{color:#8b5cf6}.type-icon.land{color:#22c55e}.actual-date{color:#22c55e;font-weight:500}.center{text-align:center}.arrow-cell{color:var(--text-secondary);width:32px}.loading-cell,.empty-cell{text-align:center;padding:3rem 1rem!important;color:var(--text-secondary)}.pagination button{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);cursor:pointer;font-size:14px;transition:all .2s}.pagination button:not(:disabled):hover{border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.shipment-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.loading{text-align:center;padding:3rem;color:var(--text-secondary)}.page-header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;margin-bottom:1rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.form-section h2{display:flex;align-items:center;gap:.5rem;font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--glass-border)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--glass-border)}.section-header h2{margin:0;padding:0;border:none}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field.span-2{grid-column:span 2}.form-field.span-full{grid-column:span 4}.form-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.form-field textarea{resize:vertical;min-height:80px}.po-links{margin-top:1rem}.po-input-row{display:flex;gap:.5rem}.po-input-row input{flex:1;max-width:200px}.btn-add-po{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:8px;background:var(--panel-2);color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-add-po:hover{border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.po-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.po-tag{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--primary-light);border:1px solid var(--primary);border-radius:.25rem;font-size:.75rem;color:var(--primary)}.po-tag button{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:1rem;line-height:1}.po-tag button:hover{color:var(--primary-dark)}.btn-add-item{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-add-item:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.items-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:.875rem}.items-table th{padding:14px 12px;text-align:left;font-weight:600;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.items-table td{padding:10px 12px;border-bottom:1px solid var(--glass-border)}.items-table td input{width:100%;padding:8px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.items-table td input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.btn-remove-item{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:.25rem;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-remove-item:hover{background:#fee2e2;color:#ef4444}.form-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--glass-border)}.btn-cancel{padding:12px 32px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-cancel:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.btn-save{display:flex;align-items:center;gap:.5rem;padding:12px 32px;border:none;border-radius:8px;background:var(--primary);color:var(--on-accent);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}@media (max-width: 1024px){.form-grid{grid-template-columns:repeat(2,1fr)}.form-field.span-full{grid-column:span 2}}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}.form-field.span-2,.form-field.span-full{grid-column:span 1}}.shipment-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.loading,.error{text-align:center;padding:3rem;color:var(--text-secondary)}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.header-info{flex:1;display:flex;align-items:center;gap:1rem}.header-title{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.header-title h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.status-badge.large{padding:.375rem .75rem;font-size:.875rem}.btn-edit{display:flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.status-stepper{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;margin-bottom:1.5rem;overflow-x:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:80px}.step-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;background:var(--border);color:var(--text-secondary);transition:all .3s}.step.active .step-icon{color:var(--on-accent)}.step.current .step-icon{box-shadow:0 0 0 4px #3b82f633}.step-label{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.step.active .step-label{color:var(--text-primary);font-weight:500}.step-line{flex:1;min-width:40px;height:2px;background:var(--border);transition:background .3s}.step-line.active{background:var(--primary)}.info-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1.5rem}.info-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:1rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.info-card h3{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--glass-border)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{font-size:.75rem;color:var(--text-secondary)}.info-item span{font-size:.875rem;color:var(--text-primary);font-weight:500}.route-info{display:flex;align-items:center;gap:1rem;padding:.5rem 0}.route-port{flex:1;text-align:center}.port-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.port-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:.25rem 0}.port-dates{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem .5rem;font-size:.75rem}.date-label{color:var(--text-secondary)}.date-value{color:var(--text-primary);font-weight:500}.date-value.actual{color:#22c55e}.route-arrow{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.arrow-line{width:30px;height:2px;background:var(--border)}.cargo-stats{display:flex;justify-content:space-around;padding:.5rem 0}.cargo-stat{text-align:center}.stat-value{font-size:1.25rem;font-weight:700;color:var(--primary);font-family:SF Mono,Monaco,Consolas,monospace}.stat-label{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.linked-pos{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;margin-bottom:1.5rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.linked-pos .label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.po-link{padding:.25rem .5rem;background:var(--primary-light);border:1px solid var(--primary);border-radius:.25rem;font-size:.75rem;font-weight:500;color:var(--primary);cursor:pointer;transition:all .2s}.po-link:hover{background:var(--primary);color:var(--on-accent)}.detail-tabs{display:flex;gap:.25rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-bottom:none;border-radius:10px 10px 0 0;padding:.5rem .5rem 0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tab{display:flex;align-items:center;gap:.375rem;padding:.75rem 1.5rem;border:none;border-radius:.375rem .375rem 0 0;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.tab:hover{color:var(--text-primary);background:var(--panel-2)}.tab.active{color:var(--primary);background:var(--panel-2)}.tab-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:0 0 10px 10px;padding:1rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tracking-content{padding:.5rem}.tracking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tracking-header h4{margin:0;font-size:.875rem;color:var(--text-primary)}.btn-add-event{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--primary);border-radius:.375rem;background:transparent;color:var(--primary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-event:hover{background:var(--primary);color:var(--on-accent)}.tracking-timeline{padding:1rem 0}.timeline-item{display:flex;gap:1rem;padding-bottom:1.5rem;position:relative}.timeline-item:not(:last-child):after{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--border)}.timeline-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary);flex-shrink:0}.timeline-content{flex:1;padding-top:.25rem}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.event-type{font-weight:600;color:var(--text-primary)}.event-datetime{font-size:.75rem;color:var(--text-secondary)}.event-location{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.event-description{font-size:.875rem;color:var(--text-secondary);padding:.5rem;background:var(--bg-secondary);border-radius:.25rem}.items-table-container{overflow-x:auto}.items-table{width:100%;border-collapse:collapse;font-size:.875rem}.items-table thead{background:#08090a66}.items-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.items-table td{padding:14px 16px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.items-table tbody tr{cursor:pointer;transition:all .15s}.items-table td.center{text-align:center}.items-table td.right{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:.5rem}.document-card{display:flex;gap:.75rem;padding:1rem;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s}.document-card:hover{border-color:var(--primary)}.doc-icon{width:40px;height:40px;border-radius:.375rem;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary)}.doc-type{font-weight:600;font-size:.875rem;color:var(--text-primary)}.doc-no{font-size:.75rem;color:var(--text-secondary);margin-top:.125rem}.doc-date{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;color:var(--on-accent)}.empty-cell{text-align:center;padding:2rem!important;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:1.5rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.modal-content h3{margin:0 0 1.5rem;font-size:1.125rem;color:var(--text-primary)}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form .form-field{display:flex;flex-direction:column;gap:.375rem}.modal-form .form-row{display:flex;gap:1rem}.modal-form .form-row .form-field{flex:1}.modal-form label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.modal-form input,.modal-form select,.modal-form textarea{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.modal-form textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.modal-actions .btn-cancel{padding:10px 18px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.modal-actions .btn-cancel:hover{border-color:var(--primary);color:var(--primary)}.modal-actions .btn-save{padding:10px 18px;border:none;border-radius:8px;background:var(--primary);color:var(--on-accent);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-actions .btn-save:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}@media (max-width: 1024px){.info-cards{grid-template-columns:1fr}}@media (max-width: 768px){.page-header{flex-wrap:wrap}.header-actions{width:100%;margin-top:1rem}.status-stepper{padding:1rem}.step{min-width:60px}.step-label{font-size:.65rem}.route-info{flex-direction:column;gap:1.5rem}.route-arrow{transform:rotate(90deg)}}.customs-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.search-field select,.search-field input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);min-width:140px;transition:all .2s}.search-field.keyword{flex:1;min-width:200px}.date-range{display:flex;align-items:center;gap:8px}.date-range span{color:var(--text-secondary)}.date-range input{width:140px}.customs-table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.customs-table{width:100%;border-collapse:collapse}.customs-table th,.customs-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.customs-table th{background:#08090a66;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.customs-table tbody tr{cursor:pointer;transition:all .15s}.customs-table tbody tr:hover{background:#1565c0!important}.customs-table tbody tr:hover td,.customs-table tbody tr:hover td.customs-no{color:#fff!important}.customs-table tbody tr:hover td .type-badge,.customs-table tbody tr:hover td .status-badge,.customs-table tbody tr:hover td .inspection-badge{background:#fff3!important;color:#fff!important}.customs-table tbody tr:last-child td{border-bottom:none}.customs-table td{font-size:14px;color:var(--text-primary)}.customs-table td.customs-no{font-weight:500;color:var(--primary)}.customs-table td.amount{text-align:right;font-family:Roboto Mono,monospace}.customs-table td.center{text-align:center}.customs-table td.arrow-cell{width:40px;text-align:center;color:var(--text-tertiary)}.type-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:500;border-radius:6px;background:var(--panel-2);color:var(--text-primary)}.type-badge.import{background:#3b82f633;color:#3b82f6}.type-badge.export{background:#22c55e33;color:#22c55e}.type-badge.transit{background:#eab30833;color:#ca8a04}.inspection-badge{display:inline-block;padding:4px 8px;font-size:11px;font-weight:500;border-radius:4px;background:#fef3c7;color:#92400e}.customs-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.checkbox-field{flex-direction:row;align-items:center}.checkbox-field label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-field input[type=checkbox]{width:18px;height:18px;cursor:pointer}.search-input{display:flex;gap:8px}.search-input input{flex:1}.search-input button{display:flex;align-items:center;justify-content:center;width:40px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.search-input button:hover{border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.search-item{padding:10px 12px;cursor:pointer;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.search-item:last-child{border-bottom:none}.search-item:hover{background:var(--panel-2)}.btn-add-item{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:8px;font-size:14px;cursor:pointer;color:var(--text-primary);transition:all .2s}.btn-add-item:hover{border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.items-table-container{overflow-x:auto;margin-bottom:20px}.items-table{width:100%;border-collapse:collapse;min-width:1200px}.items-table th,.items-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--glass-border)}.items-table td{vertical-align:middle}.items-table input,.items-table select{width:100%;padding:8px 10px;border:1px solid var(--glass-border);border-radius:6px;font-size:13px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.items-table input:focus,.items-table select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.items-table input[type=number]{text-align:right}.items-table input:-moz-read-only{background:var(--glass-bg);color:var(--text-secondary)}.items-table input:read-only{background:var(--glass-bg);color:var(--text-secondary)}.items-table .empty-cell{text-align:center;padding:40px 8px;color:var(--text-secondary)}.btn-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary);transition:all .2s}.totals-section{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--glass-border)}.total-row{display:flex;align-items:center;gap:16px;font-size:14px}.total-row span{color:var(--text-secondary);min-width:80px;text-align:right}.total-row strong{color:var(--text-primary);min-width:120px;text-align:right}.total-row.total{margin-top:8px;padding-top:8px;border-top:1px solid var(--glass-border);font-size:16px}.total-row.total strong{color:var(--primary)}.customs-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.btn-status,.btn-reject,.btn-edit,.btn-delete{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-status{background:#10b981;color:var(--on-accent)}.btn-status:hover{background:#059669;transform:translateY(-1px)}.btn-reject{background:#ef4444;color:var(--on-accent)}.btn-reject:hover{background:#dc2626;transform:translateY(-1px)}.status-badge.small{padding:2px 6px;font-size:11px}.inspection-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#fef3c7;color:#92400e;border-radius:4px;font-size:13px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.amount-summary{display:flex;gap:32px;padding:16px 20px;background:var(--panel-2);border-radius:8px;margin-bottom:20px}.amount-item{display:flex;flex-direction:column;gap:4px}.amount-item label{font-size:12px;color:var(--text-secondary)}.amount-item .amount{font-size:16px;font-weight:600;color:var(--text-primary);font-family:Roboto Mono,monospace}.amount-item.total .amount{color:var(--primary);font-size:18px}.remarks{padding-top:16px;border-top:1px solid var(--glass-border)}.remarks label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.remarks p{font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.tabs{display:flex;gap:4px;background:var(--glass-bg);border:1px solid var(--glass-border);border-bottom:none;border-radius:12px 12px 0 0;padding:8px 8px 0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-radius:8px 8px 0 0;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab:hover{background:var(--panel-2);color:var(--text-primary)}.tab.active{background:var(--panel-2);color:var(--primary)}.tab-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:0 0 12px 12px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.items-section{overflow-x:auto}.items-table{width:100%;border-collapse:collapse;min-width:1000px}.documents-toolbar{margin-bottom:16px}.upload-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.upload-btn:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.documents-list{display:flex;flex-direction:column;gap:8px}.document-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--panel-2);border-radius:8px}.doc-icon{color:var(--primary)}.doc-info{flex:1}.doc-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.doc-meta{display:flex;gap:12px;font-size:12px;color:var(--text-secondary)}.doc-type{padding:2px 6px;background:var(--glass-bg);border-radius:4px}.doc-actions{display:flex;gap:4px}.doc-actions button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.doc-actions button:hover{background:var(--glass-bg);color:var(--primary)}.history-timeline{position:relative;padding-left:24px}.history-timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--glass-border)}.history-item{position:relative;padding-bottom:24px}.history-marker{position:absolute;left:-20px;top:6px;width:12px;height:12px;background:var(--primary);border:2px solid var(--glass-bg);border-radius:50%}.history-content{background:var(--panel-2);border-radius:8px;padding:12px 16px}.history-action{font-size:14px;font-weight:500;color:var(--text-primary)}.history-date{font-size:12px;color:var(--text-secondary)}.history-status{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;color:var(--text-secondary)}.history-remarks{font-size:13px;color:var(--text-primary);margin-bottom:8px;line-height:1.5}.history-user{font-size:12px;color:var(--text-tertiary)}.empty-message{text-align:center;padding:40px;color:var(--text-secondary);font-size:14px}.container-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.status-summary-cards{display:flex;gap:12px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.summary-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-card:hover{border-color:var(--primary);background:var(--panel-2);transform:translateY(-2px)}.summary-card.active{border-color:var(--primary);background:#6366f126;box-shadow:0 4px 12px #6366f133}.summary-card .summary-icon{color:var(--status-color, var(--text-secondary));margin-bottom:4px}.summary-card .summary-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.summary-card .summary-count{font-size:20px;font-weight:600;color:var(--text-primary)}.search-bar{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.search-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.search-field{display:flex;flex-direction:column;gap:4px}.search-field label{font-size:12px;color:var(--text-secondary);font-weight:500}.search-field select,.search-field input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);min-width:160px;transition:all .2s}.search-field select:focus,.search-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.search-field.keyword{flex:1;min-width:250px}.search-field.keyword input{width:100%}.btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-search:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.btn-refresh{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-refresh:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.result-info{font-size:14px;color:var(--text-secondary)}.result-info strong{color:var(--text-primary)}.toolbar-actions{display:flex;gap:8px}.btn-primary{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.container-table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.container-table{width:100%;border-collapse:collapse}.container-table th,.container-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.container-table th{background:#08090a66;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.container-table tbody tr{cursor:pointer;transition:background .15s}.container-table tbody tr:hover{background:#1565c0!important}.container-table tbody tr:hover td{color:#fff!important}.container-table tbody tr:hover td .type-badge,.container-table tbody tr:hover td .status-badge{background:#fff3!important;color:#fff!important}.container-table tbody tr:hover td.container-no{color:#fff!important}.container-table tbody tr:last-child td{border-bottom:none}.container-table td{font-size:14px;color:var(--text-primary)}.container-table td.container-no{font-weight:500;color:var(--primary)}.container-table td.center{text-align:center}.container-table td.right{text-align:right;font-family:Roboto Mono,monospace}.container-table td.arrow-cell{width:40px;text-align:center;color:var(--text-tertiary)}.type-badge{display:inline-block;padding:4px 8px;font-size:12px;font-weight:500;border-radius:4px;background:var(--bg-secondary);color:var(--text-primary)}.type-badge.dry{background:#e0e7ff;color:#4338ca}.type-badge.reefer{background:#d1fae5;color:#065f46}.type-badge.open_top{background:#fef3c7;color:#92400e}.type-badge.flat_rack{background:#fee2e2;color:#991b1b}.type-badge.tank{background:#e0f2fe;color:#075985}.status-badge{display:inline-block;padding:4px 8px;font-size:12px;font-weight:500;border-radius:4px;color:#fff}.loading-cell,.empty-cell{text-align:center;padding:40px 16px!important;color:var(--text-secondary)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.pagination button{padding:8px 14px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:6px;font-size:14px;cursor:pointer;color:var(--text-primary);transition:all .2s}.pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.pagination button.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.pagination span{font-size:14px;color:var(--text-secondary)}.container-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.page-header h1{font-size:20px;font-weight:600;color:var(--text-primary);flex:1}.btn-save{display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;margin-bottom:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.form-section h2{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1200px){.form-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.full-width{grid-column:1 / -1}.form-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-field input,.form-field select,.form-field textarea{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.form-field input:-moz-read-only{background:var(--glass-bg);color:var(--text-secondary)}.form-field input:read-only{background:var(--glass-bg);color:var(--text-secondary)}.form-field textarea{resize:vertical}.form-field small{font-size:11px;color:var(--text-tertiary)}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.container-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-back:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.header-title{display:flex;align-items:center;gap:12px;flex:1}.header-title h1{font-size:20px;font-weight:600;color:var(--text-primary)}.btn-action,.btn-edit,.btn-delete{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-action.vanning{background:#10b981;color:var(--on-accent)}.btn-action.vanning:hover{background:#059669;transform:translateY(-1px)}.btn-action.devanning{background:#3b82f6;color:var(--on-accent)}.btn-action.devanning:hover{background:#2563eb;transform:translateY(-1px)}.btn-edit{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary)}.btn-edit:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.btn-delete{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary)}.btn-delete:hover{border-color:#ef4444;color:#ef4444}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;border-radius:4px;color:#fff}.detail-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:24px;margin-bottom:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.detail-section h2{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.section-header h2{margin-bottom:0;padding-bottom:0;border-bottom:none}.btn-add{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-add:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media (max-width: 1200px){.info-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.info-grid{grid-template-columns:repeat(2,1fr)}}.info-item label{font-size:12px;color:var(--text-secondary)}.info-item span{font-size:14px;color:var(--text-primary);font-weight:500}.capacity-summary{display:flex;gap:32px;padding:16px 20px;background:var(--panel-2);border-radius:8px;margin-bottom:20px;flex-wrap:wrap}.capacity-item{display:flex;flex-direction:column;gap:4px}.capacity-item label{font-size:12px;color:var(--text-secondary)}.capacity-item span{font-size:16px;font-weight:600;color:var(--text-primary);font-family:Roboto Mono,monospace}.capacity-item span.highlight{color:var(--primary)}.capacity-gauge{display:flex;align-items:center;gap:12px}.capacity-gauge label{font-size:13px;color:var(--text-secondary);min-width:80px}.gauge-bar{flex:1;height:12px;background:var(--panel-2);border-radius:6px;overflow:hidden}.gauge-fill{height:100%;border-radius:6px;transition:width .3s}.capacity-gauge span{font-size:14px;font-weight:600;color:var(--text-primary);min-width:50px;text-align:right}.add-item-form{padding:16px;background:var(--panel-2);border-radius:8px;margin-bottom:16px}.form-row{display:flex;gap:8px;flex-wrap:wrap}.add-item-form input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--glass-bg);color:var(--text-primary);flex:1;min-width:100px;transition:all .2s}.add-item-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.btn-confirm{display:flex;align-items:center;justify-content:center;padding:10px 14px;background:#10b981;color:var(--on-accent);border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-confirm:hover{background:#059669;transform:translateY(-1px)}.items-table{width:100%;border-collapse:collapse}.items-table th,.items-table td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--glass-border)}.items-table th{background:#08090a66;font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.items-table td{font-size:14px;color:var(--text-primary)}.items-table tbody tr{transition:all .15s}.items-table tbody tr:hover{background:#1565c0!important}.items-table tbody tr:hover td{color:#fff!important}.items-table td.right{text-align:right;font-family:Roboto Mono,monospace}.items-table .empty-cell{text-align:center;padding:40px;color:var(--text-secondary)}.btn-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary);transition:all .2s}.btn-remove:hover{background:#fee2e2;color:#dc2626}.remarks-text{font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.loading,.error{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.error{color:#ef4444}.po-requirement-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.status-cards{display:flex;gap:16px;margin-bottom:24px}.status-card{flex:1;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.status-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--status-color, var(--text-secondary))}.status-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.status-card.active{border-color:var(--primary);background:var(--bg-secondary)}.status-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:4px}.status-count{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.filter-bar{display:flex;gap:16px;margin-bottom:16px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary)}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);min-width:150px}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary)}.filter-group.search{flex:1}.filter-group.search input{width:100%}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.data-table th{background:var(--bg-secondary);font-weight:600;font-size:.8125rem;color:var(--text-secondary);white-space:nowrap}.data-table td{font-size:.875rem;color:var(--text-primary)}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:var(--bg-secondary)}.plan-no{font-family:monospace;font-weight:500;color:var(--primary)}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;color:#fff}.shortage-count{color:var(--danger);font-weight:600}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:16px}.page-info{padding:0 16px;font-size:.875rem;color:var(--text-secondary)}@media (max-width: 1024px){.status-cards{flex-wrap:wrap}.status-card{flex:1 1 calc(33.333% - 12px);min-width:120px}.filter-bar{flex-wrap:wrap}.table-container{overflow-x:auto}}@media (max-width: 768px){.po-requirement-list-page{padding:16px}.page-header{flex-direction:column;gap:16px;align-items:flex-start}.status-card{flex:1 1 calc(50% - 8px)}}.po-requirement-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.loading,.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:16px;color:var(--text-secondary)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-title{display:flex;align-items:flex-start;gap:12px}.page-title .plan-no{font-size:.875rem;color:var(--text-secondary);font-family:monospace}.page-actions{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(.9)}.btn-sm{padding:4px 12px;font-size:.8125rem}.summary-cards{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.summary-card{flex:1;min-width:120px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.summary-card.highlight{border-color:var(--danger);background:#ef44440d}.summary-label{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.summary-value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.summary-value.status{font-size:1rem}.summary-value.danger{color:var(--danger)}.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border)}.tab{display:flex;align-items:center;gap:6px;padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab:hover{color:var(--text-primary)}.tab-content{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.item-filter-bar{display:flex;gap:12px;align-items:center;margin-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-primary);cursor:pointer}.item-filter-bar select,.item-filter-bar input[type=text]{padding:6px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary)}.item-filter-bar input[type=text]{flex:1;max-width:300px}.selection-info{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--primary-bg);border-radius:6px;margin-bottom:16px;font-size:.875rem;color:var(--primary)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.data-table th{background:var(--bg-secondary);font-weight:600;font-size:.75rem;color:var(--text-secondary)}.data-table td{font-size:.8125rem;color:var(--text-primary)}.data-table tbody tr:last-child td{border-bottom:none}.items-table .shortage-row{background:#ef44440d}.col-check{width:40px;text-align:center!important}.item-code{font-family:monospace;font-weight:500}.text-right{text-align:right!important}.text-center{text-align:center!important}.font-bold{font-weight:600}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:500}.badge-danger{background:var(--danger);color:#fff}.badge-success{background:var(--success);color:#fff}.priority-badge{font-size:.75rem;font-weight:600}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:16px}.page-info{padding:0 12px;font-size:.875rem;color:var(--text-secondary)}.empty-message{text-align:center;padding:32px;color:var(--text-secondary)}.history-item{display:flex;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:8px}.history-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--panel);border-radius:50%;color:var(--text-secondary);flex-shrink:0}.history-content{flex:1}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.history-status{font-weight:600;color:var(--text-primary)}.history-time{font-size:.75rem;color:var(--text-secondary)}.history-remarks{font-size:.875rem;color:var(--text-primary);margin-bottom:4px}.history-user{font-size:.75rem;color:var(--text-secondary)}.spin{animation:spin 1s linear infinite}@media (max-width: 1024px){.summary-cards{flex-wrap:wrap}.summary-card{flex:1 1 calc(33.333% - 12px)}}@media (max-width: 768px){.po-requirement-detail-page{padding:16px}.page-header{flex-direction:column;gap:16px}.page-actions{width:100%;flex-wrap:wrap}.page-actions .btn{flex:1}.summary-card{flex:1 1 calc(50% - 8px)}.item-filter-bar{flex-wrap:wrap}}.po-requirement-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{display:flex;align-items:center;gap:12px}.btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text-primary);cursor:pointer;transition:all .2s}.btn-back:hover{background:var(--bg-secondary);border-color:var(--primary)}.page-title h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.form-container{max-width:800px}.error-message{padding:12px 16px;background:var(--danger-bg);color:var(--danger);border-radius:6px;margin-bottom:16px}.form-section{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:16px}.form-section h2{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--border)}.form-row{display:flex;gap:16px;margin-bottom:16px}.form-row:last-child{margin-bottom:0}.form-group{flex:1;display:flex;flex-direction:column;gap:4px}.form-group.full-width{flex:1 1 100%}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group .required{color:var(--danger)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--bg-secondary);cursor:not-allowed}.form-group .hint{font-size:.75rem;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}@media (max-width: 768px){.po-requirement-form-page{padding:16px}.form-row{flex-direction:column}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%;justify-content:center}}.user-list-page{padding:16px;height:100%}.user-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.user-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.user-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.user-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.user-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.user-list-page .btn-primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.user-list-page .btn-primary:hover:not(:disabled){background:var(--primary-hover)}.user-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.user-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.user-list-page .btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.user-list-page .btn-ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.user-list-page .btn-icon{padding:6px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px}.user-list-page .btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.user-list-page .btn-icon.btn-danger:hover{background:#dc35451a;color:var(--error)}.user-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.user-list-page .input:focus{outline:none;border-color:var(--primary)}.user-list-page .input::-moz-placeholder{color:var(--text-secondary)}.user-list-page .input::placeholder{color:var(--text-secondary)}.user-list-page thead{position:sticky;top:0;z-index:1}.user-list-page th{font-weight:600;color:var(--text-secondary);text-transform:none;letter-spacing:0}.user-list-page .animate-spin{animation:spin 1s linear infinite}.user-list-page .search-area{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.user-list-page .toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.user-list-page .toolbar-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.user-list-page .toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.user-list-page .pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.user-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.user-list-page .table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.user-list-page table{width:100%;min-width:800px;border-collapse:collapse;font-size:13px}@media (max-width: 1200px){.user-list-page .search-area{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.user-list-page .toolbar-left{font-size:12px;gap:12px}.user-list-page .btn{padding:6px 12px;font-size:12px}}@media (max-width: 768px){.user-list-page{padding:8px}.user-list-page .search-area{grid-template-columns:1fr}.user-list-page .toolbar{flex-direction:column;align-items:stretch}.user-list-page .toolbar-left,.user-list-page .toolbar-right{justify-content:center}.user-list-page .pagination{flex-direction:column}.user-list-page .pagination-buttons{flex-wrap:wrap;justify-content:center}.user-list-page table{min-width:600px;font-size:12px}.user-list-page th,.user-list-page td{padding:8px 6px!important}}@media (max-width: 480px){.user-list-page{padding:4px}.user-list-page .btn{padding:6px 10px;font-size:11px}.user-list-page .input{padding:6px 10px;font-size:12px}.user-list-page table{min-width:500px;font-size:11px}}@media (max-height: 800px){.user-list-page .table-container{max-height:calc(100vh - 320px)}}@media (max-height: 600px){.user-list-page .table-container{max-height:calc(100vh - 280px)}.user-list-page .search-area{gap:8px}.user-list-page .toolbar,.user-list-page .pagination{padding:8px 12px}}@media (max-height: 500px){.user-list-page .table-container{max-height:calc(100vh - 240px)}.user-list-page th,.user-list-page td{padding:6px 8px!important}}.user-form-page{max-width:1200px;margin:0 auto;padding:20px}.user-form-page .page-header{margin-bottom:30px}.user-form-page .page-header h1{font-size:28px;font-weight:600;color:#333;margin:0}.user-form-page .page-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.user-form-page .form-container{max-width:600px;margin:0 auto;padding:30px}.user-form-page .error-message{background-color:#fee;border:1px solid #fcc;border-radius:4px;padding:12px 16px;margin-bottom:20px}.user-form-page .error-message p{color:#c33;margin:0;font-size:14px}.user-form-page .user-form{display:flex;flex-direction:column;gap:20px}.user-form-page .form-group{display:flex;flex-direction:column;gap:6px}.user-form-page .form-group label{font-weight:500;font-size:14px;color:#333}.user-form-page .form-group .required{color:#dc3545}.user-form-page .form-group input{padding:10px 12px;font-size:14px;border:1px solid #ddd;border-radius:4px;transition:border-color .2s}.user-form-page .form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.user-form-page .form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.user-form-page .form-hint{font-size:12px;color:#666;margin-top:-2px}.user-form-page .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:10px;padding-top:20px;border-top:1px solid #eee}.user-form-page .btn{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.user-form-page .btn:disabled{opacity:.6;cursor:not-allowed}.user-form-page .btn-primary{background-color:#007bff;color:#fff}.user-form-page .btn-primary:hover:not(:disabled){background-color:#0056b3}.user-form-page .btn-cancel{background-color:#6c757d;color:#fff}.user-form-page .btn-cancel:hover:not(:disabled){background-color:#5a6268}.user-form-page .input-disabled{background-color:#f5f5f5;cursor:not-allowed;color:#666}.user-form-page .user-info{margin-top:8px;font-size:14px;color:#666}.user-form-page .user-info strong{color:#333}.user-form-page .loading-message{text-align:center;padding:40px;color:#666;font-size:16px}.user-form-page .user-metadata{background-color:#f8f9fa;border-radius:4px;padding:16px;margin-top:10px;display:flex;flex-direction:column;gap:10px}.user-form-page .metadata-item{display:flex;align-items:center;gap:8px;font-size:14px}.user-form-page .metadata-label{font-weight:500;color:#666;min-width:70px}.user-form-page .metadata-value{color:#333}.user-form-page .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.user-form-page .status-badge.active{background-color:#d4edda;color:#155724}.user-form-page .status-badge.inactive{background-color:#f8d7da;color:#721c24}.user-form-page .role-selection{display:flex;flex-direction:column;gap:12px;padding:16px;background-color:#f8f9fa;border-radius:4px;border:1px solid #dee2e6}.user-form-page .role-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.user-form-page .role-label{font-weight:500;color:#666;font-size:14px}.user-form-page .role-badges{display:flex;gap:8px;flex-wrap:wrap}.user-form-page .role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.user-form-page .role-badge.admin{background-color:#dc3545;color:#fff}.user-form-page .role-badge.manager{background-color:#ffc107;color:#333}.user-form-page .role-badge.user{background-color:#28a745;color:#fff}.user-form-page .role-buttons{display:flex;gap:8px;flex-wrap:wrap}.user-form-page .role-btn{padding:8px 16px;font-size:13px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.user-form-page .role-btn:disabled{opacity:.5;cursor:not-allowed}.user-form-page .role-btn.admin{background-color:#dc3545;color:#fff}.user-form-page .role-btn.admin:hover:not(:disabled){background-color:#c82333}.user-form-page .role-btn.manager{background-color:#ffc107;color:#333}.user-form-page .role-btn.manager:hover:not(:disabled){background-color:#e0a800}.user-form-page .role-btn.user{background-color:#28a745;color:#fff}.user-form-page .role-btn.user:hover:not(:disabled){background-color:#218838}@media (max-width: 768px){.user-form-page .form-container{padding:20px}.user-form-page .page-header h1{font-size:24px}.user-form-page .form-actions{flex-direction:column-reverse}.user-form-page .form-actions .btn{width:100%}.user-form-page .user-metadata{gap:8px}.user-form-page .metadata-item{flex-direction:column;align-items:flex-start;gap:4px}.user-form-page .metadata-label{min-width:auto}}.code-list-page{padding:16px;height:100%;display:flex;flex-direction:column;overflow:hidden}.code-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.code-list-page .header-left{display:flex;align-items:center;gap:12px}.code-list-page .header-icon{color:var(--primary)}.code-list-page .header-left h2{margin:0;font-size:18px;font-weight:600}.code-list-page .header-left p{margin:0;font-size:12px;color:var(--text-secondary)}.code-list-page .header-right{display:flex;gap:8px}.code-list-page .error-message{padding:10px 16px;margin-bottom:12px;background:#dc35451a;color:var(--error);border-radius:6px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.code-list-page .error-message button{background:none;border:none;cursor:pointer;color:var(--error)}.code-list-page .search-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:16px}.code-list-page .search-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.code-list-page .search-field{display:flex;flex-direction:column;gap:4px}.code-list-page .search-field label{font-size:11px;font-weight:500;color:var(--text-secondary)}.code-list-page .search-field .input{min-width:150px}.code-list-page .search-field select.input{min-width:200px}.code-list-page .checkbox-field{justify-content:flex-end}.code-list-page .checkbox-label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;padding:6px 0}.code-list-page .checkbox-label input[type=checkbox]{width:14px;height:14px;cursor:pointer}.code-list-page .search-actions{margin-left:auto}.code-list-page .code-section{flex:1;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden}.code-list-page .section-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.code-list-page .section-title{font-size:13px;font-weight:600}.code-list-page .section-count{font-size:12px;color:var(--text-secondary)}.code-list-page .table-container{flex:1;overflow:auto}.code-list-page .code-table{width:100%;border-collapse:collapse;font-size:12px}.code-list-page .code-table thead{position:sticky;top:0;z-index:10}.code-list-page .code-table th{padding:8px 10px;text-align:left;background:var(--bg-secondary);border-bottom:2px solid var(--border);font-weight:600;font-size:11px;white-space:nowrap}.code-list-page .code-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.code-list-page .code-table tbody tr:hover{background:var(--bg-secondary)}.code-list-page .code-table .adding-row{background:#3b82f60d}.code-list-page .code-table .adding-row:hover{background:#3b82f614}.code-list-page .text-mono{font-family:monospace;font-size:11px}.code-list-page .text-bold{font-weight:600}.code-list-page .text-muted{color:var(--text-secondary)}.code-list-page .td-center{text-align:center}.code-list-page .btn-toggle{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center}.code-list-page .toggle-on{color:var(--success)}.code-list-page .toggle-off{color:var(--text-secondary)}.code-list-page .icon-success{color:var(--success)}.code-list-page .icon-error{color:var(--error)}.code-list-page .action-buttons{display:flex;gap:4px;justify-content:center}.code-list-page .empty-message{padding:40px;text-align:center;color:var(--text-secondary)}.code-list-page .spin{animation:spin 1s linear infinite}.code-list-page .code-table .input{width:100%;padding:4px 8px;font-size:12px}.code-list-page .code-table td .input{min-width:0}@media (max-width: 1024px){.code-list-page .search-row{gap:12px}.code-list-page .search-field .input{min-width:120px}}@media (max-width: 768px){.code-list-page{padding:12px}.code-list-page .page-header{flex-direction:column;gap:12px;align-items:flex-start}.code-list-page .header-right{width:100%;justify-content:flex-end}.code-list-page .search-row{flex-direction:column;align-items:stretch;gap:10px}.code-list-page .search-field{width:100%}.code-list-page .search-field .input,.code-list-page .search-field select.input{min-width:auto;width:100%}.code-list-page .search-actions{margin-left:0}}.menu-management-page{padding:20px;background:var(--bg-secondary);height:100%;overflow-y:auto;box-sizing:border-box}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.header-title h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.header-title svg{color:#3b82f6}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#2563eb}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--panel);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border)}.tab-bar{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:8px}.tab-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:6px 6px 0 0;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab-btn:hover{color:var(--text-primary);background:var(--panel-2)}.tab-btn.active{color:#3b82f6;background:#eff6ff}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}.search-box{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:6px;flex:1;max-width:300px}.search-box svg{color:var(--text-tertiary)}.search-box input{border:none;outline:none;flex:1;font-size:13px;background:transparent;color:var(--text-primary)}.toolbar-actions{display:flex;gap:8px;align-items:center}.toolbar-actions button{padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:4px;font-size:12px;cursor:pointer;color:var(--text-primary)}.toolbar-actions button:hover{background:var(--bg-secondary)}.toolbar-actions select{padding:6px 12px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--panel);color:var(--text-primary)}.menu-tree-container{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.menu-tree-header{display:flex;align-items:center;padding:10px 12px;background:var(--panel-2);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.col-grip,.col-expand{width:24px}.col-icon{width:40px;text-align:center}.col-content{flex:1}.col-status{width:50px;text-align:center}.col-actions{width:100px;text-align:center}.col-permissions{width:280px}.menu-tree-body{max-height:calc(100vh - 320px);overflow-y:auto}.menu-tree-item{border-bottom:1px solid var(--border)}.menu-tree-item:last-child{border-bottom:none}.menu-tree-row{display:flex;align-items:center;padding:8px 0;transition:background .15s}.menu-tree-row:hover{background:var(--bg-secondary)}.menu-tree-row.inactive{opacity:.5}.menu-tree-grip{width:24px;display:flex;justify-content:center;color:var(--text-tertiary);cursor:grab}.menu-tree-expand{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);border-radius:4px}.menu-tree-expand:hover{background:var(--panel-2)}.menu-tree-expand-placeholder{width:24px}.menu-tree-icon{width:40px;display:flex;justify-content:center;color:var(--text-secondary)}.menu-tree-content{flex:1;display:flex;align-items:center;gap:8px}.menu-tree-label{font-size:13px;font-weight:500;color:var(--text-primary)}.menu-tree-key{font-size:11px;color:var(--text-tertiary);font-family:monospace}.menu-tree-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;color:#fff}.menu-tree-status{width:50px;display:flex;justify-content:center}.status-active{color:#10b981}.status-inactive{color:#ef4444}.menu-tree-actions{width:100px;display:flex;justify-content:center;gap:4px}.action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s}.action-btn.add{color:#3b82f6}.action-btn.add:hover{background:#eff6ff;border-color:#bfdbfe}.action-btn.edit{color:#f59e0b}.action-btn.edit:hover{background:#fffbeb;border-color:#fde68a}.action-btn.delete{color:#ef4444}.action-btn.delete:hover{background:#fef2f2;border-color:#fecaca}.menu-tree-permissions{width:280px;display:flex;gap:12px}.perm-checkbox{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);cursor:pointer}.perm-checkbox input{cursor:pointer}.menu-tree-children{background:var(--bg-secondary)}.modal-content{background:var(--panel);border-radius:12px;width:600px;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.modal-close{background:transparent;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px}.modal-close:hover{background:var(--panel-2)}.modal-body{padding:20px;max-height:calc(90vh - 140px);overflow-y:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group.full-width{grid-column:span 2}.form-group.checkbox-group{flex-direction:row;gap:16px;grid-column:span 2}.form-group.checkbox-group label{display:flex;align-items:center;gap:6px;cursor:pointer}.form-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;transition:border-color .2s;background:var(--bg-secondary);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6}.icon-preview{display:inline-flex;align-items:center;color:#3b82f6;margin-top:4px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}.loading-container{display:flex;justify-content:center;align-items:center;height:200px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.error-message{display:flex;align-items:center;justify-content:center;gap:8px;color:#ef4444;padding:40px;background:#fef2f2;border-radius:8px;margin:20px}@media (max-width: 1200px){.menu-tree-permissions{flex-wrap:wrap;width:200px}}@media (max-width: 768px){.page-header{flex-direction:column;gap:12px;align-items:flex-start}.toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:none}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.modal-content{width:95%;margin:20px}}.salesrep-modal{background:var(--panel, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0003;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.salesrep-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.salesrep-modal-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.modal-close-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:24px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close-btn:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.salesrep-modal-info{padding:16px 24px;background:linear-gradient(135deg,#2563eb0a,#2563eb14);border-bottom:1px solid var(--border, #e2e8f0)}.info-row{display:flex;align-items:center;gap:12px;padding:6px 0}.info-label{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);min-width:80px}.info-value{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.info-value.price{color:var(--primary, #2563eb);font-size:16px}.salesrep-modal-actions{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--border, #e2e8f0)}.select-all-btn{padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.select-all-btn:hover{border-color:var(--primary, #2563eb);color:var(--primary, #2563eb)}.select-all-btn.selected{background:var(--primary, #2563eb);border-color:var(--primary, #2563eb);color:#fff}.selected-count{font-size:14px;font-weight:600;color:var(--primary, #2563eb)}.salesrep-modal-body{flex:1;overflow-y:auto;padding:20px 24px;min-height:200px;max-height:400px}.modal-loading,.modal-empty{text-align:center;padding:40px;color:var(--text-secondary, #64748b);font-size:15px}.salesrep-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.salesrep-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 12px;background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:center}.salesrep-item:hover{border-color:var(--primary, #2563eb);background:#2563eb0a}.salesrep-item.selected{border-color:var(--primary, #2563eb);background:var(--primary, #2563eb)}.salesrep-item.selected .item-name,.salesrep-item.selected .item-id{color:#fff}.item-name{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.item-id{font-size:12px;color:var(--text-secondary, #94a3b8);margin-top:4px}.salesrep-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.btn-cancel{padding:10px 20px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:var(--bg-secondary, #f1f5f9)}.btn-apply{padding:10px 24px;border:none;border-radius:8px;background:var(--primary, #2563eb);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-apply:hover:not(:disabled){background:var(--primary-dark, #1d4ed8)}.btn-apply:disabled{opacity:.5;cursor:not-allowed}.modal-status{display:flex;align-items:center;gap:12px;padding:14px 28px;border-radius:12px;font-size:18px;font-weight:600;margin-left:auto;animation:status-fade-in .3s ease}.modal-status.applying{background:#3b82f61a;color:#3b82f6}.modal-status.success{background:#22c55e1a;color:#16a34a}.modal-status.error{background:#ef44441a;color:#dc2626}.modal-status .status-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:20px;font-weight:700}.modal-status.success .status-icon{background:#22c55e;color:#fff}.modal-status.error .status-icon{background:#ef4444;color:#fff}.modal-status .status-spinner{width:28px;height:28px;border:3px solid rgba(59,130,246,.3);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.smu-price-page{padding:24px;background:var(--bg-secondary, #f8fafc);height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden}.smu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.smu-title{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.smu-header-actions{display:flex;align-items:center;gap:12px}.smu-tab-toggle{display:flex;background:var(--panel, #ffffff);border-radius:8px;padding:4px;box-shadow:0 1px 3px #00000014}.smu-tab-btn{padding:10px 24px;border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:15px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s ease}.smu-tab-btn:hover:not(.active){color:var(--text-primary, #1e293b);background:var(--bg-secondary, #f1f5f9)}.smu-tab-btn.active{background:var(--primary, #2563eb);color:#fff;font-weight:600}.smu-year-select{padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 1px 3px #00000014;transition:all .2s ease}.smu-year-select:hover{border-color:var(--primary, #2563eb)}.smu-year-select:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.smu-action-btn{padding:8px 16px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.smu-action-btn:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--text-secondary, #94a3b8)}.smu-company-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.smu-company-card{background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:12px;padding:20px 24px;cursor:pointer;transition:all .2s ease}.smu-company-card:hover:not(.active){border-color:var(--primary, #2563eb);box-shadow:0 4px 12px #2563eb1a}.smu-company-card.active{border-color:var(--primary, #2563eb);background:linear-gradient(135deg,#2563eb05,#2563eb0f);box-shadow:0 4px 12px #2563eb26}.smu-company-header{display:flex;justify-content:space-between;align-items:center}.smu-company-name{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b)}.smu-badge{padding:4px 10px;background:var(--primary, #2563eb);color:#fff;font-size:11px;font-weight:600;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.smu-content-card{background:var(--panel, #ffffff);border-radius:12px;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000a;overflow:hidden;flex:1;display:flex;flex-direction:column}.smu-content-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.smu-content-title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b);display:flex;align-items:center;gap:12px}.smu-content-subtitle{font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);padding:4px 12px;background:var(--panel, #ffffff);border-radius:6px;border:1px solid var(--border, #e2e8f0)}.smu-content-body{padding:24px;flex:1;display:flex;flex-direction:column}.smu-table-wrapper{border-radius:8px;border:1px solid var(--border, #e2e8f0);overflow:hidden;flex:1;display:flex;flex-direction:column}.smu-table-wrapper.smu-table-scroll{overflow-y:auto}.smu-table{width:100%;border-collapse:collapse;font-size:15px;table-layout:fixed}.smu-table thead{position:sticky;top:0;z-index:10}.smu-table th{padding:14px 16px;text-align:left;background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #64748b);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.smu-table th.text-right,.smu-table td.text-right{text-align:right}.smu-table td{padding:14px 16px;border-bottom:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b);vertical-align:middle}.smu-table tbody tr{transition:background-color .15s ease}.smu-table tbody tr:hover{background:var(--bg-secondary, #f8fafc)}.smu-table tbody tr:last-child td{border-bottom:none}.smu-table tbody tr.modified{background:#fbbf2414}.smu-table tbody tr.modified:hover{background:#fbbf241f}.smu-row-num{color:var(--text-secondary, #94a3b8);font-size:13px;font-weight:500}.smu-unit-name{font-weight:500;color:var(--text-primary, #1e293b)}.smu-price-ref{color:var(--text-secondary, #94a3b8);font-size:13px}.smu-price-edit{font-weight:600;color:var(--primary, #2563eb);cursor:pointer}.smu-price-edit:hover{text-decoration:underline}.smu-price-empty{color:var(--text-secondary, #cbd5e1)}.smu-inline-input{width:100%;padding:10px 14px;border:1px solid var(--border, #d1d5db);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:15px;font-weight:500;text-align:right;transition:all .2s ease;box-shadow:inset 0 1px 2px #0000000d}.smu-inline-input:hover{border-color:var(--text-secondary, #9ca3af)}.smu-inline-input:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a,inset 0 1px 2px #0000000d}.smu-editable-cell{display:block;width:100%;padding:8px 12px;border:none;border-radius:6px;background:var(--bg-secondary, #f8fafc);cursor:text;transition:all .15s ease;box-sizing:border-box}.smu-editable-cell:hover{background:#2563eb14}.smu-editable-cell.price{text-align:right;font-weight:600;color:var(--text-primary, #1e293b)}.smu-editable-cell.remark{text-align:left;color:var(--text-primary, #1e293b)}.smu-editable-cell.empty{color:var(--text-secondary, #94a3b8)}.smu-remark{color:var(--text-secondary, #64748b);font-size:13px}.smu-remark-empty{color:var(--text-secondary, #cbd5e1);font-style:italic}.smu-actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.smu-actions-left{display:flex;align-items:center;gap:12px}.smu-actions-right{display:flex;align-items:center;gap:8px}.smu-save-btn{padding:10px 24px;border:none;border-radius:8px;background:var(--primary, #2563eb);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.smu-save-btn:hover:not(:disabled){background:var(--primary-dark, #1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb40}.smu-save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.smu-save-btn .count{padding:2px 8px;background:#fff3;border-radius:10px;font-size:12px}.smu-assignee-select{padding:10px 16px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);font-size:14px;min-width:200px;cursor:pointer;transition:all .2s ease}.smu-assignee-select:hover{border-color:var(--primary, #2563eb)}.smu-assignee-select:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.smu-empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary, #64748b)}.smu-empty-state .icon{font-size:48px;margin-bottom:16px;opacity:.3}.smu-empty-state .message{font-size:15px;font-weight:500}.smu-loading{text-align:center;padding:60px 20px;color:var(--text-secondary, #64748b)}.smu-error{text-align:center;padding:40px 20px;color:var(--danger, #dc2626);background:#dc26260d;border-radius:8px}.smu-legend{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary, #64748b)}.smu-legend-dot{width:12px;height:12px;background:#fbbf244d;border:1px solid rgba(251,191,36,.6);border-radius:3px}.smu-save-status{display:flex;align-items:center;gap:12px;padding:14px 28px;border-radius:12px;font-size:18px;font-weight:600;animation:status-fade-in .3s ease}@keyframes status-fade-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.smu-save-status.saving{background:#3b82f61a;color:#3b82f6}.smu-save-status.success{background:#22c55e1a;color:#16a34a}.smu-save-status.error{background:#ef44441a;color:#dc2626}.smu-save-status .status-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:20px;font-weight:700}.smu-save-status.success .status-icon{background:#22c55e;color:#fff}.smu-save-status.error .status-icon{background:#ef4444;color:#fff}.smu-save-status .status-text{line-height:1}.smu-save-status .status-spinner{width:28px;height:28px;border:3px solid rgba(59,130,246,.3);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.smu-apply-btn{padding:6px 14px;border:1px solid var(--primary, #2563eb);border-radius:6px;background:transparent;color:var(--primary, #2563eb);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.smu-apply-btn:hover:not(:disabled){background:var(--primary, #2563eb);color:#fff}.smu-apply-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--text-secondary, #94a3b8);color:var(--text-secondary, #94a3b8)}.smu-tab-container{display:flex;flex-direction:column;height:100%}.smu-table-scroll{max-height:calc(100vh - 420px);overflow-y:auto}.smu-table-scroll::-webkit-scrollbar{width:8px}.smu-table-scroll::-webkit-scrollbar-track{background:var(--bg-secondary, #f1f5f9);border-radius:4px}.smu-table-scroll::-webkit-scrollbar-thumb{background:var(--border, #cbd5e1);border-radius:4px}.smu-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}@media (max-width: 768px){.smu-price-page{padding:16px}.smu-header{flex-direction:column;align-items:flex-start;gap:16px}.smu-header-actions{width:100%;flex-wrap:wrap}.smu-company-cards{grid-template-columns:1fr}.smu-content-body{padding:16px}.smu-table th,.smu-table td{padding:10px 12px}}.igs-root{--igs-glass-bg: rgba(255, 255, 255, .65);--igs-glass-bg-hover: rgba(255, 255, 255, .75);--igs-glass-border: rgba(255, 255, 255, .3);--igs-glass-shadow: 0 8px 32px rgba(31, 38, 135, .1);--igs-glass-blur: blur(12px);--igs-gradient-primary: linear-gradient(135deg, var(--accent-cyan, #06b6d4) 0%, var(--accent-blue, #3b82f6) 100%);--igs-gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);--igs-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);--igs-gradient-danger: linear-gradient(135deg, #ef4444 0%, #f87171 100%);--igs-card-radius: 20px;--igs-card-padding: 24px;--igs-transition-fast: .15s ease;--igs-transition-normal: .25s ease;--igs-transition-slow: .4s ease}[data-theme=dark] .igs-root,[data-theme=dark].igs-root{--igs-glass-bg: rgba(30, 41, 59, .7);--igs-glass-bg-hover: rgba(30, 41, 59, .85);--igs-glass-border: rgba(255, 255, 255, .1);--igs-glass-shadow: 0 8px 32px rgba(0, 0, 0, .3)}.igs-card{background:var(--igs-glass-bg);backdrop-filter:var(--igs-glass-blur);-webkit-backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);border-radius:14px;box-shadow:var(--igs-glass-shadow);padding:12px 14px;transition:transform var(--igs-transition-normal),box-shadow var(--igs-transition-normal);display:flex;flex-direction:column;overflow:hidden}.igs-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #1f268726}.igs-card--flat,.igs-card--flat:hover{transform:none!important}.igs-kpi-card{background:var(--igs-glass-bg);backdrop-filter:var(--igs-glass-blur);-webkit-backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);border-radius:14px;padding:12px 16px;position:relative;overflow:hidden;transition:transform var(--igs-transition-normal),box-shadow var(--igs-transition-normal)}.igs-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--igs-gradient-primary);opacity:0;transition:opacity var(--igs-transition-normal)}.igs-kpi-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #1f26872e}.igs-kpi-card:hover:before{opacity:1}.igs-kpi-card__icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;background:var(--igs-gradient-primary);color:#fff}.igs-kpi-card__icon--success{background:var(--igs-gradient-success)}.igs-kpi-card__icon--warning{background:var(--igs-gradient-warning)}.igs-kpi-card__icon--danger{background:var(--igs-gradient-danger)}.igs-kpi-card__label{font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.igs-kpi-card__value{font-size:24px;font-weight:700;color:var(--text-primary);line-height:1.2;margin-bottom:4px}.igs-kpi-card__change{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;padding:4px 8px;border-radius:6px}.igs-kpi-card__change--positive{background:#10b9811a;color:#10b981}.igs-kpi-card__change--negative{background:#ef44441a;color:#ef4444}.igs-kpi-card__change--neutral{background:#6b72801a;color:#6b7280}.igs-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.igs-section-title{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.igs-section-title__icon{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--igs-gradient-primary);color:#fff}.igs-pipeline{display:flex;gap:8px;overflow-x:auto;padding:4px}.igs-pipeline__stage{flex:1;min-width:100px;background:var(--igs-glass-bg);-webkit-backdrop-filter:var(--igs-glass-blur);backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);border-radius:12px;padding:10px 8px;text-align:center;position:relative;transition:all var(--igs-transition-normal);cursor:pointer}.igs-pipeline__stage:hover{background:var(--igs-glass-bg-hover);transform:translateY(-2px)}.igs-pipeline__stage:after{content:"→";position:absolute;right:-16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:18px;opacity:.5}.igs-pipeline__stage:last-child:after{display:none}.igs-pipeline__count{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.igs-pipeline__label{font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.igs-pipeline__amount{font-size:11px;font-weight:600;color:var(--primary);background:#3b82f61a;padding:2px 6px;border-radius:4px}.igs-urgent-list{display:flex;flex-direction:column;gap:6px}.igs-urgent-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--igs-glass-bg);-webkit-backdrop-filter:var(--igs-glass-blur);backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);border-radius:8px;transition:all var(--igs-transition-normal);cursor:pointer}.igs-urgent-item:hover{background:var(--igs-glass-bg-hover);transform:translate(4px)}.igs-urgent-item__indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.igs-urgent-item__indicator--danger{background:#ef4444;box-shadow:0 0 8px #ef444480;animation:pulse-danger 2s infinite}.igs-urgent-item__indicator--warning{background:#f59e0b;box-shadow:0 0 8px #f59e0b80}.igs-urgent-item__indicator--normal{background:#10b981}@keyframes pulse-danger{0%,to{opacity:1}50%{opacity:.5}}.igs-urgent-item__info{flex:1;min-width:0}.igs-urgent-item__name{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.igs-urgent-item__progress{display:flex;align-items:center;gap:8px}.igs-urgent-item__progress-bar{flex:1;height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.igs-urgent-item__progress-fill{height:100%;background:var(--igs-gradient-primary);border-radius:3px;transition:width var(--igs-transition-slow)}.igs-urgent-item__progress-text{font-size:12px;font-weight:600;color:var(--text-secondary);min-width:36px}.igs-urgent-item__dday{font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;white-space:nowrap}.igs-urgent-item__dday--danger{background:#ef44441a;color:#ef4444}.igs-urgent-item__dday--warning{background:#f59e0b1a;color:#f59e0b}.igs-urgent-item__dday--normal{background:#10b9811a;color:#10b981}.igs-chart-container{width:100%;height:100%;min-height:120px;padding:4px 0}.igs-chart-container--small{min-height:100px}.igs-chart-container--medium{min-height:180px}.igs-chart-container--large{min-height:220px}.igs-dashboard{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:var(--bg-base, #eef2f6);height:100vh;overflow:hidden;box-sizing:border-box}.igs-dashboard__header{display:flex;align-items:center;justify-content:space-between;padding:0 4px;flex-shrink:0}.igs-dashboard__title{font-size:22px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px}.igs-dashboard__title-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--igs-gradient-primary);color:#fff}.igs-dashboard__actions{display:flex;gap:8px}.igs-dashboard__kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;flex-shrink:0}@media (max-width: 1400px){.igs-dashboard__kpi-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.igs-dashboard__kpi-grid{grid-template-columns:repeat(2,1fr)}}.igs-dashboard__mid-section{display:grid;grid-template-columns:1fr 2fr;gap:12px;flex-shrink:0}.igs-dashboard__bottom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;flex:1;min-height:0}.igs-dashboard__main-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 1200px){.igs-dashboard__main-grid{grid-template-columns:1fr}}.igs-dashboard__full-width{grid-column:1 / -1}.igs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--igs-transition-fast);border:none;outline:none}.igs-btn--primary{background:var(--igs-gradient-primary);color:#fff}.igs-btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.igs-btn--secondary{background:var(--igs-glass-bg);-webkit-backdrop-filter:var(--igs-glass-blur);backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);color:var(--text-primary)}.igs-btn--secondary:hover{background:var(--igs-glass-bg-hover)}.igs-btn--ghost{background:transparent;color:var(--text-secondary)}.igs-btn--ghost:hover{background:#0000000d;color:var(--text-primary)}.igs-btn--icon{padding:10px;width:40px;height:40px}.igs-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--igs-glass-bg);-webkit-backdrop-filter:var(--igs-glass-blur);backdrop-filter:var(--igs-glass-blur);border:1px solid var(--igs-glass-border);border-radius:12px;padding:10px 36px 10px 16px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:all var(--igs-transition-fast)}.igs-select:hover{background-color:var(--igs-glass-bg-hover)}.igs-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.igs-gantt{display:flex;flex-direction:column;gap:6px}.igs-gantt__item{display:flex;align-items:center;gap:10px}.igs-gantt__label{width:140px;font-size:11px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.igs-gantt__bar-container{flex:1;height:18px;background:#0000000d;border-radius:4px;overflow:hidden;position:relative}.igs-gantt__bar{height:100%;background:var(--igs-gradient-primary);border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:6px;min-width:30px;transition:width var(--igs-transition-slow)}.igs-gantt__bar--warning{background:var(--igs-gradient-warning)}.igs-gantt__bar--danger{background:var(--igs-gradient-danger)}.igs-gantt__bar-text{font-size:10px;font-weight:600;color:#fff}.igs-tooltip{position:relative}.igs-tooltip__content{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:8px 12px;background:var(--text-primary);color:#fff;font-size:12px;font-weight:500;border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--igs-transition-fast);margin-bottom:8px;z-index:1000}.igs-tooltip__content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--text-primary)}.igs-tooltip:hover .igs-tooltip__content{opacity:1;visibility:visible}.igs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.igs-empty__icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#0000000d;color:var(--text-secondary);margin-bottom:16px}.igs-empty__title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.igs-empty__description{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.igs-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.igs-badge--primary{background:#3b82f61a;color:#3b82f6}.igs-badge--success{background:#10b9811a;color:#10b981}.igs-badge--warning{background:#f59e0b1a;color:#f59e0b}.igs-badge--danger{background:#ef44441a;color:#ef4444}.igs-badge--neutral{background:#6b72801a;color:#6b7280}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.igs-animate-fadeIn{animation:fadeIn .4s ease forwards}.igs-animate-slideInRight{animation:slideInRight .4s ease forwards}.igs-animate-scaleIn{animation:scaleIn .3s ease forwards}.igs-stagger-1{animation-delay:.1s}.igs-stagger-2{animation-delay:.2s}.igs-stagger-3{animation-delay:.3s}.igs-stagger-4{animation-delay:.4s}[data-theme=dark] .igs-card:hover{box-shadow:0 12px 40px #0006}[data-theme=dark] .igs-kpi-card:hover{box-shadow:0 16px 48px #0006}[data-theme=dark] .igs-urgent-item__progress-bar,[data-theme=dark] .igs-gantt__bar-container,[data-theme=dark] .igs-empty__icon,[data-theme=dark] .igs-btn--ghost:hover{background:#ffffff1a}.project-pipeline{display:flex;flex-direction:column;height:100%;padding:24px;background:var(--bg-base, #eef2f6);overflow:hidden}.project-pipeline__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-shrink:0}.project-pipeline__title{font-size:28px;font-weight:700;color:var(--text-primary)}.project-pipeline__actions{display:flex;gap:12px;align-items:center}.project-pipeline__search{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:12px;min-width:260px}.project-pipeline__search input{border:none;background:transparent;font-size:14px;color:var(--text-primary);outline:none;width:100%}.project-pipeline__search input::-moz-placeholder{color:var(--text-secondary)}.project-pipeline__search input::placeholder{color:var(--text-secondary)}.project-pipeline__search svg{color:var(--text-secondary);flex-shrink:0}.project-pipeline__board{display:flex;gap:16px;overflow-x:auto;flex:1;padding-bottom:16px}.pipeline-column{flex:1;min-width:280px;max-width:320px;display:flex;flex-direction:column;background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:16px;overflow:hidden;transition:all .25s ease}.pipeline-column--collapsed{min-width:120px;max-width:120px}.pipeline-column__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-top:4px solid;background:var(--glass-bg, rgba(255, 255, 255, .5))}.pipeline-column__title{display:flex;align-items:center;gap:8px}.pipeline-column__status-dot{width:10px;height:10px;border-radius:50%}.pipeline-column__label{font-size:14px;font-weight:600;color:var(--text-primary)}.pipeline-column__count{font-size:13px;font-weight:500;color:var(--text-secondary)}.pipeline-column__collapse{padding:4px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.pipeline-column__collapse:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05));color:var(--text-primary)}.pipeline-column__amount{padding:0 16px 12px;font-size:15px;font-weight:700}.pipeline-column__cards{flex:1;padding:0 12px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.pipeline-column__more{padding:12px;background:var(--bg-secondary, rgba(0, 0, 0, .03));border:1px dashed var(--border, rgba(0, 0, 0, .1));border-radius:12px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.pipeline-column__more:hover{background:var(--panel, rgba(0, 0, 0, .05));color:var(--text-primary)}.project-card{background:var(--panel, white);border-radius:12px;padding:14px;cursor:pointer;box-shadow:0 2px 8px #0000000f;transition:all .2s ease;position:relative}.project-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.project-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.project-card__name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.4;flex:1;margin-right:8px}.project-card__menu{padding:4px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);opacity:0;transition:all .15s ease}.project-card:hover .project-card__menu{opacity:1}.project-card__menu:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05))}.project-card__client{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-bottom:10px}.project-card__client svg{flex-shrink:0}.project-card__amount{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.project-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-card__margin,.project-card__probability{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#10b981}.project-card__dday{font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px}.project-card__dday--danger{background:#ef44441a;color:#ef4444}.project-card__dday--warning{background:#f59e0b1a;color:#f59e0b}.project-card__dday--normal{background:#10b9811a;color:#10b981}.project-card__progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--border, rgba(0, 0, 0, .05));border-radius:0 0 12px 12px;overflow:hidden}.project-card__progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#06b6d4);border-radius:0 3px 3px 0;transition:width .4s ease}.project-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.project-modal{width:90%;max-width:640px;max-height:90vh;overflow-y:auto;animation:scaleIn .3s ease}.project-modal__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.project-modal__status{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;margin-bottom:8px}.project-modal__title{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.project-modal__no{font-size:13px;color:var(--text-secondary)}.project-modal__close{padding:8px;background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.project-modal__close:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05));color:var(--text-primary)}.project-modal__content{display:flex;flex-direction:column;gap:24px}.project-modal__section{padding-bottom:20px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.project-modal__section:last-child{border-bottom:none;padding-bottom:0}.project-modal__section-title{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.project-modal__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-modal__field{display:flex;flex-direction:column;gap:4px}.project-modal__field-label{font-size:12px;color:var(--text-secondary)}.project-modal__field-value{font-size:14px;font-weight:500;color:var(--text-primary)}.project-modal__field-value--highlight{font-size:18px;font-weight:700;color:var(--primary, #3b82f6)}.project-modal__progress-info{display:flex;flex-direction:column;gap:12px}.project-modal__due{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary)}.project-modal__due svg{color:var(--text-secondary)}.project-modal__dday{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600}.project-modal__dday--danger{background:#ef44441a;color:#ef4444}.project-modal__dday--warning{background:#f59e0b1a;color:#f59e0b}.project-modal__dday--normal{background:#10b9811a;color:#10b981}.project-modal__progress-bar-wrapper{display:flex;align-items:center;gap:12px}.project-modal__progress-bar-bg{flex:1;height:8px;background:var(--border, rgba(0, 0, 0, .1));border-radius:4px;overflow:hidden}.project-modal__progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#06b6d4);border-radius:4px;transition:width .4s ease}.project-modal__progress-text{font-size:14px;font-weight:600;color:var(--text-primary);min-width:44px}.project-modal__footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border, rgba(0, 0, 0, .08))}@media (max-width: 1200px){.pipeline-column{min-width:260px;max-width:280px}}@media (max-width: 768px){.project-pipeline__header{flex-direction:column;gap:16px;align-items:stretch}.project-pipeline__actions{flex-wrap:wrap}.project-pipeline__search{flex:1;min-width:200px}.project-modal__grid{grid-template-columns:1fr}}.layout-viewer{display:flex;flex-direction:column;height:100%;padding:24px;background:var(--bg-base, #eef2f6);overflow:hidden}.layout-viewer__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-shrink:0}.layout-viewer__title-section{display:flex;flex-direction:column;gap:4px}.layout-viewer__title{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;color:var(--text-primary)}.layout-viewer__title svg{color:var(--primary, #3b82f6)}.layout-viewer__subtitle{font-size:14px;color:var(--text-secondary);padding-left:36px}.layout-viewer__actions{display:flex;gap:12px}.layout-viewer__navigator{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:16px;padding:12px 16px;margin-bottom:20px;flex-shrink:0;overflow-x:auto}.pattern-navigator{display:flex;gap:10px}.pattern-thumbnail{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--panel, white);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.pattern-thumbnail:hover{border-color:#3b82f64d;transform:translateY(-2px)}.pattern-thumbnail--selected{border-color:var(--primary, #3b82f6);box-shadow:0 4px 12px #3b82f633}.pattern-thumbnail canvas{border-radius:6px;border:1px solid var(--border, rgba(0, 0, 0, .1))}.pattern-thumbnail__number{font-size:11px;font-weight:600;color:var(--text-primary)}.pattern-thumbnail__efficiency{font-size:10px;font-weight:500;color:var(--text-secondary);background:#10b9811a;color:#10b981;padding:2px 6px;border-radius:4px}.layout-viewer__content{display:flex;gap:20px;flex:1;min-height:0}.layout-viewer__canvas-wrapper{flex:1;display:flex;flex-direction:column;background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:20px;overflow:hidden}.layout-viewer__canvas-container{flex:1;position:relative;overflow:hidden}.layout-viewer__canvas{position:absolute;top:0;left:0;width:100%;height:100%}.layout-viewer__controls{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panel, rgba(255, 255, 255, .8));border-top:1px solid var(--border, rgba(0, 0, 0, .05))}.layout-viewer__nav-buttons{display:flex;align-items:center;gap:12px}.layout-viewer__nav-label{font-size:14px;font-weight:500;color:var(--text-primary);min-width:140px;text-align:center}.layout-viewer__zoom-controls{display:flex;align-items:center;gap:8px}.layout-viewer__zoom-label{font-size:13px;font-weight:500;color:var(--text-secondary);min-width:50px;text-align:center}.pattern-info{width:320px;background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;overflow-y:auto;flex-shrink:0}.pattern-info__header{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.pattern-info__header svg{color:var(--primary, #3b82f6)}.pattern-info__section{margin-bottom:20px}.pattern-info__section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.pattern-info__row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border, rgba(0, 0, 0, .05))}.pattern-info__row:last-child{border-bottom:none}.pattern-info__label{font-size:13px;color:var(--text-secondary)}.pattern-info__value{font-size:13px;font-weight:500;color:var(--text-primary)}.pattern-info__value--warning{color:#f59e0b}.pattern-info__efficiency{margin-bottom:16px}.pattern-info__efficiency-bar{height:8px;background:var(--border, rgba(0, 0, 0, .1));border-radius:4px;overflow:hidden;margin-bottom:8px}.pattern-info__efficiency-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:4px;transition:width .4s ease}.pattern-info__efficiency-value{font-size:14px;font-weight:600;color:#10b981}.pattern-info__parts{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.pattern-info__part{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-secondary, rgba(0, 0, 0, .03));border-radius:8px}.pattern-info__part-color{width:14px;height:14px;border-radius:4px;flex-shrink:0}.pattern-info__part-label{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pattern-info__action{width:100%;margin-top:16px}@media (max-width: 1200px){.layout-viewer__content{flex-direction:column}.pattern-info{width:100%;max-height:300px}}@media (max-width: 768px){.layout-viewer__header{flex-direction:column;gap:16px;align-items:flex-start}.layout-viewer__actions{width:100%;flex-wrap:wrap}.layout-viewer__controls{flex-direction:column;gap:12px}}.igs-stock{padding:24px;min-height:100vh;background:var(--bg-base, #eef2f6)}.igs-stock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.igs-stock-header .header-title{display:flex;align-items:center;gap:12px}.igs-stock-header .header-title h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1e293b)}.igs-stock-header .header-title svg{color:var(--accent, #3b82f6)}.igs-stock-header .header-actions{display:flex;gap:12px}.stock-summary-cards{display:grid;grid-template-columns:repeat(4,1fr) 1.5fr;gap:16px;margin-bottom:24px}.summary-card{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px}.summary-card.wide{justify-content:center}.summary-icon{width:48px;height:48px;border-radius:12px;background:var(--bg-secondary, #f1f5f9);display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #64748b)}.summary-icon.available{background:#10b9811a;color:var(--success, #10b981)}.summary-icon.reserved{background:#f59e0b1a;color:var(--warning, #f59e0b)}.summary-icon.balance{background:#8b5cf61a;color:#8b5cf6}.summary-info{display:flex;flex-direction:column;gap:4px}.summary-label{font-size:13px;color:var(--text-secondary, #64748b)}.summary-value{font-size:22px;font-weight:700;color:var(--text-primary, #1e293b)}.summary-value.highlight{color:var(--accent, #3b82f6)}.stock-tabs{display:flex;gap:8px;margin-bottom:20px}.stock-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:12px;background:var(--panel, #ffffff);font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.stock-tab:hover{background:var(--bg-secondary, #f1f5f9)}.stock-tab.active{background:var(--accent, #3b82f6);color:#fff}.stock-filters{display:flex;gap:12px;margin-bottom:20px}.stock-filters .search-box{flex:1;max-width:400px;display:flex;align-items:center;gap:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:10px 16px}.stock-filters .search-box svg{color:var(--text-secondary, #64748b)}.stock-filters .search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary, #1e293b);outline:none}.stock-filters .search-box input::-moz-placeholder{color:var(--text-secondary, #64748b)}.stock-filters .search-box input::placeholder{color:var(--text-secondary, #64748b)}.stock-filters .filter-select{padding:10px 16px;border:1px solid var(--border, #e2e8f0);border-radius:12px;background:var(--panel, #ffffff);font-size:14px;color:var(--text-primary, #1e293b);cursor:pointer;min-width:160px}.stock-content{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;overflow:hidden}.stock-table-wrapper{overflow-x:auto}.stock-table{width:100%;border-collapse:collapse}.stock-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.stock-table th.text-right{text-align:right}.stock-table td{padding:14px 16px;font-size:14px;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border, #e2e8f0)}.stock-table tr:hover{background:var(--bg-secondary, rgba(59, 130, 246, .03))}.stock-table tr.low-stock{background:#ef444408}.stock-table tr.used{opacity:.6}.stock-table .lot-no{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--accent, #3b82f6)}.stock-table .glass-type-badge{padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:6px;font-size:13px;white-space:nowrap}.stock-table .spec{font-family:JetBrains Mono,monospace;font-size:13px}.stock-table .thickness{color:var(--text-secondary, #64748b)}.stock-table .text-right{text-align:right}.stock-table .qty{font-weight:600}.stock-table .reserved{color:var(--warning, #f59e0b)}.stock-table .available span{font-weight:600;color:var(--success, #10b981)}.stock-table .available span.low{color:var(--error, #ef4444)}.stock-table .price{color:var(--text-secondary, #64748b)}.stock-table .stock-value{font-weight:600}.stock-table .area{font-family:JetBrains Mono,monospace;font-size:13px}.stock-table .source-project{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-table .date{color:var(--text-secondary, #64748b);font-size:13px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.status-badge.normal{background:#10b9811a;color:var(--success, #10b981)}.status-badge.warning{background:#ef44441a;color:var(--error, #ef4444)}.grade-badge{font-weight:600;font-size:13px}.balance-status{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.balance-status.available{background:#10b9811a;color:var(--success, #10b981)}.balance-status.reserved{background:#f59e0b1a;color:var(--warning, #f59e0b)}.balance-status.used{background:#94a3b81a;color:#94a3b8}.stock-table .actions{display:flex;gap:4px;justify-content:flex-end}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:var(--text-secondary, #64748b)}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{margin:0;font-size:15px}@media (max-width: 1400px){.stock-summary-cards{grid-template-columns:repeat(3,1fr)}.stock-summary-cards .summary-card.wide{grid-column:span 3}}@media (max-width: 1024px){.stock-summary-cards{grid-template-columns:repeat(2,1fr)}.stock-summary-cards .summary-card.wide{grid-column:span 2}}.igs-order-entry{padding:24px;min-height:100vh;background:var(--bg-base, #eef2f6)}.igs-order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.igs-order-header .header-title{display:flex;align-items:center;gap:12px}.igs-order-header .header-title h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1e293b)}.igs-order-header .header-title svg{color:var(--accent, #3b82f6)}.igs-order-header .header-actions{display:flex;gap:12px}.order-entry-content{display:grid;grid-template-columns:340px 1fr;gap:24px;height:calc(100vh - 140px)}.order-list-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;display:flex;flex-direction:column;overflow:hidden}.order-list-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.order-list-panel .panel-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.order-list-panel .search-box{display:flex;align-items:center;gap:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px 14px;margin-bottom:16px}.order-list-panel .search-box svg{color:var(--text-secondary, #64748b)}.order-list-panel .search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary, #1e293b);outline:none}.order-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.order-item{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:14px;cursor:pointer;transition:all .2s ease}.order-item:hover{border-color:var(--accent, #3b82f6)}.order-item.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f60d,#0ea5e90d)}.order-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.order-item-header .order-no{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--accent, #3b82f6)}.order-status{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.order-status.draft{background:#94a3b81a;color:#94a3b8}.order-status.confirmed{background:#3b82f61a;color:#3b82f6}.order-status.in-progress{background:#f59e0b1a;color:#f59e0b}.order-status.completed{background:#10b9811a;color:#10b981}.order-item-project{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);margin-bottom:8px}.order-item-meta{display:flex;gap:12px;font-size:12px;color:var(--text-secondary, #64748b)}.parts-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:24px;display:flex;flex-direction:column;overflow:hidden}.parts-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.order-info h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary, #1e293b)}.order-info .project-name{font-size:14px;color:var(--text-secondary, #64748b);margin-left:12px}.order-info .order-status{margin-left:12px}.order-meta{display:flex;gap:24px}.order-meta .meta-item{display:flex;flex-direction:column;gap:2px}.order-meta .label{font-size:11px;color:var(--text-secondary, #64748b);text-transform:uppercase}.order-meta .value{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b)}.parts-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.parts-summary .summary-item{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px}.parts-summary .summary-label{font-size:12px;color:var(--text-secondary, #64748b)}.parts-summary .summary-value{font-size:20px;font-weight:700;color:var(--text-primary, #1e293b)}.parts-table-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.parts-table-section .table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.parts-table-section .table-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.parts-table-wrapper{flex:1;overflow:auto;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px}.parts-table{width:100%;border-collapse:collapse}.parts-table th{padding:12px 14px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);position:sticky;top:0;z-index:1}.parts-table td{padding:12px 14px;font-size:14px;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border, #e2e8f0)}.parts-table tr:hover{background:var(--bg-secondary, rgba(59, 130, 246, .03))}.parts-table tr.editing-row{background:var(--bg-secondary, rgba(59, 130, 246, .05))}.parts-table .row-num{font-size:13px;color:var(--text-secondary, #64748b);width:40px}.parts-table .dimension{font-family:JetBrains Mono,monospace;font-size:13px}.parts-table .qty{font-weight:600;text-align:center}.parts-table .area{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text-secondary, #64748b)}.parts-table .glass-type{padding:4px 8px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:12px;white-space:nowrap}.parts-table .zone{color:var(--accent, #3b82f6);font-weight:500}.parts-table .processing{color:var(--text-secondary, #64748b)}.parts-table .actions{width:60px;text-align:center}.input-sm{width:80px;padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:13px;text-align:center;background:var(--panel, white);color:var(--text-primary, #1e293b)}.input-sm:focus{outline:none;border-color:var(--accent, #3b82f6)}.select-sm{padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:12px;background:var(--panel, white);color:var(--text-primary, #1e293b);cursor:pointer}.icon-btn{width:32px;height:32px;border:none;border-radius:8px;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.icon-btn:hover{background:var(--accent, #3b82f6);color:#fff}.icon-btn.delete:hover{background:var(--error, #ef4444)}.icon-btn.save{background:var(--success, #10b981);color:#fff}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.parts-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}.igs-btn-sm{padding:8px 14px;font-size:13px;border-radius:8px}.igs-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.igs-btn-primary:disabled{opacity:.5;cursor:not-allowed}.cutting-optimizer{display:flex;flex-direction:column;height:100vh;background:var(--bg-base, #eef2f6);overflow:hidden;box-sizing:border-box}.profit-simulator{display:flex;flex-direction:column;gap:10px;padding:12px 16px;background:var(--bg-base, #eef2f6);height:100vh;overflow:hidden;box-sizing:border-box}.profit-simulator__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.profit-simulator__title-section{display:flex;align-items:center;gap:16px}.profit-simulator__title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--text-primary);white-space:nowrap}.profit-simulator__title svg{color:var(--primary, #3b82f6)}.profit-simulator__selectors{display:flex;gap:8px}.igs-select--compact{padding:4px 24px 4px 8px;font-size:12px;min-width:140px}.profit-simulator__actions{display:flex;gap:6px}.igs-btn--sm{padding:4px 10px;font-size:11px;gap:4px}.profit-simulator__summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;flex-shrink:0}.summary-card{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}.summary-card__label{font-size:10px;font-weight:500;color:var(--text-secondary)}.summary-card__value{font-size:16px;font-weight:700;color:var(--text-primary)}.profit-simulator__chart-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;min-height:0;overflow:hidden}.profit-simulator__chart-section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.profit-simulator__section-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px;flex-shrink:0}.profit-simulator__chart-card{flex:1;min-height:0;padding:8px}.profit-simulator__chart-card .waterfall-chart{height:100%}.waterfall-chart{padding:0;height:100%;min-height:120px}.profit-simulator__breakdown-section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.cost-breakdown{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;overflow-y:auto;height:100%;box-sizing:border-box}.cost-breakdown__title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));flex-shrink:0}.cost-breakdown__section{margin-bottom:6px}.cost-breakdown__section-title{font-size:9px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.cost-breakdown__row{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:11px;color:var(--text-primary)}.cost-breakdown__row--subtotal{border-top:1px solid var(--border, rgba(0, 0, 0, .08));margin-top:3px;padding-top:4px;font-weight:600}.cost-breakdown__total{margin-top:auto;padding-top:8px;border-top:2px solid var(--border, rgba(0, 0, 0, .1));flex-shrink:0}.cost-breakdown__total-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px;font-weight:600;color:var(--text-primary)}.profit-simulator__scenarios{flex-shrink:0}.profit-simulator__scenarios-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-primary)}.profit-simulator__scenarios-header svg{color:var(--primary, #3b82f6)}.profit-simulator__recommendation-inline{display:flex;align-items:center;gap:4px;margin-left:auto;padding:3px 8px;background:#10b9811a;border-radius:4px;font-size:10px;font-weight:500;color:#059669}.profit-simulator__recommendation-inline svg{color:#10b981}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scenario-card{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:10px;padding:10px 12px;cursor:pointer;transition:all .25s ease;position:relative}.scenario-card:hover{border-color:#3b82f64d;transform:translateY(-1px)}.scenario-card__title{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.scenario-card__metrics{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.scenario-card__metric{display:flex;justify-content:space-between;align-items:center;padding-bottom:4px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .05))}.scenario-card__select{width:100%;padding:5px 8px;background:var(--bg-secondary, rgba(0, 0, 0, .05));border:none;border-radius:5px;font-size:10px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:3px}@media (max-width: 1200px){.profit-simulator__chart-row{grid-template-columns:1fr 1fr}}@media (max-width: 1024px){.profit-simulator__summary{grid-template-columns:repeat(4,1fr)}.scenario-grid{grid-template-columns:repeat(3,1fr);gap:6px}}@media (max-width: 768px){.profit-simulator__header{flex-direction:column;gap:10px;align-items:flex-start}.profit-simulator__title-section{flex-direction:column;align-items:flex-start;gap:8px}.profit-simulator__summary{grid-template-columns:repeat(2,1fr)}.profit-simulator__chart-row{grid-template-columns:1fr}}.igs-stakeholder{padding:20px;height:100vh;overflow:hidden;background:var(--bg-base, #eef2f6);box-sizing:border-box;display:flex;flex-direction:column}.igs-stakeholder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-shrink:0}.igs-stakeholder-header .header-title{display:flex;align-items:center;gap:12px}.igs-stakeholder-header .header-title h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1e293b)}.igs-stakeholder-header .header-title svg{color:var(--accent, #3b82f6)}.igs-stakeholder-content{display:grid;grid-template-columns:380px 1fr;gap:20px;flex:1;min-height:0}.org-list-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;display:flex;flex-direction:column;overflow:hidden}.org-list-filters{margin-bottom:16px}.org-list-filters .search-box{display:flex;align-items:center;gap:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:10px 14px;margin-bottom:12px}.org-list-filters .search-box svg{color:var(--text-secondary, #64748b)}.org-list-filters .search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary, #1e293b);outline:none}.org-list-filters .search-box input::-moz-placeholder{color:var(--text-secondary, #64748b)}.org-list-filters .search-box input::placeholder{color:var(--text-secondary, #64748b)}.org-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.org-list::-webkit-scrollbar{display:none}.org-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease}.org-card:hover{border-color:var(--accent, #3b82f6);box-shadow:0 4px 12px #3b82f61a}.org-card.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f60d,#0ea5e90d)}.org-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.org-type-icon{font-size:24px}.org-type-icon.large{font-size:32px}.org-info{flex:1}.org-info h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.org-info .org-type{font-size:12px;color:var(--text-secondary, #64748b)}.tier-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.tier-badge.tier-a{background:#10b9811a;color:var(--success, #10b981)}.tier-badge.tier-b{background:#f59e0b1a;color:var(--warning, #f59e0b)}.tier-badge.tier-c{background:#ef44441a;color:var(--error, #ef4444)}.org-card-stats{display:flex;align-items:center;gap:16px;padding-top:12px;border-top:1px solid var(--border, #e2e8f0)}.org-card-stats .stat-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.org-card-stats .stat-item.amount{margin-left:auto;font-weight:600;color:var(--accent, #3b82f6)}.org-card-footer{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border, #e2e8f0)}.org-card-footer .sales-rep{font-size:12px;color:var(--text-secondary, #64748b)}.org-detail-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:24px;display:flex;flex-direction:column;overflow:hidden}.detail-header{margin-bottom:20px}.detail-meta .org-type{font-size:13px;color:var(--text-secondary, #64748b)}.detail-address{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary, #64748b)}.detail-tabs{display:flex;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:10px;background:transparent;font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:var(--panel, #ffffff)}.tab-btn.active{background:var(--accent, #3b82f6);color:#fff}.detail-content{flex:1;overflow:hidden}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tab-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.contacts-tab{height:100%;display:flex;flex-direction:column;overflow:hidden}.contacts-tab .contacts-content{display:flex;gap:20px;flex:1;min-height:0;overflow:hidden}.contacts-tab .contacts-list{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0;overflow-y:auto}.contact-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:12px;transition:all .2s ease;cursor:pointer}.contact-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--accent, #3b82f6)}.contact-card.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f608,#3b82f614)}.contact-card.primary{border-color:var(--warning, #f59e0b);background:linear-gradient(135deg,#f59e0b08,#f59e0b14)}.contact-card.primary.selected{border-color:var(--accent, #3b82f6)}.contact-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent, #3b82f6),#0ea5e9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}.contact-info{flex:1}.contact-name{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.contact-name .star-icon{color:var(--warning, #f59e0b)}.contact-role{font-size:13px;color:var(--text-primary, #1e293b);margin-top:2px}.contact-level{font-size:12px;color:var(--text-secondary, #64748b);margin-top:2px}.contact-personality-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;margin-top:6px}.contact-personality-badge .personality-icon{font-size:12px}.personality-detail-panel{width:380px;flex-shrink:0;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:16px;padding:0;overflow-y:auto;scrollbar-width:thin}.personality-header{padding:20px;border-bottom:3px solid;background:var(--panel, #ffffff)}.personality-type-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;color:#fff;font-weight:600;margin-bottom:8px}.personality-icon-large{font-size:20px}.personality-type-name{font-size:16px}.personality-contact-name{font-size:14px;color:var(--text-secondary, #64748b);margin-top:4px}.personality-section{padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.personality-section:last-of-type{border-bottom:none}.personality-section .section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:10px}.personality-section .section-title svg{color:var(--accent, #3b82f6)}.personality-section .section-description{font-size:13px;line-height:1.7;color:var(--text-secondary, #64748b);margin:0}.personality-note{background:var(--bg-secondary, #f8fafc)}.personality-note .note-content{font-size:13px;line-height:1.7;color:var(--text-primary, #1e293b);padding:12px 14px;background:var(--panel, #ffffff);border-radius:8px;border-left:3px solid var(--warning, #f59e0b)}.traits-list{display:flex;flex-wrap:wrap;gap:8px}.trait-chip{display:inline-block;padding:5px 12px;border-radius:16px;font-size:12px;font-weight:500;color:var(--text-primary, #1e293b)}.strengths-list,.cautions-list{margin:0;padding:0 0 0 18px;list-style:none}.strengths-list li,.cautions-list li{position:relative;padding:4px 0;font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}.strengths-list li:before{content:"✓";position:absolute;left:-18px;color:var(--success, #10b981);font-weight:600}.cautions-list li:before{content:"•";position:absolute;left:-14px;color:var(--warning, #f59e0b);font-weight:600}.caution-section{background:var(--bg-secondary, #f8fafc)}.caution-section .section-title .caution-icon{color:var(--warning, #f59e0b)}.approach-section{border-radius:0 0 16px 16px}.approach-section .approach-content{font-size:13px;line-height:1.7;color:var(--text-primary, #1e293b);margin:0;font-weight:500}.personality-keywords{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px}.keyword-chip{display:inline-block;padding:4px 10px;border:1px solid;border-radius:12px;font-size:11px;font-weight:500;background:transparent}.contact-actions{display:flex;gap:8px}.contact-actions .action-btn{width:36px;height:36px;border-radius:10px;background:var(--bg-secondary, #f1f5f9);display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #64748b);transition:all .2s ease;text-decoration:none}.contact-actions .action-btn:hover{background:var(--accent, #3b82f6);color:#fff}.projects-list{display:flex;flex-direction:column;gap:8px}.project-row{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .2s ease}.project-row:hover{border-color:var(--accent, #3b82f6)}.project-main{flex:1;min-width:0}.project-name{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-no{font-size:12px;color:var(--text-secondary, #64748b)}.project-status{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.project-status.status-opportunity{background:#64748b1a;color:#64748b}.project-status.status-quote{background:#f59e0b1a;color:#f59e0b}.project-status.status-order{background:#3b82f61a;color:#3b82f6}.project-status.status-production{background:#8b5cf61a;color:#8b5cf6}.project-status.status-delivery{background:#10b9811a;color:#10b981}.project-status.status-settled{background:#94a3b81a;color:#94a3b8}.project-amount{font-size:14px;font-weight:600;color:var(--accent, #3b82f6);white-space:nowrap;min-width:80px;text-align:right}.project-progress{display:flex;align-items:center;gap:8px;min-width:100px}.project-progress .progress-bar{flex:1;height:6px;background:var(--bg-secondary, #f1f5f9);border-radius:3px;overflow:hidden}.project-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--accent, #3b82f6),#0ea5e9);border-radius:3px}.project-progress span{font-size:12px;color:var(--text-secondary, #64748b);min-width:35px}.project-row .chevron{color:var(--text-secondary, #64748b)}.project-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden;transition:all .2s ease}.project-card:hover{border-color:var(--accent, #3b82f6)}.project-card.expanded{border-color:var(--accent, #3b82f6);box-shadow:0 4px 12px #3b82f61a}.project-card .project-row{border:none;border-radius:0;background:transparent}.project-card .project-row:hover{border-color:transparent}.expand-toggle{color:var(--text-secondary, #64748b);transition:transform .2s ease}.project-card.expanded .expand-toggle{color:var(--accent, #3b82f6)}.project-details{padding:12px 16px 16px;display:flex;gap:16px;border-top:1px solid var(--border, #e2e8f0);margin-top:-4px}.detail-section{flex:1;min-width:0}.section-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:8px}.partners-list{display:flex;flex-wrap:wrap;gap:6px}.partner-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:16px;font-size:12px;color:var(--text-primary, #1e293b)}.partner-chip.primary{background:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.partner-role{font-weight:600;color:var(--accent, #3b82f6)}.partner-name{font-weight:500;color:var(--text-primary, #1e293b)}.partner-contact{font-size:11px;color:var(--text-secondary, #64748b)}.primary-indicator{color:var(--accent, #3b82f6)}.competitors-list{display:flex;flex-wrap:wrap;gap:6px}.competitor-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#ef444414;border-radius:16px;font-size:12px;color:var(--text-primary, #1e293b);border:1px solid rgba(239,68,68,.2)}.competitor-chip svg{color:#ef4444}.competitor-name{font-weight:500}.competitor-price{color:var(--text-secondary, #64748b);font-size:11px}.competitor-chip .result-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.competitor-chip .result-badge.loss{background:#ef444426;color:#ef4444}.competitor-chip .result-badge.win{background:#10b98126;color:#10b981}.competitor-chip.unknown{background:#94a3b81a;border-color:#94a3b84d}.competitor-chip.unknown svg{color:#64748b}.no-data{font-size:12px;color:var(--text-secondary, #64748b);font-style:italic}.interactions-timeline{display:flex;flex-direction:column;gap:16px}.interaction-item{display:flex;gap:16px}.interaction-icon{width:40px;height:40px;border-radius:10px;background:var(--bg-secondary, #f1f5f9);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.interaction-content{flex:1;padding:16px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px}.interaction-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.interaction-type{padding:3px 8px;background:var(--accent, #3b82f6);color:#fff;border-radius:4px;font-size:11px;font-weight:500}.interaction-date{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.interaction-subject{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:6px}.interaction-body{font-size:13px;color:var(--text-secondary, #64748b);line-height:1.6;margin-bottom:10px}.interaction-meta{display:flex;align-items:center;gap:16px;padding-top:10px;border-top:1px dashed var(--border, #e2e8f0)}.interaction-meta span{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.interaction-meta .follow-up{color:var(--warning, #f59e0b);font-weight:500}.project-details-wrapper{padding:12px 16px 16px;border-top:1px solid var(--border, #e2e8f0);margin-top:-4px;display:flex;flex-direction:column;gap:16px}.project-details-wrapper .detail-row{display:flex;gap:16px}.activity-section{background:var(--bg-secondary, #f8fafc);border-radius:8px;padding:12px}.activity-section .section-header{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border, #e2e8f0)}.activity-table{width:100%;border-collapse:collapse;font-size:12px}.activity-table th{padding:8px 10px;text-align:left;font-weight:600;color:var(--text-secondary, #64748b);background:var(--panel, #ffffff);border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.activity-table td{padding:8px 10px;vertical-align:top;border-bottom:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b)}.activity-table tbody tr:hover{background:#3b82f608}.activity-table tbody tr:last-child td{border-bottom:none}.activity-date{white-space:nowrap;color:var(--text-secondary, #64748b);font-size:11px}.activity-type-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;color:#fff;white-space:nowrap}.activity-type-badge.type-meeting{background:#3b82f6}.activity-type-badge.type-call{background:#10b981}.activity-type-badge.type-email{background:#8b5cf6}.activity-type-badge.type-visit{background:#f59e0b}.activity-type-badge.type-quote{background:#06b6d4}.activity-type-badge.type-negotiation{background:#ec4899}.activity-type-badge.type-contract{background:#22c55e}.activity-subject{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-participant{color:var(--text-secondary, #64748b);font-size:11px;white-space:nowrap}.activity-result{max-width:180px;font-size:11px;line-height:1.4}.activity-result .next-action{display:block;margin-top:4px;color:var(--accent, #3b82f6);font-weight:500;font-size:10px}.activity-creator{color:var(--text-secondary, #64748b);font-size:11px;white-space:nowrap}.igs-master-plan{padding:24px;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-primary);box-sizing:border-box}.igs-master-plan .plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.igs-master-plan .plan-header .header-title{display:flex;align-items:center;gap:12px}.igs-master-plan .plan-header .header-title h1{margin:0;font-size:22px;font-weight:600;color:var(--text-primary)}.igs-master-plan .plan-header .header-title svg{color:var(--primary)}.igs-master-plan .plan-header .project-filter{padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);font-size:13px;color:var(--text-primary);min-width:180px;cursor:pointer}.igs-master-plan .calendar-nav{display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 20px;margin-bottom:12px;flex-shrink:0}.igs-master-plan .nav-buttons{display:flex;align-items:center;gap:8px}.igs-master-plan .nav-btn{width:32px;height:32px;border:none;border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.igs-master-plan .nav-btn:hover{background:var(--primary);color:#fff}.igs-master-plan .today-btn{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--panel);font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.igs-master-plan .today-btn:hover{border-color:var(--primary);color:var(--primary)}.igs-master-plan .current-period{display:flex;align-items:center;gap:10px}.igs-master-plan .current-period .year{font-size:16px;font-weight:600;color:var(--text-primary)}.igs-master-plan .current-period .week{font-size:16px;font-weight:700;color:var(--primary)}.igs-master-plan .current-period .date-range{font-size:13px;color:var(--text-secondary)}.igs-master-plan .legend{display:flex;gap:16px}.igs-master-plan .legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.igs-master-plan .legend-color{width:10px;height:10px;border-radius:2px}.igs-master-plan .plan-summary{display:flex;gap:12px;margin-bottom:12px;flex-shrink:0}.igs-master-plan .plan-summary .summary-card{flex:1;display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.igs-master-plan .plan-summary .summary-card svg{color:var(--primary);flex-shrink:0}.igs-master-plan .plan-summary .summary-card.warning svg{color:#f59e0b}.igs-master-plan .plan-summary .summary-content{display:flex;flex-direction:column;gap:2px}.igs-master-plan .plan-summary .summary-label{font-size:12px;color:var(--text-secondary)}.igs-master-plan .plan-summary .summary-value{font-size:18px;font-weight:700;color:var(--text-primary)}.igs-master-plan .gantt-container{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column}.igs-master-plan .gantt-header{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;height:48px}.igs-master-plan .gantt-project-col{width:180px;flex-shrink:0;padding:0 16px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);border-right:1px solid var(--border);display:flex;align-items:center}.igs-master-plan .gantt-timeline{flex:1;display:flex;position:relative}.igs-master-plan .gantt-header .gantt-day{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--border);padding:6px 2px}.igs-master-plan .gantt-header .gantt-day:last-child{border-right:none}.igs-master-plan .gantt-header .gantt-day.today{background:#3b82f61f}.igs-master-plan .gantt-header .gantt-day.weekend{background:var(--bg-tertiary)}.igs-master-plan .gantt-header .day-name{font-size:10px;color:var(--text-secondary);line-height:1}.igs-master-plan .gantt-header .day-date{font-size:14px;font-weight:600;color:var(--text-primary);margin-top:2px;line-height:1}.igs-master-plan .gantt-header .gantt-day.today .day-date{color:var(--primary)}.igs-master-plan .gantt-body{flex:1;overflow-y:auto;min-height:0}.igs-master-plan .project-group{border-bottom:1px solid var(--border)}.igs-master-plan .project-group:last-child{border-bottom:none}.igs-master-plan .project-row{display:flex;background:var(--bg-secondary);height:36px}.igs-master-plan .project-info{width:180px;flex-shrink:0;padding:0 12px;display:flex;align-items:center;gap:8px;border-right:1px solid var(--border)}.igs-master-plan .project-name{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.igs-master-plan .due-warning{display:flex;align-items:center;gap:3px;padding:2px 6px;background:#ef444426;border-radius:4px;font-size:10px;font-weight:600;color:#ef4444}.igs-master-plan .gantt-timeline.empty{background:transparent}.igs-master-plan .phase-row{display:flex;height:32px;border-bottom:1px solid var(--border)}.igs-master-plan .phase-row:last-child{border-bottom:none}.igs-master-plan .phase-info{width:180px;flex-shrink:0;padding:0 12px 0 24px;display:flex;align-items:center;gap:6px;border-right:1px solid var(--border);background:var(--panel)}.igs-master-plan .phase-icon{width:18px;height:18px;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.igs-master-plan .phase-icon svg{width:12px;height:12px}.igs-master-plan .phase-name{font-size:11px;font-weight:500;color:var(--text-primary)}.igs-master-plan .assignee{font-size:10px;color:var(--text-secondary);margin-left:auto}.igs-master-plan .grid-cell{flex:1;height:32px;border-right:1px solid var(--border)}.igs-master-plan .grid-cell:last-child{border-right:none}.igs-master-plan .grid-cell.today{background:#3b82f60f}.igs-master-plan .grid-cell.weekend{background:var(--bg-tertiary)}.igs-master-plan .gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:20px;border-radius:4px;display:flex;align-items:center;overflow:hidden;z-index:1;box-shadow:0 1px 4px #00000026}.igs-master-plan .bar-progress{position:absolute;left:0;top:0;height:100%;background:#ffffff40;border-radius:4px 0 0 4px}.igs-master-plan .bar-label{position:relative;z-index:1;padding-left:6px;font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.igs-master-plan .bar-progress-label{position:relative;z-index:1;margin-left:auto;padding-right:6px;font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.3);white-space:nowrap}@media (max-width: 1200px){.igs-master-plan .gantt-project-col,.igs-master-plan .project-info,.igs-master-plan .phase-info{width:160px}.igs-master-plan .legend{display:none}}@media (max-width: 768px){.igs-master-plan .plan-summary{flex-direction:column}}.master-planning{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary, #f8fafc);padding:1.5rem;gap:1.25rem;overflow:auto}.planning-header{display:flex;justify-content:space-between;align-items:center;padding:0 .5rem}.header-left svg{color:var(--primary, #3b82f6)}.header-left h1{font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.header-left .subtitle{color:var(--text-secondary, #64748b);font-size:.875rem;padding-left:.75rem;border-left:1px solid var(--border, #e2e8f0)}.header-actions{display:flex;gap:.5rem}.btn-primary,.btn-secondary{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--primary, #3b82f6);color:#fff;border:none}.btn-primary:hover{background:var(--primary-hover, #2563eb)}.btn-secondary{background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);border:1px solid var(--border, #e2e8f0)}.btn-secondary:hover{background:var(--bg-secondary, #f8fafc)}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.summary-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.summary-card.warning{border-left:3px solid #f59e0b}.card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--bg-secondary, #f1f5f9);color:var(--primary, #3b82f6)}.card-icon.progress{background:#dbeafe;color:#2563eb}.card-icon.warning{background:#fef3c7;color:#d97706}.card-content{display:flex;flex-direction:column}.card-value{font-size:1.5rem;font-weight:600;color:var(--text-primary, #1e293b)}.card-label{font-size:.75rem;color:var(--text-secondary, #64748b)}.week-navigation{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.week-nav-left{display:flex;align-items:center;gap:.5rem}.nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.nav-btn:hover{background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b)}.week-display{display:flex;align-items:center;gap:.5rem;padding:0 1rem}.week-year{color:var(--text-secondary, #64748b);font-size:.875rem}.week-number{font-weight:600;color:var(--text-primary, #1e293b)}.btn-today{padding:.375rem .75rem;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--primary, #3b82f6);font-size:.8125rem;font-weight:500;cursor:pointer;margin-left:.5rem}.btn-today:hover{background:var(--bg-secondary, #f8fafc)}.capacity-summary{display:flex;gap:2rem}.capacity-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.capacity-label{font-size:.75rem;color:var(--text-secondary, #64748b)}.capacity-value{font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.capacity-value.allocated{color:#2563eb}.capacity-value.available{color:#059669}.capacity-value.high{color:#dc2626}.capacity-value.medium{color:#d97706}.capacity-value.low{color:#059669}.filter-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary, #f8fafc);border-radius:6px;border:1px solid var(--border, #e2e8f0);flex:1;max-width:320px}.search-box svg{color:var(--text-secondary, #64748b)}.search-box input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--text-primary, #1e293b);outline:none}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group svg{color:var(--text-secondary, #64748b)}.filter-group select{padding:.5rem .75rem;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);font-size:.875rem;color:var(--text-primary, #1e293b);cursor:pointer}.view-toggle{display:flex;margin-left:auto;border:1px solid var(--border, #e2e8f0);border-radius:6px;overflow:hidden}.toggle-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:none;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);font-size:.8125rem;cursor:pointer;transition:all .15s ease}.toggle-btn:not(:last-child){border-right:1px solid var(--border, #e2e8f0)}.toggle-btn.active{background:var(--primary, #3b82f6);color:#fff}.toggle-btn:not(.active):hover{background:var(--bg-secondary, #f8fafc)}.planning-content{flex:1;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);overflow:hidden}.plan-list{height:100%;overflow:auto}.plan-table{width:100%;border-collapse:collapse;font-size:.875rem}.plan-table th{position:sticky;top:0;background:var(--bg-secondary, #f8fafc);padding:.75rem 1rem;text-align:left;font-weight:500;color:var(--text-secondary, #64748b);border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}.plan-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border, #f1f5f9);color:var(--text-primary, #1e293b);vertical-align:middle}.plan-table tr:hover{background:var(--bg-secondary, #f8fafc)}.plan-table tr.row-delayed{background:#fef2f2}.plan-table tr.row-delayed:hover{background:#fee2e2}.plan-id{font-family:monospace;color:var(--text-secondary, #64748b)}.project-info{display:flex;flex-direction:column;gap:.125rem}.project-name{font-weight:500}.project-id{font-size:.75rem;color:var(--text-secondary, #94a3b8)}.quantity{font-family:monospace;font-weight:500}.period{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary, #64748b)}.period .separator{color:var(--border, #cbd5e1)}.status-badge{display:inline-flex;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.badge-planned{background:#f1f5f9;color:#64748b}.badge-progress{background:#dbeafe;color:#1d4ed8}.badge-completed{background:#d1fae5;color:#059669}.badge-delayed{background:#fee2e2;color:#dc2626}.priority-badge{display:inline-flex;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.priority-high{background:#fef3c7;color:#b45309}.priority-medium{background:#e0e7ff;color:#4338ca}.priority-low{background:#f1f5f9;color:#64748b}.progress-cell{display:flex;align-items:center;gap:.5rem}.progress-bar{flex:1;height:6px;background:var(--bg-secondary, #e2e8f0);border-radius:3px;overflow:hidden;min-width:60px}.progress-fill{height:100%;background:var(--primary, #3b82f6);border-radius:3px;transition:width .3s ease}.progress-text{font-size:.75rem;font-weight:500;color:var(--text-secondary, #64748b);min-width:32px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary, #94a3b8);gap:1rem}.empty-state p{margin:0;font-size:.9375rem}.timeline-view,.calendar-view{height:100%;display:flex;align-items:center;justify-content:center}.timeline-placeholder,.calendar-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary, #94a3b8);text-align:center}.timeline-placeholder svg,.calendar-placeholder svg{opacity:.3}.timeline-placeholder h3,.calendar-placeholder h3{margin:0;font-size:1.125rem;font-weight:500;color:var(--text-primary, #64748b)}.timeline-placeholder p,.calendar-placeholder p{margin:0;font-size:.875rem}@media (max-width: 1200px){.summary-cards{grid-template-columns:repeat(2,1fr)}.capacity-summary{flex-wrap:wrap;gap:1rem}}@media (max-width: 768px){.master-planning{padding:1rem}.planning-header{flex-direction:column;align-items:flex-start;gap:1rem}.summary-cards{grid-template-columns:1fr}.week-navigation{flex-direction:column;gap:1rem}.filter-bar{flex-wrap:wrap}.search-box{max-width:none;width:100%}.view-toggle{margin-left:0;width:100%;justify-content:center}}.master-planning-workflow ::-webkit-scrollbar{width:6px;height:6px}.master-planning-workflow ::-webkit-scrollbar-track{background:transparent}.master-planning-workflow ::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.master-planning-workflow ::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.master-planning-workflow *{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.master-planning-workflow{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);overflow:hidden;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.master-planning-workflow input,.master-planning-workflow select,.master-planning-workflow textarea,.master-planning-workflow button,.master-planning-workflow *{font-family:inherit}.workflow-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--panel);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:.75rem}.header-left svg{color:var(--primary)}.header-title h1{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.header-title .subtitle{font-size:.8125rem;color:var(--text-secondary)}.header-right{display:flex;gap:.5rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.workflow-stepper-container{padding:1rem 1.5rem;background:var(--panel);border-bottom:1px solid var(--border)}.workflow-stepper{max-width:1200px;margin:0 auto}.stepper-track{display:flex;align-items:center}.stepper-step{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.stepper-step.accessible:hover{background:var(--hover-bg)}.stepper-step.disabled{cursor:not-allowed;opacity:.5}.step-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8125rem;font-weight:600;transition:all .2s ease}.stepper-step.active .step-indicator{background:var(--primary);color:var(--on-accent)}.stepper-step.completed .step-indicator{background:var(--success);color:var(--on-accent)}.step-content{display:flex;flex-direction:column}.step-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.step-description{font-size:.75rem;color:var(--text-tertiary);display:none}.stepper-step.active .step-description{display:block}.stepper-connector{flex:1;height:2px;background:var(--border);margin:0 .5rem;min-width:20px}.stepper-connector.completed{background:var(--success)}.stepper-mobile-info{display:none}.workflow-body{display:flex;flex:1;overflow:hidden;gap:1rem;padding:1rem 1.5rem}.workflow-main{flex:1;overflow-y:auto;background:var(--panel);border-radius:8px;border:1px solid var(--border);padding:1.5rem}.workflow-main.full-width{max-width:none;width:100%;padding:1rem}.workflow-sidebar{width:280px;flex-shrink:0}.sidebar-card{background:var(--panel);border-radius:8px;border:1px solid var(--border);padding:1rem}.sidebar-card h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.summary-item{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.summary-label{font-size:.75rem;color:var(--text-secondary)}.summary-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.summary-value.highlight{color:var(--primary)}.summary-value.empty{color:var(--text-tertiary);font-weight:400}.summary-divider{height:1px;background:var(--border);margin:1rem 0}.highlight-box{background:var(--bg-secondary);border-radius:6px;padding:.75rem}.highlight-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.highlight-row:last-child{margin-bottom:0}.highlight-label{font-size:.75rem;color:var(--text-secondary)}.highlight-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.highlight-value.positive{color:var(--success)}.highlight-value.negative{color:var(--error)}.workflow-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--panel);border-top:1px solid var(--border)}.footer-step-indicator{font-size:.875rem;color:var(--text-secondary)}.btn-primary,.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--primary);color:var(--on-accent);border:none}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-text{background:none;border:none;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;display:flex;align-items:center;gap:.25rem}.btn-text:hover{color:var(--primary)}.error-banner{background:var(--error-bg);border:1px solid var(--error);color:var(--error);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.step-header{margin-bottom:1.5rem}.step-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.step-title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.step-description{font-size:.875rem;color:var(--text-secondary);margin:0}.context-info{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px;font-size:.8125rem}.context-label{color:var(--text-secondary)}.context-value{color:var(--text-primary);font-weight:500}.context-divider{color:var(--border)}.step-demand-select .status-summary-cards{display:flex;gap:.75rem;margin-bottom:1rem}.status-card{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.status-card:hover{border-color:var(--primary)}.status-card.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.status-card.urgent{border-left:3px solid var(--error)}.status-count{font-weight:600;font-size:1rem}.status-label{font-size:.8125rem}.search-filter-bar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;flex:1;max-width:400px}.search-box input::-moz-placeholder{color:var(--text-tertiary)}.search-box input::placeholder{color:var(--text-tertiary)}.filter-options select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:.875rem;cursor:pointer}.demand-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem;max-height:480px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.demand-list::-webkit-scrollbar{width:5px}.demand-list::-webkit-scrollbar-track{background:transparent}.demand-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.demand-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.demand-card.compact{display:flex;flex-direction:column;padding:.75rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease;position:relative;min-height:140px}.demand-card.compact:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.demand-card.compact.selected{border-color:var(--primary);border-width:2px;background:var(--accent-bg);box-shadow:0 0 0 2px #3b82f626}.demand-card.compact.selected:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary);border-radius:6px 6px 0 0}.demand-card.compact.urgent,.demand-card.compact.urgent.selected{border-left:3px solid var(--error)}.compact-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem}.checkbox-sm{width:18px;height:18px;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.checkbox-sm.checked{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.demand-id-sm{font-family:SF Mono,Consolas,monospace;font-size:.625rem;color:var(--text-tertiary);font-weight:500}.badges-row{display:flex;gap:.25rem;margin-left:auto}.badge-sm{padding:.0625rem .375rem;border-radius:3px;font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.project-name-compact{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.customer-compact{font-size:.6875rem;color:var(--text-secondary);margin-top:.125rem;display:block}.compact-metrics{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border)}.compact-metrics .metric{display:flex;align-items:baseline;gap:.125rem}.compact-metrics .metric-value{font-size:.9375rem;font-weight:700;color:var(--primary)}.compact-metrics .metric-unit{font-size:.625rem;color:var(--text-secondary)}.compact-metrics .metric-date{font-size:.6875rem;color:var(--text-secondary);margin-left:.25rem}.compact-metrics .metric svg{color:var(--text-tertiary)}.spec-compact{display:flex;gap:0;font-size:.5625rem;color:var(--text-tertiary);margin-top:.375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parts-compact{display:flex;align-items:center;gap:.25rem;font-size:.625rem;color:var(--text-secondary);margin-top:.25rem}.parts-compact svg{color:var(--text-tertiary)}.parts-compact-list{margin-top:.375rem;padding-top:.375rem;border-top:1px dashed var(--border)}.parts-compact-header{display:flex;align-items:center;gap:.25rem;font-size:.5625rem;font-weight:500;color:var(--text-secondary);margin-bottom:.25rem}.parts-compact-header svg{color:var(--text-tertiary)}.parts-compact-items{display:flex;flex-direction:column;gap:.125rem}.parts-compact-item{display:flex;align-items:center;gap:.375rem;font-size:.5625rem;line-height:1.3;color:var(--text-secondary)}.parts-compact-item .item-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.5rem;color:var(--text-primary);font-weight:500}.parts-compact-item .item-spec{flex-shrink:0;font-size:.5625rem;color:var(--text-secondary);font-family:Consolas,Monaco,monospace}.parts-compact-item .item-qty{flex-shrink:0;min-width:20px;text-align:right;font-weight:500;color:var(--primary)}.demand-card:not(.compact){display:flex;align-items:stretch;padding:1rem;background:var(--panel);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative}.demand-card:not(.compact):hover{border-color:var(--primary);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.demand-card:not(.compact).selected{border-color:var(--primary);border-width:2px;background:var(--accent-bg);box-shadow:0 0 0 3px var(--accent-bg),0 4px 16px #3b82f633}.demand-card:not(.compact).selected:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary);border-radius:8px 8px 0 0}.demand-card:not(.compact).urgent{border-left:4px solid var(--error)}.card-select-indicator{display:flex;align-items:center;padding-right:1rem}.checkbox{width:24px;height:24px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.checkbox.checked{background:var(--primary);border-color:var(--primary);color:var(--on-accent);box-shadow:0 2px 8px #3b82f666;transform:scale(1.1)}.card-main-content{flex:1}.card-header-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.demand-id{font-family:monospace;font-size:.75rem;color:var(--text-secondary)}.status-badge,.priority-badge{display:inline-flex;padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:500}.project-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.card-meta-row{display:flex;gap:1rem;margin-bottom:.5rem}.meta-item{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.card-quantity-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.quantity-label{font-size:.75rem;color:var(--text-secondary)}.quantity-value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.quantity-divider{color:var(--border)}.card-spec-row{display:flex;gap:.375rem;flex-wrap:wrap}.spec-badge{padding:.125rem .375rem;background:var(--bg-secondary);border-radius:3px;font-size:.6875rem;color:var(--text-secondary)}.card-remarks{font-size:.8125rem;color:var(--text-secondary);margin:.5rem 0 0;font-style:italic}.card-parts-section{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.parts-header{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.parts-list{display:flex;flex-direction:column;gap:.25rem}.part-item{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;padding:.375rem .5rem;background:var(--bg-secondary);border-radius:4px;font-size:.75rem}.part-label{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-size{color:var(--text-secondary);font-family:monospace;font-size:.6875rem}.part-qty{color:var(--primary);font-weight:600;white-space:nowrap}.parts-more{font-size:.6875rem;color:var(--text-tertiary);text-align:center;padding:.25rem}.card-arrow{display:flex;align-items:center;padding-left:1rem;color:var(--border)}.demand-card:hover .card-arrow{color:var(--primary)}.selected-summary{margin-top:1rem;padding:1rem;background:var(--accent-bg);border:1px solid var(--primary);border-radius:8px}.selected-summary .summary-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--primary);font-weight:600}.selected-summary .summary-content{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.selected-summary .summary-item{margin-bottom:0}.selected-summary .item-label{font-size:.75rem;color:var(--text-secondary)}.selected-summary .item-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-tertiary);gap:1rem}.empty-state svg{opacity:.5}.empty-state p{margin:0}.step-input-data.compact{display:flex;flex-direction:column;height:100%}.step-input-data.compact .method-selection{gap:.75rem;margin-bottom:1rem}.step-input-data.compact .method-option{padding:.875rem 1rem}.step-input-data.compact .method-icon{width:40px;height:40px;margin-bottom:.5rem}.step-input-data.compact .method-content h3{font-size:.875rem}.step-input-data.compact .method-content p{font-size:.75rem}.step-input-data.compact .method-content-area{flex:1;min-height:0;overflow:visible;margin-bottom:0}.step-input-data.compact .selected-plan-detail{padding:.875rem;margin-bottom:.75rem}.step-input-data.compact .selected-plan-detail .detail-grid{gap:.75rem;margin-bottom:.5rem}.step-input-data.compact .auto-loaded-notice{padding:.5rem .75rem;margin-bottom:.75rem;font-size:.75rem}.requested-parts-section.collapsible{margin-bottom:1rem}.requested-parts-section.collapsible .section-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s ease}.requested-parts-section.collapsible .section-header:hover{background:var(--hover-bg)}.requested-parts-section.collapsible:not(.expanded) .parts-table{display:none}.requested-parts-section.collapsible .section-header h3{flex:1;font-size:.875rem}.requested-parts-section.collapsible .parts-table-body{max-height:160px}.method-selection{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.method-selection.two-options{grid-template-columns:repeat(2,1fr)}.method-option{display:flex;flex-direction:column;padding:1rem;background:var(--panel);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.method-option:hover:not(.disabled){border-color:var(--primary)}.method-option.active{border-color:var(--primary);background:var(--accent-bg)}.method-option.disabled{opacity:.6;cursor:not-allowed}.method-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:6px;background:var(--bg-secondary);color:var(--primary);margin-bottom:.5rem}.method-option.active .method-icon{background:var(--primary);color:var(--on-accent)}.method-content h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .125rem}.method-content p{font-size:.75rem;color:var(--text-secondary);margin:0}.coming-soon{display:inline-block;padding:.125rem .375rem;background:var(--bg-secondary);border-radius:3px;font-size:.6875rem;color:var(--text-tertiary);margin-top:.5rem}.method-check{display:flex;justify-content:flex-end;color:var(--primary);margin-top:auto}.method-content-area{margin-bottom:1.5rem}.plan-two-column{display:flex;gap:1rem;height:100%}.plan-column-left,.plan-column-right{flex:1;min-width:0;display:flex;flex-direction:column}.plan-column-left .column-header,.plan-column-right .column-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px 6px 0 0;border:1px solid var(--border);border-bottom:none}.column-header h4{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.column-header svg{color:var(--primary);flex-shrink:0}.plan-column-left .selected-plan-detail{flex:1;border-radius:0 0 6px 6px;border:1px solid var(--border);border-top:none;margin-bottom:0}.plan-column-left .no-plan-notice.compact{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:var(--panel);border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;color:var(--text-tertiary);gap:.5rem}.plan-column-left .no-plan-notice.compact p{margin:0;font-size:.8125rem}.plan-column-right .plan-list-compact{flex:1;border-radius:0 0 6px 6px;border-top:none;max-height:none}.plan-row.selected{background:var(--accent-bg);border:1px solid var(--primary)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:1rem}.section-header.clickable{cursor:pointer;gap:.5rem;transition:background .15s ease}.section-header.clickable:hover{background:var(--hover-bg)}.section-header.clickable h3{flex:1}.section-header h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.section-header svg{color:var(--text-secondary);flex-shrink:0}.view-only-badge{padding:.125rem .5rem;background:var(--text-muted);color:var(--panel);font-size:.625rem;font-weight:600;border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.plan-list-compact{display:flex;flex-direction:column;gap:.375rem;max-height:150px;overflow-y:auto;padding:.5rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.plan-list-compact::-webkit-scrollbar{width:5px}.plan-list-compact::-webkit-scrollbar-track{background:transparent}.plan-list-compact::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.plan-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:4px;font-size:.8125rem;transition:background .15s ease}.plan-row:hover{background:var(--hover-bg)}.plan-row.linked{background:var(--accent-bg);border:1px solid var(--primary)}.plan-row-main{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.plan-row .plan-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-row .plan-date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-tertiary);flex-shrink:0}.plan-row .plan-date svg{color:var(--text-muted)}.plan-row-stats{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.plan-row-stats .stat-item{font-size:.75rem;color:var(--text-secondary);font-weight:500}.plan-row-stats .stat-item.loss{color:var(--warning)}.plan-row .linked-badge{margin-left:.375rem;padding:.0625rem .25rem;font-size:.5625rem}.plan-list{display:flex;flex-direction:column;gap:.75rem}.plan-list.view-only .plan-card{cursor:default;opacity:.9}.plan-list.view-only .plan-card:hover{border-color:var(--border);transform:none;box-shadow:none}.plan-card.linked{border-color:var(--primary);background:var(--accent-bg)}.linked-badge{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;background:var(--primary);color:var(--on-accent);font-size:.625rem;font-weight:600;border-radius:3px;vertical-align:middle}.plan-card{display:flex;align-items:center;padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.plan-card:hover{border-color:var(--primary)}.plan-card.selected{border-color:var(--primary);background:var(--accent-bg)}.plan-select{padding-right:1rem}.radio{width:18px;height:18px;border:2px solid var(--border);border-radius:50%}.radio.checked{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px var(--panel)}.plan-info{flex:1}.plan-info h4{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.plan-meta{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;color:var(--text-secondary)}.plan-meta svg{width:14px;height:14px}.project-tag{padding:.125rem .375rem;background:var(--bg-secondary);border-radius:3px;font-size:.75rem}.plan-stats{display:flex;gap:1.5rem}.plan-stats .stat{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.auto-loaded-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--accent-bg);border:1px solid var(--primary);border-radius:6px;margin-bottom:1rem;font-size:.8125rem;color:var(--primary)}.auto-loaded-notice svg{flex-shrink:0}.no-plan-notice{display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center;color:var(--text-tertiary);background:var(--bg-secondary);border-radius:8px;border:1px dashed var(--border)}.no-plan-notice svg{margin-bottom:.75rem;color:var(--text-muted)}.no-plan-notice p{margin:0;font-size:.875rem}.no-plan-notice p.sub{margin-top:.5rem;font-size:.8125rem;color:var(--text-muted)}.selected-plan-detail{padding:1rem;background:var(--accent-bg);border:1px solid var(--primary);border-radius:8px;margin-bottom:1rem}.selected-plan-detail .detail-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.selected-plan-detail .detail-header .check-icon{color:var(--primary)}.selected-plan-detail h4{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:.75rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item .label{font-size:.75rem;color:var(--text-secondary)}.detail-item .value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.spec-tags{display:flex;gap:.5rem;flex-wrap:wrap}.spec-tag{padding:.25rem .5rem;background:var(--panel);border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.section-header .btn-add{padding:.375rem .75rem;background:var(--primary);color:var(--on-accent);border:none;border-radius:4px;font-size:.8125rem;cursor:pointer}.empty-inputs{display:flex;flex-direction:column;align-items:center;padding:3rem;color:var(--text-tertiary);gap:1rem}.input-table{border:1px solid var(--border);border-radius:6px;overflow:hidden}.table-header{display:grid;grid-template-columns:1fr 120px 100px 60px;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.table-row{display:grid;grid-template-columns:1fr 120px 100px 60px;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--border-light);align-items:center}.table-row select,.table-row input{padding:.375rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem;width:100%;background:var(--input-bg);color:var(--text-primary)}.calculated-value{font-weight:500;color:var(--text-primary)}.btn-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:var(--error-bg);color:var(--error);border-radius:4px;cursor:pointer;font-size:1.25rem}.btn-remove:hover{opacity:.8}.table-footer{display:grid;grid-template-columns:1fr 120px 100px 60px;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border);font-weight:600;color:var(--text-primary)}.input-summary{padding:1rem;background:var(--bg-secondary);border-radius:8px}.input-summary h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.summary-grid .summary-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--panel);border-radius:6px;margin-bottom:0}.summary-grid .summary-item svg{color:var(--primary)}.summary-grid .summary-item .value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.summary-grid .summary-item .label{font-size:.75rem;color:var(--text-secondary)}.capacity-stats-bar{display:flex;gap:1rem;margin-bottom:1.5rem}.capacity-stats-bar .stat-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.capacity-stats-bar .stat-item.primary{background:var(--primary);border-color:var(--primary);color:#fff}.capacity-stats-bar .stat-item.primary .stat-value,.capacity-stats-bar .stat-item.primary .stat-label{color:#fff}.capacity-stats-bar .stat-content{display:flex;flex-direction:column}.capacity-stats-bar .stat-value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.capacity-stats-bar .stat-label{font-size:.75rem;color:var(--text-secondary)}.preset-section{margin-bottom:1.5rem}.preset-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.preset-header h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.btn-text-small{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;border-radius:4px;transition:all .15s ease}.btn-text-small:hover{color:var(--primary);background:var(--accent-bg)}.preset-radio-group{display:flex;gap:.75rem;flex-wrap:wrap}.preset-radio-item{flex:1;min-width:140px;max-width:180px;cursor:pointer}.preset-radio-item input[type=radio]{display:none}.preset-radio-content{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--panel);border:2px solid var(--border);border-radius:8px;transition:all .15s ease}.preset-radio-item:hover .preset-radio-content,.preset-radio-item.selected .preset-radio-content{border-color:var(--primary);background:var(--accent-bg)}.preset-radio-item.custom-item .preset-radio-content{border-color:var(--warning);background:#f59e0b1a}.preset-radio-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary)}.preset-radio-item.selected .preset-radio-icon{background:var(--primary);color:var(--on-accent)}.preset-radio-item.custom-item .preset-radio-icon{background:var(--warning);color:#fff}.preset-radio-info{display:flex;flex-direction:column;flex:1;min-width:0}.preset-radio-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.preset-radio-capacity{font-size:.75rem;color:var(--text-secondary)}.preset-check{color:var(--primary);flex-shrink:0}.preset-radio-item.custom-item .preset-check{color:var(--warning)}.current-config-summary{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px;font-size:.8125rem}.current-config-summary .summary-label{color:var(--text-secondary)}.current-config-summary .summary-value{color:var(--text-primary);font-weight:500}.detail-settings-section{margin-top:1rem}.section-summary{font-size:.8125rem;color:var(--text-secondary);margin-left:auto;margin-right:.5rem}.presets-section{margin-bottom:1.5rem}.section-header-inline{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-header-inline h3{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.preset-buttons{display:flex;gap:.75rem}.preset-btn{display:flex;flex-direction:column;padding:.75rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.preset-btn:hover{border-color:var(--primary);background:var(--accent-bg)}.preset-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.preset-capacity{font-size:.75rem;color:var(--text-secondary)}.config-section{margin-bottom:1rem}.section-header.collapsible{cursor:pointer}.section-header.collapsible:hover{background:var(--hover-bg)}.lines-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.line-card{padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.line-card.inactive{opacity:.6}.line-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.toggle-switch{position:relative;width:40px;height:22px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--border);border-radius:11px;transition:.2s}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background:var(--panel);border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.line-name{font-weight:500;color:var(--text-primary)}.active-icon{color:var(--success);margin-left:auto}.line-details .detail-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8125rem}.line-details .label{color:var(--text-secondary)}.line-details .value{color:var(--text-primary);font-weight:500}.efficiency-input{display:flex;align-items:center;gap:.25rem}.efficiency-input input{width:60px;padding:.25rem .5rem;border:1px solid var(--border);border-radius:4px;text-align:right;font-size:.875rem;background:var(--input-bg);color:var(--text-primary)}.detail-row.calculated{padding-top:.5rem;border-top:1px solid var(--border-light)}.detail-row.calculated .value{color:var(--primary)}.shift-options{display:flex;gap:1rem}.shift-option{flex:1;display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--panel);border:2px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.shift-option:hover{border-color:var(--primary)}.shift-option.selected{border-color:var(--primary);background:var(--accent-bg)}.shift-option input{display:none}.shift-content{display:flex;flex-direction:column;gap:.25rem}.shift-content svg{color:var(--text-secondary);margin-bottom:.25rem}.shift-option.selected .shift-content svg{color:var(--primary)}.shift-content .shift-name{display:block;font-weight:500;color:var(--text-primary)}.shift-content .shift-hours{display:block;font-size:.8125rem;color:var(--text-secondary)}.oee-badge{padding:.25rem .5rem;background:var(--primary);color:var(--on-accent);border-radius:4px;font-size:.8125rem;font-weight:600;margin-left:auto;margin-right:.5rem}.oee-settings{padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.oee-formula{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:1rem}.formula-text{font-size:.8125rem;color:var(--text-secondary)}.formula-result{font-size:.9375rem;color:var(--text-primary)}.oee-sliders{display:flex;flex-direction:column;gap:1rem}.oee-slider-item{display:flex;flex-direction:column;gap:.5rem}.slider-header{display:flex;justify-content:space-between;align-items:center}.slider-label{font-size:.875rem;color:var(--text-primary)}.slider-value{font-weight:600;color:var(--primary)}.slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:3px;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer}.slider-hint{font-size:.75rem;color:var(--text-tertiary)}.schedule-summary-bar{display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1.5rem}.schedule-summary-bar .summary-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--panel);border-radius:6px;margin-bottom:0}.schedule-summary-bar .label{font-size:.75rem;color:var(--text-secondary)}.schedule-summary-bar .value{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.summary-arrow{display:flex;flex-direction:column;align-items:center;padding:0 .5rem}.days-badge{font-size:.6875rem;color:var(--text-secondary)}.method-options{display:flex;flex-direction:column;gap:1rem}.method-options.horizontal{flex-direction:row;gap:.75rem}.method-options.horizontal .method-card{flex:1}.method-row-with-calc{display:flex;align-items:center;gap:1rem}.method-row-with-calc .method-options.horizontal{flex:1}.calc-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.calc-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.calc-button:active{transform:translateY(0)}.calc-button svg{flex-shrink:0}.calc-hours{font-size:.75rem;color:var(--text-secondary);margin-left:.25rem;font-weight:400}.method-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--panel);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.method-card.compact{padding:.75rem 1rem;gap:.75rem}.method-card.compact .method-content h4{font-size:.9375rem;margin:0 0 .125rem}.method-card.compact .method-subtitle{font-size:.75rem;margin-bottom:0}.method-card:hover{border-color:var(--primary)}.method-card.selected{border-color:var(--primary);background:var(--accent-bg)}.method-card .method-icon{width:44px;height:44px;margin-bottom:0;display:flex;align-items:center;justify-content:center;border-radius:8px}.method-card.compact .method-icon{width:36px;height:36px}.method-card .method-icon.forward{background:var(--accent-alpha-20);color:var(--primary)}.method-card .method-icon.backward{background:var(--warning-bg);color:var(--warning)}.method-card .method-icon.jit{background:var(--success-bg);color:var(--success)}.method-card .method-content{flex:1}.method-card .method-content h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.method-subtitle{font-size:.8125rem;font-weight:500;color:var(--primary);margin-bottom:.25rem}.method-desc{font-size:.8125rem;color:var(--text-secondary);margin:0;line-height:1.4}.method-card .method-check .check-circle{width:20px;height:20px;border-radius:50%;background:var(--primary);position:relative}.method-card.compact .method-check .check-circle{width:16px;height:16px}.method-card .method-check .check-circle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--on-accent);border-radius:50%}.method-card.compact .method-check .check-circle:after{width:6px;height:6px}.date-settings{padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.date-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.date-input-group{display:flex;flex-direction:column;gap:.5rem}.date-input-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.date-input-group input[type=date]{padding:.625rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.9375rem;background:var(--input-bg);color:var(--text-primary)}.date-hint{font-size:.75rem;color:var(--text-tertiary)}.buffer-input{display:flex;align-items:center;gap:.5rem}.buffer-input input{width:80px;padding:.625rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.9375rem;background:var(--input-bg);color:var(--text-primary)}.buffer-suffix{color:var(--text-secondary)}.info-box{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:var(--accent-bg);border:1px solid var(--accent-alpha-30);border-radius:6px;margin-top:1rem;font-size:.8125rem;color:var(--primary)}.info-box.warning{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.process-summary{font-size:.8125rem;color:var(--text-secondary);margin-left:auto;margin-right:.5rem}.process-settings{padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.hardening-toggle{margin-bottom:1rem;padding:1rem;background:var(--bg-secondary);border-radius:6px}.hardening-toggle .toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.toggle-content{display:flex;align-items:center;gap:.75rem}.toggle-content svg{color:var(--warning)}.toggle-title{display:block;font-weight:500;color:var(--text-primary)}.toggle-desc{display:block;font-size:.8125rem;color:var(--text-secondary)}.process-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.process-list.grid-4{grid-template-columns:repeat(4,1fr);gap:.5rem}.process-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.process-item.inactive{opacity:.5}.process-item.disabled{cursor:not-allowed}.process-seq{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:4px;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.process-toggle{position:relative;width:18px;height:18px}.process-toggle input{position:absolute;opacity:0;cursor:pointer;width:100%;height:100%}.process-toggle .checkmark{display:block;width:18px;height:18px;border:2px solid var(--border);border-radius:4px}.process-toggle input:checked~.checkmark{background:var(--primary);border-color:var(--primary)}.process-info{flex:1;display:flex;justify-content:space-between;align-items:center}.process-name{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-primary)}.hardening-icon{color:var(--warning)}.process-duration{font-size:.8125rem;color:var(--text-secondary)}.process-total{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.total-label{font-weight:500;color:var(--text-primary)}.total-value{font-size:1.125rem;font-weight:600;color:var(--primary)}.total-days{font-size:.8125rem;color:var(--text-secondary)}.simulation-start{display:flex;justify-content:center;padding:3rem 1rem}.start-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem;max-width:400px}.start-card svg{color:var(--primary);opacity:.5;margin-bottom:1rem}.start-card h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.start-card p{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.spinner{animation:spin 1s linear infinite}.view-toggle-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.view-toggle-bar .toggle-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.view-toggle-bar .toggle-btn:hover{border-color:var(--primary)}.view-toggle-bar .toggle-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.toggle-spacer{flex:1}.comparison-table-wrapper{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;font-size:.875rem}.comparison-table th{padding:.75rem 1rem;background:var(--bg-secondary);text-align:left;font-weight:500;color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border)}.comparison-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border-light);vertical-align:middle}.comparison-table tr{cursor:pointer;transition:background .15s ease}.comparison-table tr:hover{background:var(--hover-bg)}.comparison-table tr.selected{background:var(--accent-bg)}.comparison-table tr.impossible{opacity:.6}.col-select{width:50px}.radio-circle{width:18px;height:18px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center}.radio-circle.checked{border-color:var(--primary)}.radio-inner{width:10px;height:10px;background:var(--primary);border-radius:50%}.scenario-name{font-weight:500;color:var(--text-primary)}.col-days,.col-completion,.col-oee{display:flex;align-items:center;gap:.375rem;color:var(--text-secondary)}.col-deadline.negative .deadline-value{color:var(--error);font-weight:600}.col-deadline.warning .deadline-value{color:var(--warning)}.col-deadline.positive .deadline-value{color:var(--success)}.utilization-value.high{color:var(--warning);font-weight:500}.feasibility-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:4px;font-size:.8125rem;font-weight:500}.feasibility-badge .score{opacity:.7;font-size:.75rem}.detail-cards{display:flex;flex-direction:column;gap:1rem}.scenario-card{background:var(--panel);border:2px solid var(--border);border-radius:8px;overflow:hidden}.scenario-card.selected{border-color:var(--primary)}.scenario-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer}.scenario-card .header-left{display:flex;align-items:center;gap:.75rem}.scenario-card .scenario-info h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.scenario-card .scenario-type{font-size:.75rem;color:var(--text-secondary)}.feasibility-badge.lg{padding:.375rem .75rem;font-size:.875rem}.card-metrics{display:flex;gap:1.5rem;padding:0 1rem 1rem;border-bottom:1px solid var(--border-light)}.card-metrics .metric{display:flex;align-items:center;gap:.5rem}.card-metrics .metric svg{color:var(--text-secondary)}.card-metrics .value{font-weight:600;color:var(--text-primary)}.card-metrics .label{font-size:.75rem;color:var(--text-secondary)}.deadline-indicator{font-weight:600;font-size:1rem}.deadline-indicator.positive{color:var(--success)}.deadline-indicator.negative{color:var(--error)}.expand-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.625rem;background:none;border:none;border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:.8125rem;cursor:pointer}.expand-btn:hover{background:var(--bg-secondary);color:var(--primary)}.card-expanded{padding:1rem;background:var(--bg-secondary)}.warnings-section,.bottlenecks-section,.gantt-preview{margin-bottom:1rem}.warnings-section h5,.bottlenecks-section h5,.gantt-preview h5{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.warning-list,.bottleneck-list{display:flex;flex-direction:column;gap:.5rem}.warning-item{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;background:var(--panel);border-radius:6px}.warning-item.high{border-left:3px solid var(--error)}.warning-item.medium{border-left:3px solid var(--warning)}.warning-item.low{border-left:3px solid var(--info)}.text-red{color:var(--error)}.text-amber{color:var(--warning)}.text-blue{color:var(--info)}.warning-content .message{display:block;font-size:.875rem;color:var(--text-primary)}.warning-content .suggestion{display:block;font-size:.8125rem;color:var(--text-secondary);margin-top:.25rem}.bottleneck-item{padding:.75rem;background:var(--panel);border-radius:6px;border-left:3px solid var(--border)}.bottleneck-item.high{border-left-color:var(--error)}.bottleneck-item.medium{border-left-color:var(--warning)}.bn-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.bn-process{font-weight:500;color:var(--text-primary)}.bn-severity{font-size:.6875rem;font-weight:600;padding:.125rem .375rem;border-radius:3px}.bn-severity.high{background:var(--error-bg);color:var(--error)}.bn-severity.medium{background:var(--warning-bg);color:var(--warning)}.bn-description{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .375rem}.bn-recommendation{font-size:.8125rem;color:var(--success);margin:0;display:flex;align-items:center;gap:.25rem}.gantt-bars{display:flex;flex-direction:column;gap:.375rem}.gantt-bar-row{display:grid;grid-template-columns:100px 1fr 120px;gap:.75rem;align-items:center}.gantt-label{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-bar-container{height:16px;background:var(--border);border-radius:3px;overflow:hidden}.gantt-bar{height:100%;border-radius:3px}.gantt-dates{font-size:.75rem;color:var(--text-tertiary)}.step-simulate .selected-summary{margin-top:1.5rem;padding:1rem;background:var(--accent-bg);border:1px solid var(--primary);border-radius:8px}.step-simulate .selected-summary .summary-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--primary);font-size:.875rem}.step-simulate .selected-summary .summary-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.step-simulate .selected-summary .metric{display:flex;flex-direction:column;gap:.25rem}.step-simulate .selected-summary .label{font-size:.75rem;color:var(--text-secondary)}.step-simulate .selected-summary .value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.step-simulate .selected-summary .value.positive{color:var(--success)}.step-simulate .selected-summary .value.negative{color:var(--error)}.step-simulate .selected-summary .value-breakdown{font-size:.75rem;font-weight:400;color:var(--text-secondary);margin-left:.5rem}.step-simulate .selected-summary .calculation-info{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.step-simulate .selected-summary .calc-note{font-size:.75rem;color:var(--text-tertiary);line-height:1.4}.step-simulate .days-breakdown{display:flex;align-items:baseline;gap:.25rem}.step-simulate .days-detail{font-size:.6875rem;color:var(--text-tertiary);font-weight:400}.step-simulate .card-metrics .value-detail{display:block;font-size:.6875rem;font-weight:400;color:var(--text-secondary);margin-top:.125rem}.step-simulate .card-metrics .label-sub{display:block;font-size:.625rem;color:var(--text-tertiary);margin-top:.125rem}.step-master-plan .plan-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;margin-left:.75rem}.plan-preview{background:var(--bg-secondary);border-radius:8px;padding:1.5rem}.key-metrics-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.metric-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;text-align:center;transition:all .2s ease}.metric-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014}.metric-card.primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, #2563eb) 100%);border-color:var(--primary);color:#fff}.metric-card.primary .metric-label{color:#ffffffd9}.metric-card.primary .metric-value{color:#fff}.metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2;margin-bottom:.25rem}.metric-value.highlight{color:var(--success)}.metric-value.highlight.negative{color:var(--error)}.metric-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-sub{font-size:.6875rem;color:var(--text-tertiary);margin-top:.25rem}.metric-card.primary .metric-sub{color:#ffffffb3}.production-details,.schedule-details,.scenario-details{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.production-details h4,.schedule-details h4,.scenario-details h4{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.production-details h4 svg,.schedule-details h4 svg,.scenario-details h4 svg{color:var(--primary)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light, rgba(0,0,0,.05))}.detail-row:last-child{border-bottom:none}.detail-row .label{font-size:.8125rem;color:var(--text-secondary)}.detail-row .value{font-size:.875rem;font-weight:500;color:var(--text-primary)}.detail-row .value.positive{color:var(--success)}.detail-row .value.negative{color:var(--error)}.detail-row .value.warning{color:var(--warning)}.days-breakdown{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.days-breakdown .breakdown-item{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}.days-breakdown .breakdown-value{font-weight:600;color:var(--text-primary)}.days-breakdown .separator{color:var(--text-tertiary)}@media (max-width: 768px){.key-metrics-summary{grid-template-columns:repeat(2,1fr)}}.preview-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.preview-header svg{color:var(--primary)}.preview-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1.5rem}.preview-section{background:var(--panel);border-radius:6px;padding:1rem}.preview-section h4{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.preview-items{display:flex;flex-direction:column;gap:.625rem}.preview-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.preview-item svg{color:var(--text-secondary);flex-shrink:0}.preview-item .label{color:var(--text-secondary);min-width:70px}.preview-item .value{color:var(--text-primary);font-weight:500}.preview-item .value.positive{color:var(--success)}.preview-item .value.negative{color:var(--error)}.preview-warnings{background:var(--warning-bg);border:1px solid var(--warning);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.preview-warnings h4{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--warning);margin:0 0 .75rem}.preview-warnings ul{margin:0;padding-left:1.5rem}.preview-warnings li{font-size:.875rem;color:var(--warning);margin-bottom:.375rem}.preview-warnings li:last-child{margin-bottom:0}.preview-actions{display:flex;justify-content:center}.master-plan-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.master-plan-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.plan-title{display:flex;align-items:center;gap:.75rem}.plan-title svg{color:var(--primary)}.plan-title h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.plan-id{font-size:.8125rem;font-family:monospace;color:var(--text-secondary)}.plan-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:.8125rem;color:var(--text-secondary)}.plan-details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:1.25rem}.detail-group h4{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.detail-group .detail-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary);margin-bottom:.5rem}.detail-group .detail-item svg{color:var(--text-secondary)}.detail-group .scenario-name{font-weight:500}.detail-group .positive{color:var(--success)}.detail-group .negative{color:var(--error)}.daily-plan-summary{padding:0 1.25rem 1.25rem}.daily-plan-summary h4{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.daily-plan-table-wrapper{overflow-x:auto}.daily-plan-table{width:100%;border-collapse:collapse;font-size:.875rem}.daily-plan-table th{padding:.625rem 1rem;background:var(--bg-secondary);text-align:left;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border)}.daily-plan-table td{padding:.625rem 1rem;border-bottom:1px solid var(--border-light);color:var(--text-primary)}.utilization-bar{display:flex;align-items:center;gap:.5rem}.utilization-bar .utilization-fill{height:6px;background:var(--primary);border-radius:3px}.more-row td{text-align:center;color:var(--text-tertiary);font-style:italic}.plan-actions{display:flex;gap:.75rem;padding:1.25rem;border-top:1px solid var(--border)}.confirmed-message{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;background:var(--success-bg);border:1px solid var(--success);border-radius:8px}.confirmed-message svg{color:var(--success);flex-shrink:0}.confirmed-message h4{font-size:1rem;font-weight:600;color:var(--success);margin:0}.confirmed-message p{font-size:.875rem;color:var(--success);margin:.25rem 0 0}@media (max-width: 1200px){.workflow-sidebar{width:240px}.step-demand-select .status-summary-cards{flex-wrap:wrap}.method-selection{grid-template-columns:1fr}.preview-grid,.plan-details-grid,.demand-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 992px){.workflow-body{flex-direction:column}.workflow-sidebar{width:100%;order:-1}.sidebar-card{display:flex;flex-wrap:wrap;gap:1rem}.sidebar-card h3{width:100%;margin-bottom:.5rem}.summary-item{flex:1;min-width:150px;margin-bottom:0}.summary-divider{display:none}.lines-grid,.date-inputs{grid-template-columns:1fr}.step-simulate .selected-summary .summary-metrics{grid-template-columns:repeat(2,1fr)}.demand-list{grid-template-columns:1fr}.demand-card.compact{min-height:120px}}@media (max-width: 768px){.stepper-track{display:none}.stepper-mobile-info{display:flex;align-items:center;gap:.75rem}.current-step-badge{padding:.25rem .5rem;background:var(--primary);color:var(--on-accent);border-radius:4px;font-size:.75rem;font-weight:600}.current-step-name{font-weight:500;color:var(--text-primary)}.workflow-body{padding:.75rem}.workflow-main{padding:1rem}.card-meta-row{flex-direction:column;gap:.375rem}.capacity-stats-bar{flex-wrap:wrap}.shift-options{flex-direction:column}.process-list,.preview-grid,.plan-details-grid{grid-template-columns:1fr}.plan-actions{flex-direction:column}.plan-actions button{width:100%;justify-content:center}}.requested-parts-section{background:var(--panel);border-radius:8px;border:1px solid var(--border);margin-bottom:1.5rem;overflow:hidden}.requested-parts-section .section-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.requested-parts-section .section-header svg{color:var(--primary)}.requested-parts-section .section-header h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.parts-table{width:100%}.parts-table-header{display:grid;grid-template-columns:1.5fr 2fr 1fr 1fr 1.2fr;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.parts-table-body{max-height:240px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.parts-table-body::-webkit-scrollbar{width:6px}.parts-table-body::-webkit-scrollbar-track{background:transparent}.parts-table-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.parts-table-row{display:grid;grid-template-columns:1.5fr 2fr 1fr 1fr 1.2fr;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);font-size:.8125rem;color:var(--text-primary);transition:background .15s ease}.parts-table-row:last-child{border-bottom:none}.parts-table-row:hover{background:var(--accent-bg)}.parts-table-row .col-label{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parts-table-row .col-size{display:flex;align-items:center;gap:.375rem;font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.75rem;color:var(--text-secondary)}.parts-table-row .col-size svg{color:var(--text-muted);flex-shrink:0}.parts-table-row .col-qty{font-weight:600;color:var(--primary);text-align:right}.parts-table-row .col-area{font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.75rem;color:var(--text-secondary);text-align:right}.parts-table-row .col-type{font-size:.75rem;color:var(--text-muted);text-align:center}.parts-table-footer{display:grid;grid-template-columns:1.5fr 2fr 1fr 1fr 1.2fr;gap:.5rem;padding:.875rem 1.25rem;background:var(--bg-secondary);border-top:2px solid var(--border);font-size:.8125rem;font-weight:600}.parts-table-footer .total-label{color:var(--text-primary)}.parts-table-footer .total-count{color:var(--text-secondary)}.parts-table-footer .total-qty{color:var(--primary);text-align:right}.parts-table-footer .total-area{font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.75rem;color:var(--text-primary);text-align:right}@media (max-width: 768px){.parts-table-header,.parts-table-row,.parts-table-footer{grid-template-columns:1fr 1.5fr 1fr 1fr}.parts-table-header .col-type,.parts-table-row .col-type,.parts-table-footer .total-spacer{display:none}}.optimizer-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:var(--panel);border:2px dashed var(--border);border-radius:8px;text-align:center}.optimizer-prompt svg{color:var(--primary);opacity:.6;margin-bottom:1rem}.optimizer-prompt h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.optimizer-prompt p{font-size:.875rem;color:var(--text-secondary);margin:0 0 1.5rem}.optimizer-inline-section{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;width:100%}.optimizer-inline-section .optimizer-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.optimizer-inline-section .optimizer-header .header-left{display:flex;align-items:center;gap:.5rem}.optimizer-inline-section .optimizer-header .header-left svg{color:var(--primary)}.optimizer-inline-section .optimizer-header h4{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.optimizer-inline-section .btn-text{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.optimizer-inline-section .btn-text:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--primary)}.optimizer-inline-section .btn-text svg{color:var(--text-tertiary)}.optimizer-inline-section .btn-text:hover svg{color:var(--primary)}.optimizer-inline-section .optimizer-content{padding:1rem 1.5rem 1.5rem 0}.optimizer-placeholder-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.optimizer-placeholder-inline svg{color:var(--primary);opacity:.3;margin-bottom:1rem}.optimizer-placeholder-inline h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .375rem}.optimizer-placeholder-inline p{font-size:.875rem;color:var(--text-secondary);margin:0 0 1.5rem}.placeholder-info-inline{display:flex;gap:2rem;padding:1rem 1.5rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:1.5rem}.placeholder-info-inline .info-item{display:flex;flex-direction:column;gap:.25rem}.placeholder-info-inline .label{font-size:.6875rem;color:var(--text-secondary)}.placeholder-info-inline .value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.optimizer-placeholder-inline .btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--primary);border:none;border-radius:6px;color:var(--on-accent);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.optimizer-placeholder-inline .btn-primary:hover:not(:disabled){filter:brightness(1.1)}.optimizer-placeholder-inline .btn-primary:disabled{opacity:.5;cursor:not-allowed}.optimizer-setup{display:flex;flex-direction:column;gap:1.5rem}.optimizer-content{display:flex;gap:1.5rem;align-items:flex-start}.setup-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.75rem;width:570px;flex-shrink:0;min-height:500px}.parts-list-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.parts-list-section .section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.parts-list-section .section-header h5{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin:0}.parts-list-section .section-header svg{color:var(--text-secondary)}.parts-list-compact{display:flex;flex-direction:column;gap:.375rem}.part-item-compact{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:var(--bg-secondary);border-radius:4px;font-size:.75rem}.part-item-compact .part-color-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.part-item-compact .part-name{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-item-compact .part-dim{color:var(--text-secondary);font-size:.6875rem}.part-item-compact .part-qty{color:var(--primary);font-weight:600}.parts-total-row{display:flex;justify-content:space-between;padding:.5rem;margin-top:.5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.75rem;font-weight:600;color:var(--text-primary)}.parts-list-section .no-parts-notice{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;color:var(--text-tertiary);text-align:center}.parts-list-section .no-parts-notice p{margin:0;font-size:.75rem}.setup-panel h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.setup-panel h4 svg{color:var(--primary)}.setup-section{margin-bottom:.75rem}.setup-section:last-child{margin-bottom:0}.setup-section .section-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.375rem;padding:.25rem 0}.setup-section .section-header h5{font-size:.75rem;font-weight:600;color:var(--text-primary);margin:0}.setup-section .section-header svg{color:var(--text-secondary);width:14px;height:14px}.setup-section .section-header.clickable{cursor:pointer}.setup-section .section-header.clickable:hover{color:var(--primary)}.setup-section .section-header.clickable:hover svg{color:var(--primary)}.setup-section h5{font-size:.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .375rem}.sheet-selection-mode{display:flex;gap:.5rem;margin-bottom:.5rem}.sheet-selection-mode label{display:flex;align-items:center;gap:.375rem;padding:.3rem .625rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:.75rem;color:var(--text-primary);transition:all .15s ease}.sheet-selection-mode label:hover{border-color:var(--primary)}.sheet-selection-mode input[type=radio]{accent-color:var(--primary)}.sheet-selection-mode input[type=radio]:checked+span,.sheet-selection-mode label:has(input:checked){color:var(--primary)}.sheet-selection-mode label:has(input:checked){border-color:var(--primary);background:var(--accent-bg)}.sheet-checkboxes{display:flex;flex-wrap:nowrap;gap:.25rem}.sheet-checkbox{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;flex:1;min-width:0;min-height:2.25rem;cursor:pointer;transition:all .15s ease}.sheet-checkbox:hover{border-color:var(--primary)}.sheet-checkbox.checked{border-color:var(--primary);background:var(--accent-bg)}.sheet-checkbox .sheet-name{font-size:.75rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.sheet-checkbox .sheet-size{color:var(--text-secondary);font-size:.625rem;white-space:nowrap}.algorithm-options{display:flex;flex-wrap:wrap;gap:.375rem}.algorithm-option{display:flex;flex-direction:column;padding:.375rem .625rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease;min-width:80px}.algorithm-option:hover{border-color:var(--primary)}.algorithm-option:has(input:checked){border-color:var(--primary);background:var(--accent-bg)}.algorithm-option input[type=radio]{display:none}.algorithm-option .algo-name{font-size:.75rem;font-weight:600;color:var(--text-primary)}.algorithm-option .algo-desc{font-size:.625rem;color:var(--text-secondary);margin-top:0}.algorithm-option:has(input:checked) .algo-name{color:var(--primary)}.cutting-settings-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;padding:0}.cutting-settings-toggle:hover{color:var(--primary)}.cutting-settings-form{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:1.5rem;margin-top:.5rem;padding:.75rem;background:var(--bg-secondary);border-radius:4px}.cutting-settings-form .form-row{display:flex;flex-direction:column;gap:.25rem;min-width:0}.cutting-settings-form .form-row label{font-size:.6875rem;color:var(--text-secondary);white-space:nowrap}.cutting-settings-form .form-row input[type=number]{padding:.375rem .5rem;background:var(--panel);border:1px solid var(--border);border-radius:4px;font-size:.8125rem;color:var(--text-primary);width:80px}.cutting-settings-form .form-row input[type=number]:focus{outline:none;border-color:var(--primary)}.cutting-settings-form .form-row.checkbox{flex-direction:row;align-items:center;gap:.5rem;padding-bottom:.25rem}.cutting-settings-form .form-row.checkbox label{display:flex;align-items:center;gap:.375rem;white-space:nowrap;font-size:.75rem;color:var(--text-primary);cursor:pointer}.cutting-settings-form .form-row.checkbox input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;flex-shrink:0;cursor:pointer}.parts-preview-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column}.parts-preview-panel h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.parts-preview-panel h4 svg{color:var(--primary)}.parts-preview-list{flex:1;overflow-y:auto;max-height:240px}.part-preview-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:4px;margin-bottom:.375rem;font-size:.8125rem}.part-preview-item:last-child{margin-bottom:0}.part-preview-item .part-label{color:var(--text-primary);font-weight:500}.part-preview-item .part-size{color:var(--text-secondary)}.part-preview-item .part-qty{color:var(--primary);font-weight:600}.parts-preview-summary{display:flex;justify-content:space-between;padding:.625rem .75rem;background:var(--bg-tertiary);border-radius:4px;margin-top:.75rem;font-size:.8125rem}.parts-preview-summary span{color:var(--text-secondary)}.parts-preview-summary strong{color:var(--text-primary)}.optimizer-actions{display:flex;justify-content:center;gap:1rem;padding-top:.5rem}.optimizer-actions .btn-primary,.optimizer-actions .btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem}.optimizer-result{display:flex;flex-direction:column;gap:1.5rem}.result-header{display:flex;justify-content:space-between;align-items:center}.result-header h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.result-header h4 svg{color:var(--success)}.result-summary{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem}.summary-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.stat-card{display:flex;flex-direction:column;align-items:center;padding:.875rem;background:var(--bg-secondary);border-radius:6px;text-align:center}.stat-card .stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.stat-card .stat-value.highlight{color:var(--success)}.stat-card .stat-value.warning{color:var(--warning)}.stat-card .stat-label{font-size:.6875rem;color:var(--text-secondary);margin-top:.25rem}.result-patterns{display:grid;grid-template-columns:280px 1fr;gap:1rem}.pattern-group-list{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.pattern-group-list-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:.8125rem;font-weight:600;color:var(--text-primary)}.pattern-group-list-body{max-height:400px;overflow-y:auto}.pattern-group-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s ease}.pattern-group-item:last-child{border-bottom:none}.pattern-group-item:hover{background:var(--hover-bg)}.pattern-group-item.selected{background:var(--accent-bg);border-left:3px solid var(--primary)}.pattern-thumb{flex-shrink:0;width:60px;height:50px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden}.pattern-thumb svg{max-width:100%;max-height:100%}.pattern-info{flex:1;min-width:0;background:transparent}.pattern-name{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.pattern-meta{font-size:.6875rem;color:var(--text-secondary)}.pattern-count{font-size:.8125rem;font-weight:700;color:var(--primary);background:var(--accent-bg);padding:.25rem .5rem;border-radius:4px}.pattern-detail{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.pattern-detail-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.pattern-detail-header h5{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0}.pattern-detail-header .efficiency-badge{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--success-bg);border-radius:4px;font-size:.75rem;font-weight:600;color:var(--success)}.pattern-detail-content{display:flex;flex:1;min-height:0}.detail-canvas{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--bg-secondary);min-height:300px}.detail-canvas .pattern-svg{border:1px solid var(--border);border-radius:4px;background:var(--panel)}.placed-parts-list{width:200px;border-left:1px solid var(--border);overflow-y:auto;max-height:400px}.placed-parts-list-header{padding:.625rem .75rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-secondary)}.placed-part-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);font-size:.75rem}.placed-part-item:last-child{border-bottom:none}.placed-part-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.placed-part-info{flex:1;min-width:0}.placed-part-label{color:var(--text-primary);font-weight:500}.placed-part-size{color:var(--text-secondary);font-size:.6875rem}.placed-part-rotated{font-size:.625rem;color:var(--warning);background:var(--warning-bg);padding:.125rem .25rem;border-radius:2px}.no-pattern-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-tertiary);gap:.5rem}.no-pattern-selected svg{opacity:.5}.no-pattern-selected p{margin:0;font-size:.875rem}@media (max-width: 1200px){.optimizer-setup-grid,.result-patterns{grid-template-columns:1fr}.pattern-group-list-body{display:flex;overflow-x:auto;max-height:none;padding:.5rem;gap:.5rem}.pattern-group-item{flex-direction:column;min-width:140px;border-bottom:none;border:1px solid var(--border);border-radius:6px}.summary-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.summary-stats{grid-template-columns:repeat(2,1fr)}.cutting-settings-form{grid-template-columns:1fr}.sheet-selection-mode{flex-direction:column}}.result-panel{flex:1;background:var(--panel);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;min-height:550px}.result-summary-compact{padding:.5rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.result-summary-compact .summary-row{display:flex;justify-content:space-around;gap:.5rem}.result-summary-compact .summary-item{display:flex;flex-direction:column;align-items:center;padding:.125rem .5rem}.result-summary-compact .summary-item .item-value{font-size:1rem;font-weight:700;color:var(--text-primary)}.result-summary-compact .summary-item .item-label{font-size:.5625rem;color:var(--text-secondary);text-transform:uppercase}.result-summary-compact .summary-item .item-sub{display:inline;font-size:.5rem;color:var(--text-secondary);text-transform:none;margin-left:2px}.result-summary-compact .summary-item.highlight .item-value{color:var(--success)}.result-summary-compact .summary-item.loss .item-value{color:var(--error)}.result-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.pattern-group-list-compact{display:flex;gap:6px;padding:8px;overflow-x:auto;border-bottom:1px solid #475569;background:#1e293b}.pattern-item-compact{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:#334155;border:1px solid #475569;border-radius:4px;cursor:pointer;flex-shrink:0}.pattern-item-compact:hover{border-color:#3b82f6;background:#3d4f66}.pattern-item-compact.selected{border-color:#3b82f6;background:#1e3a5f;box-shadow:0 0 0 1px #3b82f6}.thumb-compact{width:64px;height:48px;background:#1e293b;border:1px solid #475569;border-radius:2px;overflow:hidden;flex-shrink:0}.info-compact{display:flex;flex-direction:column;align-items:center;gap:2px}.name-compact{font-size:10px;font-weight:600;color:#e2e8f0}.count-compact{font-size:9px;color:#60a5fa;font-weight:700;background:#1e3a5f;padding:1px 3px;border-radius:2px;margin-left:2px}.size-compact{font-size:8px;color:#94a3b8}.meta-compact{font-size:9px;color:#10b981;font-weight:600}.pattern-detail-compact{flex:1;display:flex;flex-direction:column;min-height:0}.detail-header-compact{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.detail-header-compact .detail-title{font-size:.8125rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.375rem}.detail-header-compact .count-badge{font-size:.625rem;color:var(--primary);background:var(--accent-bg);padding:.125rem .375rem;border-radius:3px;font-weight:600}.detail-header-compact .detail-info{font-size:.6875rem;color:var(--text-secondary)}.detail-canvas-compact{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg-tertiary);min-height:400px}.detail-canvas-compact .pattern-svg{border:1px solid var(--border);border-radius:4px;background:var(--panel);max-width:100%;max-height:100%}.no-parts-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-tertiary);text-align:center;gap:.5rem}.no-parts-notice p{margin:0;font-size:.875rem}.no-parts-notice .hint{font-size:.75rem;color:var(--text-muted)}.part-color-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}@media (max-width: 1200px){.optimizer-setup-grid{grid-template-columns:1fr}.setup-panel{width:100%}.result-panel{min-height:500px}}.step-schedule input.readonly{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;border-color:var(--border)}.schedule-calculation{padding:.5rem}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.calc-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.875rem}.calc-card h4{margin:0 0 .625rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em}.calc-rows{display:flex;flex-direction:column;gap:.375rem}.calc-row{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;flex-wrap:wrap;gap:.25rem}.calc-row.highlight{margin-top:.375rem;padding-top:.375rem;border-top:1px dashed var(--border)}.calc-row.warning-row{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border)}.calc-hint{flex-basis:100%;font-size:.6875rem;color:var(--text-tertiary);margin-top:-.125rem}.calc-warning{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--error);font-weight:500}.calc-row.jit-benefit{margin-top:.25rem}.calc-benefit{font-size:.75rem;color:var(--success);font-weight:500}.calc-row.explanation{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border)}.calc-explanation{display:flex;align-items:flex-start;gap:.375rem;font-size:.6875rem;color:var(--text-tertiary);line-height:1.4}.calc-explanation svg{flex-shrink:0;margin-top:.125rem;color:var(--info)}.calc-label{color:var(--text-secondary)}.calc-value{color:var(--text-primary);font-weight:500}.calc-value.bold{font-weight:700;font-size:.9375rem;color:var(--primary)}.calc-card.feasibility{display:flex;flex-direction:column}.feasibility-display{display:flex;align-items:center;gap:.75rem;flex:1}.feasibility-icon{display:flex;align-items:center;justify-content:center}.feasibility-info{display:flex;flex-direction:column}.feasibility-label{font-size:1rem;font-weight:700}.feasibility-margin{font-size:1.25rem;font-weight:700}.feasibility-desc{font-size:.6875rem;color:var(--text-secondary);margin-top:.125rem}.feasibility-warning{margin:.5rem 0 0;font-size:.75rem;padding:.375rem .5rem;background:#ef44441a;border-radius:4px}.calc-card.feasibility.safe{background:#22c55e14;border-color:#22c55e4d}.calc-card.feasibility.safe .feasibility-icon{color:#22c55e}.calc-card.feasibility.safe .feasibility-label,.calc-card.feasibility.safe .feasibility-margin{color:#16a34a}.calc-card.feasibility.warning{background:#f59e0b14;border-color:#f59e0b4d}.calc-card.feasibility.warning .feasibility-icon{color:#f59e0b}.calc-card.feasibility.warning .feasibility-label,.calc-card.feasibility.warning .feasibility-margin{color:#d97706}.calc-card.feasibility.danger{background:#ef444414;border-color:#ef44444d}.calc-card.feasibility.danger .feasibility-icon{color:#ef4444}.calc-card.feasibility.danger .feasibility-label,.calc-card.feasibility.danger .feasibility-margin{color:#dc2626}@media (max-width: 1200px){.calc-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.calc-grid{grid-template-columns:1fr}}.gantt-chart-view{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-top:1rem}.gantt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.gantt-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.gantt-subtitle{font-size:.8125rem;color:var(--text-secondary)}.gantt-container{position:relative;overflow-x:auto;width:100%}.gantt-timeline{display:flex;border-bottom:1px solid var(--border);margin-bottom:.5rem;width:100%}.gantt-label-col{flex:0 0 120px;min-width:120px;padding:.25rem .5rem;font-size:.75rem;color:var(--text-secondary);position:sticky;left:0;z-index:10;background:var(--panel);border-right:1px solid var(--border)}.gantt-bars-col{flex:1;min-width:0;position:relative}.gantt-dates{display:flex;height:24px}.gantt-date-cell{display:flex;align-items:center;justify-content:center;font-size:.6875rem;color:var(--text-secondary);border-left:1px solid var(--border)}.gantt-date-cell:first-child{border-left:none}.gantt-row{display:flex;align-items:center;height:32px;border-bottom:1px solid var(--border);width:100%}.gantt-row:last-child{border-bottom:none}.gantt-process-name{font-size:.75rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-bar-track{position:relative;height:20px;background:var(--bg-secondary);border-radius:4px;width:100%}.gantt-bar{position:absolute;top:2px;height:16px;border-radius:3px;opacity:.85;cursor:pointer;transition:opacity .15s ease}.gantt-bar:hover{opacity:1}.gantt-date-cell.due-date{color:#ef4444;font-weight:700;background:#ef44441a}.gantt-due-marker{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:5;pointer-events:none}.gantt-subtitle .due-info{color:#ef4444;font-weight:500}.gantt-legend{display:flex;gap:1.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.legend-bar{width:24px;height:12px;border-radius:2px;opacity:.85}.legend-line{width:16px;height:2px;background:#ef4444}.igs-process-monitor{padding:24px;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-base, #eef2f6);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;box-sizing:border-box}.process-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--accent, #3b82f6);flex-shrink:0}.process-header .header-title{display:flex;align-items:flex-start;gap:12px}.process-header .header-title svg{color:var(--accent, #3b82f6);margin-top:2px}.process-header .header-title h1{margin:0;font-size:22px;font-weight:600;color:var(--text-primary, #1e293b)}.process-header .header-subtitle{display:block;font-size:12px;color:var(--accent, #3b82f6);margin-top:4px;font-weight:500;letter-spacing:.02em}.process-header .header-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;color:var(--text-secondary, #64748b);font-weight:500;font-variant-numeric:tabular-nums}.process-legend{display:flex;justify-content:space-between;align-items:center;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:12px;padding:12px 20px;margin-bottom:20px;flex-shrink:0}.legend-flows{display:flex;gap:24px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary, #64748b)}.legend-line{width:28px;height:2px}.legend-line.main{background:var(--accent, #3b82f6)}.legend-line.optional{background:repeating-linear-gradient(to right,#f59e0b,#f59e0b 8px,transparent 8px,transparent 12px)}.legend-line.bypass{background:repeating-linear-gradient(to right,#22c55e,#22c55e 4px,transparent 4px,transparent 8px)}.legend-categories{display:flex;gap:16px}.category-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #64748b);text-transform:capitalize}.category-dot{width:10px;height:10px;border-radius:3px}.process-content{display:flex;gap:20px;margin-bottom:20px;flex:1;min-height:0;align-items:stretch}.process-diagram{flex:1;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;overflow:auto;padding:10px}.process-diagram svg{display:block;min-width:100%}.process-detail-panel{width:320px;flex-shrink:0;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.panel-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--accent, #3b82f6);padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0);margin-bottom:12px}.detail-content{flex:1;display:flex;flex-direction:column;gap:16px}.detail-header-box{background:var(--bg-secondary, #f1f5f9);border-radius:12px;padding:12px}.detail-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.process-id{font-size:11px;color:var(--text-secondary, #64748b);font-weight:600;font-variant-numeric:tabular-nums}.optional-badge{font-size:10px;font-weight:700;background:#f59e0b;color:#000;padding:2px 8px;border-radius:4px}.process-name-main{font-size:18px;font-weight:700;color:var(--text-primary, #1e293b)}.process-name-en{font-size:11px;color:var(--text-secondary, #64748b);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-box{background:var(--bg-secondary, #f1f5f9);border-radius:10px;padding:12px}.detail-box.full{grid-column:1 / -1}.detail-label{font-size:10px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:13px;color:var(--text-primary, #1e293b)}.detail-value.highlight{display:flex;align-items:center;gap:6px;color:var(--success, #10b981);font-weight:600}.detail-item{font-size:12px;padding:3px 0}.detail-item.input{color:var(--accent, #3b82f6)}.detail-item.output{color:var(--success, #10b981)}.detail-item.qc{color:#f59e0b}.detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #64748b)}.detail-empty svg{margin-bottom:12px;opacity:.4}.detail-empty p{margin:2px 0;font-size:13px}.panel-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}.summary-item{background:var(--bg-secondary, #f1f5f9);border-radius:10px;padding:10px 8px;text-align:center}.summary-value{display:block;font-size:20px;font-weight:700}.summary-value.blue{color:var(--accent, #3b82f6)}.summary-value.orange{color:#f59e0b}.summary-value.green{color:var(--success, #10b981)}.summary-value.purple{color:#8b5cf6}.summary-label{font-size:10px;color:var(--text-secondary, #64748b)}.process-sequence{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:16px;padding:8px 20px 16px;flex-shrink:0;overflow:visible}.sequence-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.sequence-items{display:flex;align-items:center;gap:6px;overflow-x:auto;overflow-y:visible;padding-top:12px;padding-bottom:8px}.sequence-item{flex-shrink:0;padding:8px 12px;background:var(--bg-secondary, #f1f5f9);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:center;min-width:56px}.sequence-item:hover{background:var(--panel, #ffffff);box-shadow:0 2px 8px #00000014}.sequence-item.selected{background:var(--accent, #3b82f6);box-shadow:0 4px 12px #3b82f64d}.sequence-item.selected .sequence-id{color:#fff}.sequence-item.optional{border:2px dashed #f59e0b}.sequence-icon{display:flex;align-items:center;justify-content:center;margin-bottom:4px;color:var(--accent, #3b82f6)}.sequence-item.selected .sequence-icon{color:#fff}.sequence-id{font-size:10px;font-weight:600;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.sequence-arrow{color:var(--text-muted, #94a3b8);font-size:14px;flex-shrink:0}.sequence-maintenance-btn{position:absolute;top:-6px;right:-6px;display:flex;align-items:center;gap:2px;padding:2px 5px;background:linear-gradient(135deg,#f59e0b,#d97706);border:2px solid var(--panel, #ffffff);border-radius:10px;cursor:pointer;transition:all .2s ease;font-size:9px;font-weight:700;color:#fff;box-shadow:0 2px 6px #f59e0b66;z-index:10}.sequence-maintenance-btn:hover{transform:scale(1.1);box-shadow:0 3px 10px #f59e0b80}.sequence-maintenance-btn svg{width:10px;height:10px}.sequence-maintenance-btn .maintenance-badge{font-size:9px;font-weight:700;line-height:1}.sequence-item{position:relative}@media (max-width: 1400px){.process-content{flex-direction:column}.process-detail-panel{width:100%;flex-direction:row;flex-wrap:wrap}.panel-header{width:100%}.detail-content{flex:1;min-width:300px}.panel-summary{width:100%;border-top:none;border-left:1px solid var(--border, #e2e8f0);padding-top:0;padding-left:16px;margin-top:0}}@media (max-width: 768px){.process-legend{flex-direction:column;gap:12px}.legend-categories{flex-wrap:wrap;justify-content:center}.process-detail-panel{flex-direction:column}.panel-summary{border-left:none;border-top:1px solid var(--border, #e2e8f0);padding-left:0;padding-top:16px;margin-top:16px}}.production-plan-panel{width:320px;flex-shrink:0;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:16px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.production-plan-panel .panel-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--accent, #3b82f6);padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0);margin-bottom:12px;flex-shrink:0}.production-plan-panel .plan-count{margin-left:auto;background:var(--accent, #3b82f6);color:#fff;font-size:10px;padding:2px 8px;border-radius:10px}.status-filter-tabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap;flex-shrink:0}.filter-tab{flex:1;min-width:60px;padding:6px 8px;background:var(--bg-secondary, #f1f5f9);border:1px solid transparent;border-radius:8px;font-size:10px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.filter-tab:hover{background:var(--panel, #ffffff);border-color:var(--border, #e2e8f0)}.filter-tab.active{background:var(--accent, #3b82f6);color:#fff;border-color:var(--accent, #3b82f6)}.filter-tab .count{font-weight:700}.filter-tab .count.blue{color:#3b82f6}.filter-tab .count.orange{color:#f59e0b}.filter-tab .count.green{color:#10b981}.filter-tab.active .count{color:#fff}.plan-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px;min-height:0}.plan-list::-webkit-scrollbar{width:4px}.plan-list::-webkit-scrollbar-track{background:transparent}.plan-list::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:4px}.plan-item{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px;cursor:pointer;transition:all .2s ease}.plan-item:hover{border-color:var(--accent, #3b82f6);box-shadow:0 2px 8px #00000014}.plan-item.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f60d,#0ea5e90d);box-shadow:0 4px 12px #3b82f626}.plan-row-1{display:flex;align-items:center;gap:6px;margin-bottom:4px}.plan-id{font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;font-size:10px;color:var(--text-secondary, #64748b);font-weight:600}.plan-project-code{font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;font-size:10px;color:var(--accent, #3b82f6);font-weight:500}.priority-dot{width:6px;height:6px;border-radius:50%;margin-left:auto}.plan-project-name{font-size:12px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:4px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-row-3{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.plan-customer{font-size:10px;color:var(--text-secondary, #64748b)}.plan-quantity{font-size:11px}.plan-quantity .qty-value{font-weight:700;color:var(--text-primary, #1e293b)}.plan-quantity .qty-unit{color:var(--text-secondary, #64748b);margin-left:2px;font-size:10px}.plan-row-4{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}.plan-product{font-size:9px;color:var(--text-muted, #94a3b8);padding:2px 6px;background:var(--bg-secondary, #f1f5f9);border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.plan-dates{font-size:9px;color:var(--text-secondary, #64748b);font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;white-space:nowrap}.plan-row-5{display:flex;align-items:center;gap:6px}.plan-row-5 .status-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600;flex-shrink:0}.plan-row-5 .current-process{font-size:9px;font-weight:500;color:var(--accent, #3b82f6);font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;flex-shrink:0}.plan-progress{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.plan-progress .progress-bar{flex:1;height:4px;background:var(--bg-secondary, #f1f5f9);border-radius:2px;overflow:hidden;min-width:30px}.plan-progress .progress-fill{height:100%;border-radius:2px;transition:width .3s ease}.plan-progress .progress-text{font-size:9px;font-weight:600;color:var(--text-secondary, #64748b);min-width:26px;text-align:right}[data-theme=dark] .plan-item{background:var(--panel, rgba(30, 41, 59, .8))}[data-theme=dark] .plan-item.selected{background:linear-gradient(135deg,#3b82f626,#0ea5e91a)}[data-theme=dark] .plan-product,[data-theme=dark] .filter-tab{background:#ffffff14}[data-theme=dark] .filter-tab:hover{background:#ffffff1f}[data-theme=dark] .plan-progress .progress-bar{background:#ffffff1a}.plan-item-main{cursor:pointer}.plan-item.expanded{border-color:var(--accent, #3b82f6)}.schedule-toggle-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:5px;margin-top:6px;background:var(--bg-secondary, #f1f5f9);border:1px dashed var(--border, #e2e8f0);border-radius:6px;font-size:10px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.schedule-toggle-btn:hover{background:var(--panel, #ffffff);border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6)}.plan-item.expanded .schedule-toggle-btn{background:var(--accent, #3b82f6);border-style:solid;border-color:var(--accent, #3b82f6);color:#fff}.daily-schedule-list{margin-top:8px;padding-top:8px;border-top:1px solid var(--border, #e2e8f0)}.schedule-header-row{display:flex;gap:4px;padding:6px 8px;background:var(--bg-secondary, #f1f5f9);border-radius:6px;font-size:9px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;margin-bottom:4px}.schedule-row{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-radius:6px;font-size:10px;color:var(--text-primary, #1e293b);transition:background .15s ease;position:relative}.schedule-row:hover{background:var(--bg-secondary, #f1f5f9)}.schedule-row.today{background:#3b82f614;border-left:3px solid var(--accent, #3b82f6)}.schedule-row.weekend{background:#64748b0d}.schedule-row.weekend .sch-col{color:var(--text-muted, #94a3b8)}.schedule-row.completed{opacity:.85}.sch-col{display:flex;align-items:center}.sch-col.date{width:50px;flex-shrink:0;gap:4px}.sch-col.date .date-num{font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;font-weight:600}.sch-col.date .day-of-week{font-size:9px;color:var(--text-muted, #94a3b8)}.sch-col.process{width:48px;flex-shrink:0;font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;font-weight:500;color:var(--accent, #3b82f6)}.sch-col.shift{width:36px;flex-shrink:0;font-size:9px;color:var(--text-secondary, #64748b)}.sch-col.qty{width:40px;flex-shrink:0;text-align:right;justify-content:flex-end;font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace}.sch-col.qty.actual{font-weight:600;gap:4px}.sch-col.qty .achievement{font-size:8px;padding:1px 4px;border-radius:4px}.sch-col.qty .achievement.good{background:#10b98126;color:#10b981}.sch-col.qty .achievement.warn{background:#f59e0b26;color:#f59e0b}.sch-col.status{flex:1;justify-content:flex-end}.sch-status-badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px}.sch-remarks{width:100%;font-size:9px;color:var(--text-muted, #94a3b8);padding-left:54px;margin-top:2px}.sch-remarks:before{content:"※ "}[data-theme=dark] .schedule-toggle-btn{background:#ffffff0f;border-color:#ffffff26}[data-theme=dark] .schedule-toggle-btn:hover{background:#3b82f633}[data-theme=dark] .schedule-header-row,[data-theme=dark] .schedule-row:hover{background:#ffffff0f}[data-theme=dark] .schedule-row.today{background:#3b82f626}[data-theme=dark] .schedule-row.weekend{background:#ffffff08}.maintenance-open-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);cursor:pointer;transition:all .2s ease}.maintenance-open-btn:hover{background:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6);color:#fff}.maintenance-open-btn svg{color:var(--accent, #3b82f6)}.maintenance-open-btn:hover svg{color:#fff}.maintenance-count{background:var(--accent, #3b82f6);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;min-width:24px;text-align:center}.maintenance-open-btn:hover .maintenance-count{background:#ffffff4d}.maintenance-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}.maintenance-slideover{width:480px;max-width:90vw;height:100vh;background:var(--panel, #ffffff);box-shadow:-8px 0 32px #00000026;display:flex;flex-direction:column;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.slideover-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0}.slideover-title{display:flex;align-items:center;gap:10px}.slideover-title svg{color:var(--accent, #3b82f6)}.slideover-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.slideover-title .total-count{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f1f5f9);padding:4px 10px;border-radius:12px}.slideover-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #f1f5f9);border:none;border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.slideover-close-btn:hover{background:var(--error, #ef4444);color:#fff}.slideover-filters{display:flex;gap:12px;padding:16px 24px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0}.filter-group{flex:1;display:flex;flex-direction:column;gap:6px}.filter-group label{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em}.filter-group select{padding:10px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer;transition:border-color .2s ease}.filter-group select:hover,.filter-group select:focus{border-color:var(--accent, #3b82f6);outline:none}.slideover-content{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:12px}.slideover-content::-webkit-scrollbar{width:6px}.slideover-content::-webkit-scrollbar-track{background:transparent}.slideover-content::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:3px}.slideover-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #94a3b8)}.slideover-content .no-data{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #64748b);gap:12px}.slideover-content .no-data svg{opacity:.3}.slideover-content .no-data p{margin:0;font-size:14px}.maintenance-card{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;transition:all .2s ease}.maintenance-card:hover{border-color:var(--accent, #3b82f6);box-shadow:0 4px 12px #00000014}.maintenance-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.maintenance-card-header .process-badge{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);background:var(--panel, #ffffff);padding:4px 10px;border-radius:6px;border:1px solid var(--border, #e2e8f0)}.maintenance-card-header .type-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;margin-left:auto}.maintenance-card-title{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:6px;line-height:1.3}.maintenance-card-desc{font-size:12px;color:var(--text-secondary, #64748b);line-height:1.5;margin-bottom:10px}.maintenance-card-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--text-muted, #94a3b8);margin-bottom:10px}.maintenance-card-meta .meta-date,.maintenance-card-meta .meta-team{display:flex;align-items:center;gap:4px}.maintenance-card-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.maintenance-card-footer .status-badge{font-size:10px;font-weight:600;padding:4px 10px;border-radius:6px}.maintenance-card-footer .cost-badge,.maintenance-card-footer .duration-badge{font-size:10px;color:var(--text-secondary, #64748b);background:var(--panel, #ffffff);padding:4px 8px;border-radius:4px;border:1px solid var(--border, #e2e8f0)}.maintenance-card-parts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border, #e2e8f0)}.maintenance-card-parts .parts-label{font-size:10px;font-weight:600;color:var(--text-muted, #94a3b8)}.maintenance-card-parts .part-tag{font-size:10px;color:var(--accent, #3b82f6);background:#3b82f61a;padding:3px 8px;border-radius:4px}.maintenance-card-remarks{font-size:11px;color:var(--warning, #f59e0b);background:#f59e0b1a;padding:8px 12px;border-radius:6px;margin-top:10px}[data-theme=dark] .maintenance-slideover{background:var(--panel, #1e293b);box-shadow:-8px 0 32px #0006}[data-theme=dark] .slideover-filters{background:#ffffff08}[data-theme=dark] .filter-group select{background:#ffffff0f;border-color:#ffffff1a}[data-theme=dark] .maintenance-card{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .maintenance-card:hover{border-color:var(--accent, #3b82f6);background:#ffffff0f}[data-theme=dark] .maintenance-card-header .process-badge{background:#ffffff14;border-color:#ffffff1a}[data-theme=dark] .maintenance-card-footer .cost-badge,[data-theme=dark] .maintenance-card-footer .duration-badge{background:#ffffff0f;border-color:#ffffff1a}@media (max-width: 520px){.maintenance-slideover{width:100vw}.slideover-filters{flex-direction:column;gap:8px}.maintenance-card-meta{flex-direction:column;gap:6px}}.cctv-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.cctv-modal{width:90%;max-width:900px;background:var(--panel, #fff);border-radius:16px;overflow:hidden;box-shadow:0 25px 50px #0006;animation:scaleIn .25s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cctv-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff}.cctv-modal-title{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600}.cctv-process-badge{background:#fff3;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500}.cctv-modal-close{background:#ffffff26;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s}.cctv-modal-close:hover{background:#ffffff40}.cctv-modal-content{padding:0}.cctv-video-container{background:#000;aspect-ratio:16 / 9;position:relative;overflow:hidden}.cctv-video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff6;position:relative}.cctv-video-placeholder>svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.1;z-index:1}.cctv-video-info{position:absolute;top:16px;left:16px;z-index:10;display:flex;flex-direction:column;gap:8px}.cctv-video-info p{margin:0;font-size:14px;color:#ffffffe6;text-shadow:0 1px 4px rgba(0,0,0,.8)}.cctv-camera-id{font-size:12px!important;color:#fff9!important;font-family:monospace}.cctv-live-badge{display:inline-flex;align-items:center;gap:6px;background:#dc2626;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em;width:-moz-fit-content;width:fit-content}.live-dot{width:8px;height:8px;background:#fff;border-radius:50%;animation:livePulse 1s ease infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.3}}.cctv-sample-video{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:0}.cctv-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--bg-secondary, #f1f5f9);border-top:1px solid var(--border, #e2e8f0)}.cctv-status{display:flex;gap:24px}.status-item{display:flex;flex-direction:column;gap:2px}.status-label{font-size:10px;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.05em}.status-value{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);font-family:monospace}.status-value.recording{color:#dc2626;animation:recordBlink 1s ease infinite}@keyframes recordBlink{0%,to{opacity:1}50%{opacity:.5}}.cctv-timestamp{font-size:13px;color:var(--text-secondary, #64748b);font-family:monospace}.cctv-icon-group:hover circle{fill:#3b82f6cc}@media (max-width: 768px){.cctv-modal{width:95%;max-width:none}.cctv-modal-header{padding:12px 16px}.cctv-modal-title{font-size:14px;gap:8px}.cctv-process-badge{font-size:11px;padding:3px 8px}.cctv-controls{flex-direction:column;gap:12px;align-items:flex-start}.cctv-status{width:100%;justify-content:space-between}}.header-buttons{display:flex;gap:12px;align-items:center}.production-history-open-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d}.production-history-open-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.production-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:#fff3;border-radius:12px;font-size:12px;font-weight:600}.production-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}.production-slideover{width:520px;max-width:90vw;height:100%;background:var(--panel);display:flex;flex-direction:column;animation:slideInRight .3s ease;box-shadow:-4px 0 20px #0003}.slideover-header.production{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.slideover-header.production .total-count{background:#fff3}.production-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px;transition:all .2s ease}.production-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626}.production-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.production-card-header .header-left{display:flex;flex-direction:column;gap:4px}.production-card-header .work-order-no{font-size:14px;font-weight:600;color:var(--text-primary)}.production-card-header .lot-no{font-size:12px;color:var(--text-muted);font-family:monospace}.production-card-header .header-right{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.production-card-header .status-badge,.production-card-header .quality-badge{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600}.production-card-project{margin-bottom:10px}.production-card-project .project-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.production-card-project .customer-name{font-size:12px;color:var(--text-secondary)}.production-card-process{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.production-card-process .process-badge{background:#3b82f620;color:#3b82f6;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.production-card-process .product-type{font-size:12px;color:var(--text-secondary)}.production-card-qty{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary, rgba(0,0,0,.05));border-radius:8px;margin-bottom:10px}.production-card-qty .qty-item{display:flex;align-items:baseline;gap:4px}.production-card-qty .qty-label{font-size:11px;color:var(--text-muted)}.production-card-qty .qty-value{font-size:16px;font-weight:700;color:var(--text-primary)}.production-card-qty .qty-value.actual{color:#3b82f6}.production-card-qty .qty-unit{font-size:11px;color:var(--text-muted)}.production-card-qty .qty-arrow{color:var(--text-muted);font-size:14px}.production-card-qty .qty-result{flex:1;display:flex;align-items:center;gap:8px}.production-card-qty .pass-rate-bar{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden;min-width:60px}.production-card-qty .pass-rate-fill{height:100%;border-radius:4px;transition:width .3s ease}.production-card-qty .pass-rate-text{font-size:13px;font-weight:700;color:var(--text-primary);min-width:50px;text-align:right}.production-card-quality{display:flex;align-items:center;gap:16px;margin-bottom:10px;flex-wrap:wrap}.production-card-quality .quality-item{font-size:12px}.production-card-quality .quality-item.pass{color:#10b981}.production-card-quality .quality-item.fail{color:#ef4444}.production-card-quality .quality-item strong{font-weight:700}.production-card-quality .oee-badge{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600}.production-card-work{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:12px;color:var(--text-secondary)}.production-card-work .work-item{display:flex;align-items:center;gap:4px}.production-card-work .work-item.shift{padding:2px 8px;background:var(--bg-tertiary, rgba(0,0,0,.05));border-radius:4px}.production-card-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px;font-size:12px;color:var(--text-muted)}.production-card-meta .meta-item{display:flex;align-items:center;gap:4px}.production-card-defects{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.production-card-defects .defect-label{font-size:11px;color:var(--text-muted);font-weight:500}.production-card-defects .defect-tag{background:#ef444420;color:#ef4444;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.production-card-reason{margin-top:8px;padding:8px 12px;background:#f59e0b10;border-radius:6px;font-size:12px;color:var(--text-secondary)}.production-card-reason .reason-label{color:#f59e0b;font-weight:600;margin-right:6px}.production-card-remarks{margin-top:8px;font-size:12px;color:var(--text-muted);font-style:italic}html.dark .production-card{background:var(--bg-secondary)}html.dark .production-card-qty{background:#ffffff0d}html.dark .production-card-work .work-item.shift{background:#ffffff14}@media (max-width: 768px){.header-buttons{flex-direction:column;gap:8px}.production-history-open-btn,.maintenance-open-btn{width:100%;justify-content:center}.production-slideover{width:100%;max-width:100vw}.production-card-qty{flex-direction:column;align-items:flex-start;gap:8px}.production-card-qty .qty-arrow{display:none}.production-card-qty .qty-result{width:100%}}.igs-settlement{padding:20px;height:100vh;overflow:hidden;background:var(--bg-base, #eef2f6);box-sizing:border-box;display:flex;flex-direction:column}.settlement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-shrink:0}.settlement-header .header-title{display:flex;align-items:center;gap:12px}.settlement-header .header-title h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1e293b)}.settlement-header .header-title svg{color:var(--accent, #3b82f6)}.settlement-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;flex-shrink:0}.settlement-summary .summary-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:12px}.settlement-summary .summary-icon{width:40px;height:40px;border-radius:10px;background:#3b82f61a;display:flex;align-items:center;justify-content:center;color:var(--accent, #3b82f6);flex-shrink:0}.settlement-summary .summary-icon.cost{background:#8b5cf61a;color:#8b5cf6}.settlement-summary .summary-icon.margin{background:#10b9811a;color:var(--success, #10b981)}.settlement-summary .summary-icon.pending{background:#f59e0b1a;color:var(--warning, #f59e0b)}.settlement-summary .summary-info{display:flex;flex-direction:column;gap:4px}.settlement-summary .summary-label{font-size:13px;color:var(--text-secondary, #64748b)}.settlement-summary .summary-value{font-size:18px;font-weight:700;color:var(--text-primary, #1e293b)}.settlement-content{display:flex;gap:20px;flex:1;min-height:0}.settlement-list-panel{width:400px;flex-shrink:0;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;display:flex;flex-direction:column;overflow:hidden}.list-filters{display:flex;gap:12px;margin-bottom:16px}.list-filters .search-box{flex:1;display:flex;align-items:center;gap:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px 14px}.list-filters .search-box svg{color:var(--text-secondary, #64748b)}.list-filters .search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary, #1e293b);outline:none}.list-filters .filter-select{padding:10px 14px;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:var(--panel, #ffffff);font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer}.settlement-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.settlement-item{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease}.settlement-item:hover{border-color:var(--accent, #3b82f6)}.settlement-item.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f60d,#0ea5e90d)}.settlement-item .item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.settlement-item .project-no{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-secondary, #64748b)}.settlement-item .item-project{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:12px}.settlement-item .item-amounts{display:flex;gap:20px}.settlement-item .amount-item{display:flex;flex-direction:column;gap:2px}.settlement-item .amount-item .label{font-size:11px;color:var(--text-secondary, #64748b)}.settlement-item .amount-item .value{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.settlement-item .amount-item .value.positive{color:var(--success, #10b981)}.settlement-item .amount-item .value.negative{color:var(--error, #ef4444)}.settlement-item .amount-item .value.estimated{color:var(--text-secondary, #64748b)}.settlement-item .amount-item .value .diff{display:inline-flex;align-items:center;gap:2px;margin-left:6px;font-size:11px}.settlement-item .item-date{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border, #e2e8f0);font-size:12px;color:var(--text-secondary, #64748b)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500}.status-badge.pending{background:#f59e0b1a;color:#f59e0b}.status-badge.reviewing{background:#3b82f61a;color:#3b82f6}.status-badge.approved{background:#10b9811a;color:#10b981}.status-badge.rejected{background:#ef44441a;color:#ef4444}.settlement-analysis-panel{flex:1;min-width:0;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;overflow-y:auto;display:flex;flex-direction:column}.settlement-report-panel{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;overflow:hidden}.settlement-report-panel .report-toggle{display:flex;gap:4px;background:var(--bg-secondary, #f1f5f9);padding:4px;margin:20px 20px 0;border-radius:8px;flex-shrink:0}.settlement-report-panel .report-tab{flex:1;padding:10px 12px;border-radius:6px;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.settlement-report-panel .report-tab:hover{color:var(--text-primary, #1e293b)}.settlement-report-panel .report-tab.active{color:#fff;background:#3b82f6;box-shadow:0 2px 8px #3b82f64d}.settlement-report-panel .settlement-report-card{flex:1;display:flex;flex-direction:column;margin:16px 20px;padding:32px 40px;background:repeating-linear-gradient(45deg,transparent,transparent 35px,rgba(59,130,246,.02) 35px,rgba(59,130,246,.02) 70px),linear-gradient(180deg,#fff,#fefefe);border:2px solid #1e3a5f;border-radius:4px;overflow-y:auto;box-shadow:0 0 0 4px #f8fafc,0 0 0 6px #cbd5e1,0 4px 20px #00000014;position:relative}.settlement-report-panel .settlement-report-card:before{content:"";position:absolute;top:8px;left:8px;right:8px;bottom:8px;border:1px solid rgba(30,58,95,.15);border-radius:2px;pointer-events:none}.settlement-report-panel .settlement-report-card.external-doc{background:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='50' y='50' font-size='8' fill='%233b82f6' fill-opacity='0.04' text-anchor='middle' transform='rotate(-45 50 50)'%3E정산확인서%3C/text%3E%3C/svg%3E"),repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(100,116,139,.03) 19px,rgba(100,116,139,.03) 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(100,116,139,.03) 19px,rgba(100,116,139,.03) 20px),linear-gradient(180deg,#fff,#fafbfc)}.settlement-report-panel .settlement-report-card.internal-doc{background:url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='60' y='60' font-size='7' fill='%2310b981' fill-opacity='0.04' text-anchor='middle' transform='rotate(-45 60 60)'%3E사내문서%3C/text%3E%3C/svg%3E"),repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(16,185,129,.02) 19px,rgba(16,185,129,.02) 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(16,185,129,.02) 19px,rgba(16,185,129,.02) 20px),linear-gradient(180deg,#fff,#f0fdf4);border-color:#065f46}.settlement-report-panel .report-actions{display:flex;gap:12px;padding:20px;background:var(--bg-secondary, #f8fafc);border-top:1px solid var(--border, #e2e8f0);flex-shrink:0}.settlement-report-panel .report-actions .igs-btn{padding:12px 16px;font-size:13px}.settlement-report-panel .report-actions .igs-btn-primary{flex:1;justify-content:center}.settlement-report-panel .document-number{text-align:right;font-family:JetBrains Mono,monospace;font-size:11px;color:#64748b;margin-bottom:16px;padding-bottom:8px;border-bottom:1px dashed #cbd5e1}.settlement-report-panel .report-header{display:flex;flex-direction:column;align-items:center;border-bottom:3px double #1e3a5f;padding-bottom:20px;margin-bottom:24px;position:relative}.settlement-report-panel .report-header h1{margin:0;font-size:28px;font-weight:800;color:#1e3a5f;letter-spacing:8px;text-transform:uppercase}.settlement-report-panel .report-subtitle{font-size:13px;color:#64748b;margin-top:8px;letter-spacing:2px}.settlement-report-panel .report-date{margin:12px 0 0;font-size:12px;color:#64748b}.settlement-report-panel .report-meta-box{display:flex;justify-content:space-between;margin-bottom:24px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.settlement-report-panel .report-recipient{text-align:left;font-size:13px;color:#475569;line-height:1.8}.settlement-report-panel .report-recipient p{margin:4px 0}.settlement-report-panel .report-recipient strong{color:#1e293b;font-weight:600}.settlement-report-panel .report-sender{text-align:right;font-size:13px;color:#475569;line-height:1.8}.settlement-report-panel .report-sender p{margin:4px 0}.settlement-report-panel .party-info-table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:13px}.settlement-report-panel .party-info-table th,.settlement-report-panel .party-info-table td{border:1px solid #cbd5e1;padding:10px 12px;text-align:left}.settlement-report-panel .party-info-table th{background:#f1f5f9;font-weight:600;color:#475569;width:100px}.settlement-report-panel .party-info-table td{color:#1e293b}.settlement-report-panel .party-info-table .party-header{background:#1e3a5f;color:#fff;font-weight:600;text-align:center}.settlement-report-panel .amount-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13px}.settlement-report-panel .amount-table th,.settlement-report-panel .amount-table td{border:1px solid #cbd5e1;padding:12px 16px;text-align:right}.settlement-report-panel .amount-table th{background:#f1f5f9;font-weight:600;color:#475569;text-align:center}.settlement-report-panel .amount-table .item-label{text-align:left;font-weight:500}.settlement-report-panel .amount-table .total-row{background:#1e3a5f;color:#fff;font-weight:700}.settlement-report-panel .amount-table .total-row td{border-color:#1e3a5f}.settlement-report-panel .amount-table .amount-value{font-family:JetBrains Mono,monospace;font-weight:600}.settlement-report-panel .amount-table .currency{font-size:11px;color:#64748b;margin-left:4px}.settlement-report-panel .amount-korean{text-align:center;font-size:15px;font-weight:600;color:#1e3a5f;padding:12px;margin:16px 0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.settlement-report-panel .delivery-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:12px}.settlement-report-panel .delivery-table th,.settlement-report-panel .delivery-table td{border:1px solid #cbd5e1;padding:8px 10px;text-align:center}.settlement-report-panel .delivery-table th{background:#f1f5f9;font-weight:600;color:#475569}.settlement-report-panel .delivery-table .item-name{text-align:left}.settlement-report-panel .signature-area{display:flex;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}.settlement-report-panel .signature-box{text-align:center;min-width:160px}.settlement-report-panel .signature-box .company-name{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:8px}.settlement-report-panel .signature-box .representative{font-size:13px;color:#475569;margin-bottom:16px}.settlement-report-panel .signature-box .seal{width:80px;height:80px;border:2px dashed #cbd5e1;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:11px;color:#94a3b8}.settlement-report-panel .signature-box .seal.has-seal{border-color:#dc2626;color:#dc2626;font-weight:700;font-size:14px;border-style:solid}.settlement-report-panel .report-section{margin-bottom:20px}.settlement-report-panel .report-section:last-child{margin-bottom:0}.settlement-report-panel .report-section h3{margin:0 0 14px;font-size:13px;font-weight:600;color:var(--text-secondary, #475569);border-bottom:1px dashed var(--border, #cbd5e1);padding-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.settlement-report-panel .report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.settlement-report-panel .report-grid .label{display:block;font-size:12px;color:var(--text-secondary, #94a3b8);margin-bottom:6px}.settlement-report-panel .report-grid .value{display:block;font-size:15px;color:var(--text-primary, #1e293b);font-weight:600}.settlement-report-panel .report-grid .value.mono{font-family:JetBrains Mono,monospace;font-size:14px}.settlement-report-panel .report-grid .value.emphasize{color:var(--primary, #1e40af);font-size:16px}.settlement-report-panel .report-note{margin:0;font-size:13px;line-height:1.7;color:var(--text-secondary, #64748b);padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;border-left:3px solid var(--accent, #3b82f6)}.no-selection{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #64748b)}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.detail-header .header-info h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary, #1e293b)}.detail-header .header-info .project-no{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text-secondary, #64748b)}.margin-comparison{display:flex;align-items:center;gap:16px;margin-bottom:24px}.comparison-card{flex:1;padding:20px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;text-align:center}.comparison-card.estimated{background:var(--bg-secondary, #f8fafc)}.comparison-card.positive{border-color:var(--success, #10b981);background:#10b9810d}.comparison-card.negative{border-color:var(--error, #ef4444);background:#ef44440d}.comparison-card.pending{opacity:.6}.comparison-label{display:block;font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:8px}.comparison-value{display:block;font-size:28px;font-weight:700;color:var(--text-primary, #1e293b);margin-bottom:4px}.comparison-card.positive .comparison-value{color:var(--success, #10b981)}.comparison-card.negative .comparison-value{color:var(--error, #ef4444)}.comparison-amount{font-size:14px;color:var(--text-secondary, #64748b)}.comparison-arrow{color:var(--text-secondary, #64748b)}.variance-badge{display:flex;align-items:center;gap:4px;padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600}.variance-badge.positive{background:#10b9811a;color:var(--success, #10b981)}.variance-badge.negative{background:#ef44441a;color:var(--error, #ef4444)}.cost-analysis{margin-bottom:24px}.cost-analysis h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.cost-table{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden}.cost-row{display:grid;grid-template-columns:1fr 150px 80px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.cost-row:last-child{border-bottom:none}.cost-row.header{background:var(--bg-secondary, #f8fafc);font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase}.cost-row.sub{background:var(--bg-secondary, #f8fafc);padding-left:32px}.cost-row.sub .cost-label{font-size:13px;color:var(--text-secondary, #64748b)}.cost-row.loss{background:var(--bg-secondary, rgba(239, 68, 68, .03))}.cost-row.total{background:var(--bg-secondary, #f8fafc);font-weight:600}.cost-label{font-size:14px;color:var(--text-primary, #1e293b)}.cost-value{text-align:right;font-size:14px;color:var(--text-primary, #1e293b)}.cost-value.negative{color:var(--error, #ef4444)}.cost-percent{text-align:right;font-size:13px;color:var(--text-secondary, #64748b)}.cost-percent.negative{color:var(--error, #ef4444)}.waterfall-section{margin-bottom:24px}.waterfall-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.waterfall-chart{display:flex;align-items:flex-end;gap:16px;height:200px;padding:20px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px}.waterfall-item{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.waterfall-item .bar-container{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.waterfall-item .bar{width:50px;border-radius:6px 6px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;min-height:30px}.waterfall-item .bar.total{background:linear-gradient(180deg,var(--accent, #3b82f6),#0ea5e9)}.waterfall-item .bar.cost{background:linear-gradient(180deg,#f59e0b,#fbbf24)}.waterfall-item .bar.loss{background:linear-gradient(180deg,#ef4444,#f87171)}.waterfall-item .bar.profit{background:linear-gradient(180deg,#10b981,#34d399)}.waterfall-item .bar-value{font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);white-space:nowrap}.waterfall-item .bar-label{margin-top:8px;font-size:11px;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap}.waterfall-chart-real{padding:20px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px}.waterfall-bars{display:flex;align-items:flex-end;gap:8px;height:220px;position:relative}.waterfall-bar-wrapper{flex:1;height:100%;position:relative;display:flex;flex-direction:column;align-items:center}.waterfall-connector{position:absolute;left:-8px;width:calc(50% + 8px);height:2px;background:var(--text-secondary, #94a3b8);z-index:1}.waterfall-bar{position:absolute;width:60px;left:50%;transform:translate(-50%);border-radius:4px;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;min-height:24px;z-index:2;transition:all .3s ease}.waterfall-bar:hover{filter:brightness(1.1);transform:translate(-50%) scale(1.02)}.waterfall-bar.total{background:linear-gradient(180deg,#3b82f6,#60a5fa);box-shadow:0 2px 8px #3b82f64d}.waterfall-bar.cost{background:linear-gradient(180deg,#f59e0b,#fbbf24);box-shadow:0 2px 8px #f59e0b4d}.waterfall-bar.loss{background:linear-gradient(180deg,#ef4444,#f87171);box-shadow:0 2px 8px #ef44444d}.waterfall-bar.profit{background:linear-gradient(180deg,#10b981,#34d399);box-shadow:0 2px 8px #10b9814d}.waterfall-bar-value{font-size:11px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);white-space:nowrap}.waterfall-bar-label{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);font-size:11px;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap}.detail-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}@media (max-width: 1200px){.settlement-summary{grid-template-columns:repeat(2,1fr)}.settlement-content{grid-template-columns:350px 1fr}}.igs-competitor{padding:20px;height:100vh;overflow:hidden;background:var(--bg-base, #eef2f6);box-sizing:border-box;display:flex;flex-direction:column}.igs-competitor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-shrink:0}.igs-competitor-header .header-title{display:flex;align-items:center;gap:12px}.igs-competitor-header .header-title h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #1e293b)}.igs-competitor-header .header-title svg{color:var(--accent, #3b82f6)}.igs-competitor-content{display:grid;grid-template-columns:380px 1fr;gap:20px;flex:1;min-height:0}.competitor-list-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:20px;display:flex;flex-direction:column;overflow:hidden}.competitor-list-filters{margin-bottom:16px}.competitor-list-filters .search-box{display:flex;align-items:center;gap:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:10px 14px;margin-bottom:12px}.competitor-list-filters .search-box svg{color:var(--text-secondary, #64748b)}.competitor-list-filters .search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary, #1e293b);outline:none}.competitor-list-filters .search-box input::-moz-placeholder{color:var(--text-secondary, #64748b)}.competitor-list-filters .search-box input::placeholder{color:var(--text-secondary, #64748b)}.filter-row{display:flex;gap:8px}.filter-select{flex:1;padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer}.competitor-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.competitor-list::-webkit-scrollbar{display:none}.competitor-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease}.competitor-card:hover{border-color:var(--accent, #3b82f6);box-shadow:0 4px 12px #3b82f61a}.competitor-card.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,#3b82f60d,#0ea5e90d)}.competitor-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.grade-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.grade-icon.grade-a{background:#ef44441a;color:#ef4444}.grade-icon.grade-b{background:#f59e0b1a;color:#f59e0b}.grade-icon.grade-c{background:#6b72801a;color:#6b7280}.competitor-info{flex:1}.competitor-info h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.competitor-info .competitor-location{font-size:12px;color:var(--text-secondary, #64748b)}.grade-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.grade-badge.grade-a{background:#ef44441a;color:#ef4444}.grade-badge.grade-b{background:#f59e0b1a;color:#f59e0b}.grade-badge.grade-c{background:#6b72801a;color:#6b7280}.competitor-card-stats{display:flex;align-items:center;gap:16px;padding-top:12px;border-top:1px solid var(--border, #e2e8f0)}.competitor-card-stats .stat-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.competitor-card-stats .stat-item.products{margin-left:auto;gap:4px}.competitor-card-stats .product-tag{padding:2px 6px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:10px;color:var(--text-secondary, #64748b)}.competitor-card-stats .product-tag.more{background:var(--accent, #3b82f6);color:#fff}.competitor-card-footer{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border, #e2e8f0)}.competitor-card-footer .sales-rep{font-size:12px;color:var(--text-secondary, #64748b)}.competitor-detail-panel{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:20px;padding:24px;display:flex;flex-direction:column;overflow:hidden}.no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #64748b)}.no-selection svg{margin-bottom:16px;opacity:.5}.no-selection p{margin:0;font-size:15px}.detail-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.detail-title{display:flex;align-items:center;gap:16px;margin-bottom:12px}.detail-title .grade-icon{width:48px;height:48px;font-size:20px}.detail-title h2{margin:0;font-size:22px;font-weight:600;color:var(--text-primary, #1e293b)}.detail-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.detail-meta .location,.detail-meta .scale{font-size:13px;color:var(--text-secondary, #64748b)}.detail-meta .location:after{content:"·";margin-left:8px}.detail-website{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary, #64748b);margin-top:8px}.detail-website a{color:var(--accent, #3b82f6);text-decoration:none}.detail-website a:hover{text-decoration:underline}.detail-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:20px;scrollbar-width:none;-ms-overflow-style:none}.detail-content::-webkit-scrollbar{display:none}.info-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:16px;padding:20px}.info-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.info-card-header svg{color:var(--accent, #3b82f6)}.info-card-header h4{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);flex:1}.stats-card{background:linear-gradient(135deg,#3b82f60d,#0ea5e90d);border-color:#3b82f633}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-box{text-align:center;padding:16px;background:var(--panel, #ffffff);border-radius:12px}.stat-box .stat-value{display:block;font-size:28px;font-weight:700;color:var(--text-primary, #1e293b);margin-bottom:4px}.stat-box .stat-label{font-size:12px;color:var(--text-secondary, #64748b)}.stat-box.wins .stat-value{color:#16a34a}.stat-box.losses .stat-value{color:#ef4444}.stat-box.rate .stat-value{color:var(--accent, #3b82f6)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-label{font-size:12px;color:var(--text-tertiary, #94a3b8)}.info-value{font-size:14px;color:var(--text-primary, #1e293b);font-weight:500}.info-row.full{margin-top:16px;padding-top:16px;border-top:1px dashed var(--border, #e2e8f0)}.info-row.full .info-label{margin-bottom:4px}.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reason-box{background:var(--bg-secondary, #f8fafc);border-radius:12px;padding:16px}.reason-box-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-bottom:16px}.reason-box.win .reason-box-title{color:#16a34a}.reason-box.loss .reason-box-title{color:#ef4444}.reason-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}.reason-item:last-child{margin-bottom:0}.reason-name{width:50px;font-size:13px;color:var(--text-primary, #1e293b)}.reason-bar{flex:1;height:8px;background:var(--border, #e2e8f0);border-radius:4px;overflow:hidden}.reason-fill{height:100%;border-radius:4px;transition:width .3s ease}.reason-fill.win{background:linear-gradient(90deg,#16a34a,#22c55e)}.reason-fill.loss{background:linear-gradient(90deg,#ef4444,#f87171)}.reason-pct{width:40px;font-size:13px;font-weight:600;color:var(--text-secondary, #64748b);text-align:right}.reason-empty{font-size:13px;color:var(--text-tertiary, #94a3b8);text-align:center;padding:20px}.swot-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.swot-box{background:var(--bg-secondary, #f8fafc);border-radius:10px;padding:14px}.swot-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;margin-bottom:10px}.swot-box.strength .swot-title{color:#16a34a}.swot-box.weakness .swot-title{color:#ef4444}.swot-box.opportunity .swot-title{color:#3b82f6}.swot-box.threat .swot-title{color:#f59e0b}.swot-item{font-size:13px;color:var(--text-primary, #1e293b);padding:4px 0;line-height:1.5}.swot-empty{font-size:12px;color:var(--text-tertiary, #94a3b8)}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;transition:border-color .2s ease}.history-item:hover{border-color:var(--accent, #3b82f6)}.history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.history-date{font-size:12px;color:var(--text-secondary, #64748b)}.history-item-body{margin-bottom:10px}.history-project{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:2px}.history-client{font-size:13px;color:var(--text-secondary, #64748b)}.history-item-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.history-prices{display:flex;gap:16px;font-size:12px;color:var(--text-secondary, #64748b)}.history-reasons{display:flex;gap:4px}.history-detail{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border, #e2e8f0);font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}.result-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.result-badge.win{background:#dcfce7;color:#16a34a}.result-badge.loss{background:#fef2f2;color:#ef4444}.result-badge.in-progress{background:#fef3c7;color:#d97706}.result-text{font-weight:600}.result-text.win{color:#16a34a}.result-text.loss{color:#ef4444}.result-text.in-progress{color:#d97706}.loss-reason-tag{display:inline-block;padding:2px 8px;background:#fef2f2;color:#ef4444;border-radius:4px;font-size:11px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary, #64748b)}.empty-state p{margin:0;font-size:14px}.igs-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.igs-btn-primary{background:linear-gradient(135deg,var(--accent, #3b82f6),#0ea5e9);color:#fff}.igs-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.igs-btn-secondary{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b)}.igs-btn-secondary:hover{border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6)}.igs-btn.btn-sm{padding:6px 12px;font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:var(--panel, #ffffff);border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #0006;border:1px solid var(--border, #e2e8f0)}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border, #e2e8f0);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary, #f8fafc)}.modal-title{font-size:18px;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.modal-close{background:none;border:none;font-size:24px;color:var(--text-tertiary, #94a3b8);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary, #1e293b)}.modal-body{padding:24px;overflow-y:auto;max-height:60vh}.modal-footer{padding:16px 24px;background:var(--bg-secondary, #f8fafc);border-top:1px solid var(--border, #e2e8f0);display:flex;justify-content:flex-end;gap:12px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:8px}.form-label .required{color:#ef4444}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border:1px solid var(--border, #e2e8f0);border-radius:10px;font-size:14px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);transition:border-color .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent, #3b82f6)}.form-textarea{resize:vertical;min-height:100px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.result-radios{display:flex;gap:24px}.result-radios label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.result-radios input[type=radio]{width:18px;height:18px;cursor:pointer}.loss-reasons-checkboxes{display:flex;flex-wrap:wrap;gap:12px}.loss-reasons-checkboxes label{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer;transition:all .2s ease}.loss-reasons-checkboxes label:hover{border-color:var(--accent, #3b82f6)}.loss-reasons-checkboxes label.checked{background:#ef44441a;border-color:#ef4444;color:#ef4444}.loss-reasons-checkboxes input[type=checkbox]{width:16px;height:16px;cursor:pointer}.detail-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-secondary, #f1f5f9);border-radius:12px;margin-bottom:20px;flex-shrink:0}.detail-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease;white-space:nowrap}.detail-tab:hover{background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.detail-tab.active{background:var(--panel, #ffffff);color:var(--accent, #3b82f6);box-shadow:0 1px 3px #0000001a}.detail-tab svg{flex-shrink:0}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background:var(--border, #e2e8f0);border-radius:9px;font-size:11px;font-weight:600;color:var(--text-secondary, #64748b)}.detail-tab.active .tab-count{background:#3b82f626;color:var(--accent, #3b82f6)}.news-list{display:flex;flex-direction:column;gap:12px}.news-item{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;transition:all .2s ease}.news-item:hover{border-color:var(--accent, #3b82f6);box-shadow:0 2px 8px #3b82f61a}.news-item-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.news-category{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600}.news-importance{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600}.news-date{margin-left:auto;font-size:12px;color:var(--text-tertiary, #94a3b8)}.news-title{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:8px;line-height:1.4}.news-summary{font-size:13px;color:var(--text-secondary, #64748b);line-height:1.6;margin-bottom:12px}.news-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.news-tag{display:inline-block;padding:2px 8px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:11px;color:var(--text-secondary, #64748b)}.news-implications{padding:12px;background:#3b82f60d;border-left:3px solid var(--accent, #3b82f6);border-radius:0 8px 8px 0;margin-bottom:12px}.news-implications-label{font-size:11px;font-weight:600;color:var(--accent, #3b82f6);margin-bottom:4px}.news-implications-text{font-size:13px;color:var(--text-primary, #1e293b);line-height:1.5}.news-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px dashed var(--border, #e2e8f0)}.news-source{font-size:12px;color:var(--text-tertiary, #94a3b8)}.news-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--accent, #3b82f6);text-decoration:none}.news-link:hover{text-decoration:underline}.clients-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.clients-summary-item{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:14px;text-align:center}.clients-summary-value{font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);margin-bottom:4px}.clients-summary-label{font-size:12px;color:var(--text-secondary, #64748b)}.clients-list{display:flex;flex-direction:column;gap:12px}.client-item{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:16px;transition:all .2s ease}.client-item:hover{border-color:var(--accent, #3b82f6);box-shadow:0 2px 8px #3b82f61a}.client-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.client-name{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.client-type{display:inline-flex;align-items:center;padding:3px 10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:11px;color:var(--text-secondary, #64748b)}.client-badges{display:flex;gap:8px}.client-relation-badge,.client-volume-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600}.client-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.client-info-row{display:flex;flex-direction:column;gap:2px}.client-label{font-size:11px;color:var(--text-tertiary, #94a3b8)}.client-value{font-size:13px;color:var(--text-primary, #1e293b);font-weight:500}.client-products{margin-bottom:12px}.client-products-label{font-size:11px;color:var(--text-tertiary, #94a3b8);margin-bottom:6px}.client-product-tags{display:flex;flex-wrap:wrap;gap:6px}.client-product-tag{display:inline-block;padding:3px 10px;background:#3b82f61a;color:var(--accent, #3b82f6);border-radius:4px;font-size:11px;font-weight:500}.client-projects{margin-bottom:12px}.client-projects-label{font-size:11px;color:var(--text-tertiary, #94a3b8);margin-bottom:6px}.client-project-list{display:flex;flex-direction:column;gap:4px}.client-project-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #64748b)}.client-project-item:before{content:"•";color:var(--accent, #3b82f6)}.client-notes{padding:10px 12px;background:var(--panel, #ffffff);border-radius:8px;font-size:12px;color:var(--text-secondary, #64748b);line-height:1.5;margin-bottom:12px}.client-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px dashed var(--border, #e2e8f0);font-size:11px;color:var(--text-tertiary, #94a3b8)}.detail-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ai-analysis-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #8b5cf64d;white-space:nowrap;flex-shrink:0}.ai-analysis-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.ai-analysis-btn:active{transform:translateY(0)}.ai-analysis-btn svg{animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1}50%{opacity:.6}}.ai-analysis-overlay{background:#000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ai-analysis-modal{max-width:800px;max-height:90vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1a2e,#16213e);border:1px solid rgba(139,92,246,.3);box-shadow:0 25px 80px #0009,0 0 40px #8b5cf626}.ai-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#8b5cf626,#6366f11a);border-bottom:1px solid rgba(139,92,246,.25)}.ai-modal-title{display:flex;align-items:center;gap:14px}.ai-icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:14px;color:#fff;box-shadow:0 4px 20px #8b5cf680}.ai-modal-title h3{margin:0;font-size:18px;font-weight:700;color:#f1f5f9}.ai-modal-subtitle{font-size:14px;color:#94a3b8}.ai-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#94a3b8;cursor:pointer;transition:all .2s ease}.ai-modal-close:hover{background:#ffffff1a;color:#f1f5f9;border-color:#8b5cf64d}.ai-modal-body{flex:1;padding:24px;overflow-y:auto;background:linear-gradient(180deg,transparent,rgba(0,0,0,.2))}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.ai-loading-icon{margin-bottom:24px;color:#a78bfa}.ai-loading-icon .spin{animation:spin 1s linear infinite}.ai-loading-text h4{margin:0 0 8px;font-size:18px;font-weight:600;color:#f1f5f9}.ai-loading-text p{margin:0;font-size:14px;color:#94a3b8}.ai-loading-steps{display:flex;gap:24px;margin-top:32px}.loading-step{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b}.loading-step.active{color:#a78bfa}.step-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.loading-step.active .step-dot{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.ai-threat-header{display:flex;align-items:center;gap:20px;padding:20px;background:#0000004d;border:2px solid;border-radius:16px;margin-bottom:20px}.threat-score-circle{width:80px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid;border-radius:50%;flex-shrink:0;background:#0006;box-shadow:0 0 20px #8b5cf633}.threat-score{font-size:28px;font-weight:700;color:#f1f5f9}.threat-label{font-size:10px;color:#94a3b8}.threat-info{flex:1}.threat-level{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin-bottom:4px}.threat-meta{font-size:12px;color:#94a3b8}.threat-quick-stats{display:flex;flex-direction:column;gap:8px}.quick-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1}.ai-section-tabs{display:flex;gap:8px;margin-bottom:20px;padding:4px;background:#0000004d;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.ai-section-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;background:transparent;border:none;border-radius:8px;font-size:13px;font-weight:500;color:#94a3b8;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ai-section-tab:hover{background:#ffffff0d;color:#f1f5f9}.ai-section-tab.active{background:linear-gradient(135deg,#8b5cf64d,#6366f133);color:#a78bfa;box-shadow:0 2px 12px #8b5cf640;border:1px solid rgba(139,92,246,.3)}.ai-section-content{min-height:300px}.ai-summary-box{display:flex;gap:16px;padding:20px;background:linear-gradient(135deg,#8b5cf626,#6366f11a);border:1px solid rgba(139,92,246,.25);border-radius:14px;margin-bottom:20px}.ai-summary-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:10px;color:#fff;flex-shrink:0;box-shadow:0 4px 15px #8b5cf666}.ai-summary-box p{margin:0;font-size:14px;line-height:1.7;color:#e2e8f0}.ai-strengths-weaknesses{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.sw-box{padding:16px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:12px}.sw-box h5{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600}.sw-box.strengths h5{color:#34d399}.sw-box.weaknesses h5{color:#f87171}.sw-box ul{margin:0;padding:0;list-style:none}.sw-box li{position:relative;padding:6px 0 6px 16px;font-size:13px;color:#cbd5e1}.sw-box li:before{content:"•";position:absolute;left:0;color:currentColor}.sw-box.strengths li:before{color:#34d399}.sw-box.weaknesses li:before{color:#f87171}.sw-box li.empty{color:#64748b;font-style:italic}.sw-box li.empty:before{content:""}.ai-recommendations{padding:16px;background:#fbbf2414;border:1px solid rgba(251,191,36,.2);border-radius:12px}.ai-recommendations h5{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:#fbbf24}.ai-recommendations ul{margin:0;padding:0;list-style:none}.ai-recommendations li{display:flex;align-items:flex-start;gap:8px;padding:8px 0;font-size:13px;color:#e2e8f0;border-bottom:1px dashed rgba(255,255,255,.1)}.ai-recommendations li:last-child{border-bottom:none}.ai-recommendations li svg{flex-shrink:0;color:#fbbf24;margin-top:2px}.ai-strategy-section{display:flex;flex-direction:column;gap:16px}.strategy-card{padding:20px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:14px;transition:all .2s ease}.strategy-card:hover{border-color:#8b5cf666;box-shadow:0 4px 20px #8b5cf626;background:#8b5cf60d}.strategy-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.strategy-title{display:flex;align-items:center;gap:10px}.strategy-title svg{color:#a78bfa}.strategy-title h5{margin:0;font-size:15px;font-weight:600;color:#f1f5f9}.strategy-priority{padding:4px 12px;border-radius:6px;font-size:11px;font-weight:600}.strategy-desc{margin:0 0 16px;font-size:13px;color:#cbd5e1;line-height:1.6}.strategy-actions{padding:14px;background:#00000040;border:1px solid rgba(255,255,255,.05);border-radius:10px}.strategy-actions h6{margin:0 0 10px;font-size:12px;font-weight:600;color:#94a3b8}.strategy-actions ul{margin:0;padding:0;list-style:none}.strategy-actions li{display:flex;align-items:center;gap:6px;padding:6px 0;font-size:12px;color:#e2e8f0}.strategy-actions li svg{color:#a78bfa}.ai-trends-section{display:flex;flex-direction:column;gap:12px}.trend-card{padding:16px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:all .2s ease}.trend-card:hover{border-color:#8b5cf64d;background:#8b5cf608}.trend-header{margin-bottom:10px}.trend-impact{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600}.trend-content h5{margin:0 0 10px;font-size:14px;font-weight:600;color:#f1f5f9}.trend-opportunity{display:flex;align-items:flex-start;gap:8px;padding:10px;background:#f59e0b14;border:1px solid rgba(245,158,11,.15);border-radius:8px;font-size:13px;color:#e2e8f0}.trend-opportunity svg{flex-shrink:0;color:#fbbf24;margin-top:2px}.ai-targets-section{display:flex;flex-direction:column;gap:12px}.target-card{padding:16px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:all .2s ease}.target-card:hover{border-color:#8b5cf64d;background:#8b5cf608}.target-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.target-header h5{margin:0;font-size:15px;font-weight:600;color:#f1f5f9}.win-probability{display:flex;align-items:center;gap:8px;width:120px}.prob-bar{height:6px;border-radius:3px;transition:width .3s ease;background:#ffffff1a}.prob-text{font-size:12px;font-weight:600;color:#cbd5e1;min-width:36px;text-align:right}.target-info{display:flex;flex-direction:column;gap:8px}.target-row{display:flex;gap:12px;font-size:13px}.target-row .label{width:70px;flex-shrink:0;color:#94a3b8}.target-row .value{color:#e2e8f0}.empty-targets{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b}.empty-targets svg{margin-bottom:12px;opacity:.5;color:#94a3b8}.empty-targets p{margin:0;font-size:14px}.ai-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#0006;border-top:1px solid rgba(139,92,246,.2)}.ai-disclaimer{display:flex;align-items:center;gap:8px;font-size:12px;color:#94a3b8}.ai-disclaimer svg{color:#a78bfa}.ai-modal-footer .igs-btn-secondary{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e2e8f0}.ai-modal-footer .igs-btn-secondary:hover{background:#8b5cf626;border-color:#8b5cf64d;color:#a78bfa}@media (max-width: 1200px){.igs-competitor-content{grid-template-columns:320px 1fr}.stats-grid,.info-grid{grid-template-columns:repeat(2,1fr)}.detail-tabs{flex-wrap:wrap}.detail-tab{padding:8px 12px;font-size:12px}.clients-summary,.client-info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.igs-competitor-content{grid-template-columns:1fr;height:auto}.competitor-list-panel{max-height:400px}.competitor-detail-panel{min-height:600px}.reason-grid,.swot-grid{grid-template-columns:1fr}.detail-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.detail-tabs::-webkit-scrollbar{display:none}.clients-summary{grid-template-columns:repeat(2,1fr)}.client-info-grid{grid-template-columns:1fr}.ai-analysis-modal{max-width:95vw;margin:20px}.ai-threat-header{flex-wrap:wrap}.threat-quick-stats{flex-direction:row;width:100%;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border, #e2e8f0)}.ai-section-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.ai-strengths-weaknesses{grid-template-columns:1fr}.detail-header-top{flex-direction:column;gap:12px}.ai-analysis-btn{align-self:flex-start}}@media (max-width: 600px){.igs-competitor{padding:16px}.igs-competitor-header{flex-direction:column;gap:16px;align-items:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr}.form-row{flex-direction:column}}.network-tab{position:relative;padding:0!important;overflow:visible}.network-tab .loading-state,.network-tab .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-secondary, #64748b)}.network-tab .loading-state .spin{animation:spin 1s linear infinite}.network-tab .error-state{color:var(--error, #ef4444)}.network-tab .info-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.network-tab .info-card-header h4{flex:1;margin:0;font-size:15px;font-weight:600}.network-tab .network-controls{display:flex;gap:8px}.network-stats{display:flex;gap:16px;padding:12px 16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.network-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary, #64748b)}.network-stat svg{color:var(--accent, #3b82f6)}.network-stat .stat-value{font-weight:600;color:var(--text-primary, #1e293b)}.network-filters{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--panel, #fff);border-bottom:1px solid var(--border, #e2e8f0)}.network-filters .filter-group{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary, #64748b)}.network-filters .filter-group select{padding:4px 8px;font-size:13px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:var(--panel, #fff);color:var(--text-primary, #1e293b);cursor:pointer}.network-filters .zoom-controls{display:flex;gap:4px;margin-left:auto}.network-filters .zoom-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:var(--panel, #fff);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.network-filters .zoom-btn:hover{background:var(--bg-secondary, #f8fafc);color:var(--accent, #3b82f6)}.network-legend{display:flex;gap:24px;padding:10px 16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);font-size:12px}.network-legend .legend-section{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.network-legend .legend-title{font-weight:600;color:var(--text-secondary, #64748b)}.network-legend .legend-item{display:flex;align-items:center;gap:4px;color:var(--text-secondary, #64748b)}.network-legend .legend-color{display:inline-block;width:12px;height:12px;border-radius:50%}.network-legend .legend-line{display:inline-block;width:20px;height:2px;border-radius:1px}.network-legend .legend-line.dashed{background:repeating-linear-gradient(to right,#a78bfa,#a78bfa 3px,transparent 3px,transparent 6px)!important}.network-graph-wrapper{position:relative;width:100%;height:850px;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:16px;overflow:visible}.network-graph-canvas{position:absolute;top:0;left:0;right:0;bottom:60px;display:flex;align-items:center;justify-content:center;z-index:1}.network-graph-canvas canvas,.network-graph-canvas>div,.network-graph-canvas>div>canvas{z-index:1!important;position:relative!important}.network-graph-canvas .force-graph-container{z-index:1!important}.network-graph-canvas .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:#64748b}.network-header-overlay{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(180deg,#0f172af2,#0f172a00);z-index:50;pointer-events:auto}.network-header-overlay .network-title{display:flex;align-items:center;gap:10px}.network-header-overlay .network-title svg{color:#a78bfa}.network-header-overlay .network-title h4{margin:0;font-size:16px;font-weight:600;color:#f1f5f9}.network-header-overlay .network-controls{display:flex;gap:8px}.network-header-overlay .igs-btn-sm{padding:6px 12px;font-size:12px;border-radius:6px}.network-header-overlay .igs-btn-secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#e2e8f0}.network-header-overlay .igs-btn-secondary:hover{background:#ffffff26;border-color:#a78bfa66}.network-header-overlay .igs-btn-primary{background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;color:#fff}.network-stats-overlay{position:absolute;top:56px;right:16px;display:flex;gap:16px;padding:10px 14px;background:#00000080;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:50;pointer-events:auto}.network-stats-overlay .network-stat{display:flex;align-items:center;gap:6px;font-size:12px;color:#94a3b8}.network-stats-overlay .network-stat svg{color:#a78bfa}.network-stats-overlay .network-stat .stat-value{font-weight:700;color:#f1f5f9}.network-stats-overlay .network-stat .stat-label{color:#64748b}.network-filters-overlay{position:absolute;top:56px;left:16px;display:flex;gap:12px;padding:8px 12px;background:#00000080;border:1px solid rgba(255,255,255,.1);border-radius:8px;z-index:50;pointer-events:auto}.network-filters-overlay .filter-group{display:flex;align-items:center;gap:6px;font-size:12px;color:#94a3b8}.network-filters-overlay .filter-group svg{color:#a78bfa}.network-filters-overlay .filter-group select{padding:4px 8px;font-size:12px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#0006;color:#e2e8f0;cursor:pointer}.network-filters-overlay .filter-group select:focus{outline:none;border-color:#a78bfa80}.network-zoom-overlay{position:absolute;top:110px;right:16px;display:flex;flex-direction:column;gap:4px;z-index:50;pointer-events:auto}.network-zoom-overlay .zoom-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#00000080;color:#94a3b8;cursor:pointer;transition:all .15s ease}.network-zoom-overlay .zoom-btn:hover{background:#a78bfa33;border-color:#a78bfa66;color:#a78bfa}.network-legend-overlay{position:absolute!important;bottom:12px!important;left:16px!important;display:flex!important;gap:24px;padding:12px 16px;background:#0f172af2!important;border:1px solid rgba(255,255,255,.15);border-radius:10px;z-index:9999!important;pointer-events:auto;visibility:visible!important;opacity:1!important;box-shadow:0 4px 12px #0000004d}.network-legend-overlay .legend-section{display:flex;align-items:center;gap:10px}.network-legend-overlay .legend-title{font-size:11px;font-weight:600;color:#94a3b8}.network-legend-overlay .legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:#cbd5e1}.network-legend-overlay .legend-color{display:inline-block;width:10px;height:10px}.network-legend-overlay .legend-color.circle{border-radius:50%}.network-legend-overlay .legend-color.square{border-radius:2px}.network-legend-overlay .legend-line{display:inline-block;width:16px;height:2px;border-radius:1px}.network-legend-overlay .legend-line.dashed{background:repeating-linear-gradient(to right,#a78bfa,#a78bfa 3px,transparent 3px,transparent 6px)!important}.network-graph-container{position:relative;width:100%;height:500px;background:var(--panel, #fff);border-radius:0 0 8px 8px;overflow:hidden}.network-graph-container .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-secondary, #64748b)}.selected-node-info{position:absolute;bottom:16px;right:16px;width:260px;padding:16px;background:#000000d9;border:1px solid rgba(255,255,255,.2);border-radius:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;pointer-events:auto}.selected-node-info h5{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:#f1f5f9}.selected-node-info h5 svg{color:#a78bfa}.selected-node-info .node-details{display:flex;flex-direction:column;gap:8px}.selected-node-info .detail-row{display:flex;justify-content:space-between;font-size:12px}.selected-node-info .detail-label{color:#94a3b8}.selected-node-info .detail-value{font-weight:500;color:#e2e8f0}.selected-node-info .close-btn{margin-top:12px;width:100%;padding:6px 12px;font-size:12px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#ffffff0d;color:#94a3b8;cursor:pointer;transition:all .15s ease}.selected-node-info .close-btn:hover{background:#a78bfa33;border-color:#a78bfa66;color:#a78bfa}.network-legend-bar{display:flex;gap:32px;padding:14px 20px;margin-top:12px;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:12px}.network-legend-bar .legend-section{display:flex;align-items:center;gap:12px}.network-legend-bar .legend-title{font-size:12px;font-weight:600;color:#94a3b8;margin-right:4px}.network-legend-bar .legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#e2e8f0}.network-legend-bar .legend-color{display:inline-block;width:12px;height:12px}.network-legend-bar .legend-color.circle{border-radius:50%}.network-legend-bar .legend-color.square{border-radius:3px}.network-legend-bar .legend-color.diamond{width:12px;height:12px;transform:rotate(45deg);border-radius:2px}.network-legend-bar .legend-color.a-grade{background:#ef4444}.network-legend-bar .legend-color.b-grade{background:#f59e0b}.network-legend-bar .legend-color.c-grade{background:#10b981}.network-legend-bar .legend-color.client{background:#3b82f6}.network-legend-bar .legend-color.project{background:#8b5cf6}.network-legend-bar .legend-color.participant{background:#f472b6}.network-legend-bar .legend-line{display:inline-block;width:20px;height:3px;border-radius:2px}.network-legend-bar .legend-line.order{background:#06b6d4}.network-legend-bar .legend-line.supply{background:#94a3b8}.network-legend-bar .legend-line.win{background:#10b981}.network-legend-bar .legend-line.loss{background:#ef4444}.network-legend-bar .legend-line.involves{background:#f472b6}.network-legend-bar .legend-line.dashed{background:repeating-linear-gradient(to right,#a78bfa,#a78bfa 4px,transparent 4px,transparent 8px)}.project-list{display:flex;flex-direction:column;height:100%;overflow:hidden}.project-list__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));flex-shrink:0}.project-list__title{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.project-list__count{font-size:12px;color:var(--text-secondary, #64748b);padding:2px 8px;background:var(--bg-secondary, rgba(0, 0, 0, .04));border-radius:10px}.project-list__items{flex:1;overflow-y:auto;padding:8px;scrollbar-width:none;-ms-overflow-style:none}.project-list__items::-webkit-scrollbar{display:none}.project-list__item{padding:12px;margin-bottom:6px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border:1px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease}.project-list__item:hover{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));border-color:var(--border, rgba(0, 0, 0, .08))}.project-list__item--selected{background:#3b82f614;border-color:var(--primary, #3b82f6)}.project-list__item--selected:hover{background:#3b82f61f}.project-list__item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.project-list__status{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid}.project-list__margin{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:#10b981}.project-list__name{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:6px;line-height:1.3}.project-list__site{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary, #64748b);margin-bottom:4px}.project-list__site svg{flex-shrink:0;color:var(--text-tertiary, #94a3b8)}.project-list__site span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list__client{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary, #64748b);margin-bottom:8px}.project-list__client svg{flex-shrink:0;color:var(--text-tertiary, #94a3b8)}.project-list__progress-wrapper{display:flex;align-items:center;gap:8px}.project-list__progress-bar{flex:1;height:4px;background:var(--border, rgba(0, 0, 0, .08));border-radius:2px;overflow:hidden}.project-list__progress-fill{height:100%;background:linear-gradient(90deg,var(--primary, #3b82f6),#60a5fa);border-radius:2px;transition:width .3s ease}.project-list__progress-text{font-size:11px;font-weight:600;color:var(--primary, #3b82f6);min-width:32px;text-align:right}.project-list__empty{padding:40px 20px;text-align:center;color:var(--text-secondary, #64748b);font-size:13px}@media (max-width: 1024px){.project-list__items{display:flex;flex-direction:row;gap:8px;overflow-x:auto;overflow-y:hidden;padding:8px 12px}.project-list__item{min-width:220px;flex-shrink:0;margin-bottom:0}}.construction-gantt{display:flex;flex-direction:column;height:100%;padding:16px;overflow:hidden}.construction-gantt--empty{align-items:center;justify-content:center}.construction-gantt__empty-message{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary, #64748b)}.construction-gantt__empty-message svg{opacity:.3}.construction-gantt__empty-message p{margin:0;font-size:14px}.construction-gantt__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0}.construction-gantt__project-info{display:flex;flex-direction:column;gap:4px}.construction-gantt__project-name{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.construction-gantt__project-progress{font-size:12px;color:var(--primary, #3b82f6);font-weight:500}.construction-gantt__controls{display:flex;align-items:center;gap:8px}.construction-gantt__nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary, rgba(0, 0, 0, .04));border:none;border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.construction-gantt__nav-btn:hover{background:var(--border, rgba(0, 0, 0, .08));color:var(--text-primary, #1e293b)}.construction-gantt__month-display{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);min-width:100px;text-align:center}.construction-gantt__today-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-secondary, rgba(0, 0, 0, .04));border:none;border-radius:8px;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.construction-gantt__today-btn:hover{background:var(--primary, #3b82f6);color:#fff}.construction-gantt__legend{display:flex;gap:16px;margin-bottom:12px;padding:8px 12px;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-radius:8px;flex-shrink:0}.construction-gantt__legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #64748b)}.construction-gantt__legend-color{width:16px;height:10px;border-radius:2px}.construction-gantt__chart{flex:1;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border, rgba(0, 0, 0, .08));border-radius:10px;background:var(--panel, #ffffff)}.construction-gantt__day-headers{display:flex;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));background:var(--bg-secondary, rgba(0, 0, 0, .02));flex-shrink:0}.construction-gantt__phase-label-header{width:120px;flex-shrink:0;padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);border-right:1px solid var(--border, rgba(0, 0, 0, .08))}.construction-gantt__days-header{flex:1;display:flex;min-width:0}.construction-gantt__day-header{flex:1;min-width:24px;padding:8px 0;text-align:center;font-size:10px;font-weight:500;color:var(--text-secondary, #64748b);border-right:1px solid var(--border, rgba(0, 0, 0, .04))}.construction-gantt__day-header:last-child{border-right:none}.construction-gantt__day-header--weekend{background:#00000005;color:var(--text-tertiary, #94a3b8)}.construction-gantt__day-header--today{background:#3b82f61a;color:var(--primary, #3b82f6);font-weight:700}.construction-gantt__rows{flex:1;overflow-y:auto}.construction-gantt__row{display:flex;border-bottom:1px solid var(--border, rgba(0, 0, 0, .04));min-height:40px}.construction-gantt__row:last-child{border-bottom:none}.construction-gantt__phase-label{width:120px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 12px;border-right:1px solid var(--border, rgba(0, 0, 0, .08));background:var(--panel, #ffffff)}.construction-gantt__phase-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.construction-gantt__phase-name{font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.construction-gantt__bar-area{flex:1;display:flex;position:relative;min-width:0}.construction-gantt__grid-cell{flex:1;min-width:24px;border-right:1px solid var(--border, rgba(0, 0, 0, .04))}.construction-gantt__grid-cell:last-child{border-right:none}.construction-gantt__grid-cell--weekend{background:#00000004}.construction-gantt__today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--primary, #3b82f6);z-index:10;pointer-events:none}.construction-gantt__today-line:before{content:"";position:absolute;top:0;left:-4px;width:10px;height:10px;background:var(--primary, #3b82f6);border-radius:50%}.construction-gantt__bar{position:absolute;top:50%;transform:translateY(-50%);height:20px;border-radius:4px;display:flex;align-items:center;overflow:hidden;cursor:pointer;transition:all .2s ease;z-index:5}.construction-gantt__bar:hover{transform:translateY(-50%) scale(1.02);box-shadow:0 2px 8px #00000026}.construction-gantt__bar-progress{position:absolute;left:0;top:0;bottom:0;border-radius:4px 0 0 4px}.construction-gantt__bar-label{position:relative;z-index:1;padding:0 6px;font-size:10px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap}@media (max-width: 1024px){.construction-gantt{padding:12px}.construction-gantt__header{flex-direction:column;gap:12px;align-items:flex-start}.construction-gantt__phase-label-header,.construction-gantt__phase-label{width:100px}.construction-gantt__phase-name{font-size:11px}.construction-gantt__day-header{min-width:20px;font-size:9px}.construction-gantt__grid-cell{min-width:20px}}@media (max-width: 768px){.construction-gantt__legend{flex-wrap:wrap;gap:8px}.construction-gantt__phase-label-header,.construction-gantt__phase-label{width:80px;padding:6px 8px}.construction-gantt__phase-dot{width:6px;height:6px}.construction-gantt__phase-name{font-size:10px}}.project-schedule{display:flex;height:100%;gap:0;overflow:hidden;background:var(--bg-base, #eef2f6)}.project-schedule__list-panel{width:300px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border, rgba(0, 0, 0, .08));background:var(--panel, #ffffff);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.project-schedule__list-panel::-webkit-scrollbar{display:none}.project-schedule__gantt-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--panel, #ffffff)}@media (max-width: 1200px){.project-schedule__list-panel{width:260px}}@media (max-width: 1024px){.project-schedule{flex-direction:column}.project-schedule__list-panel{width:100%;height:200px;border-right:none;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.project-schedule__gantt-panel{flex:1;min-height:0}}.project-schedule__gantt-wrapper{flex-shrink:0;max-height:50%;overflow:auto}.phase-issues-section{flex:1;min-height:200px;display:flex;flex-direction:column;border-top:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);overflow:hidden}.phase-tabs{display:flex;gap:4px;padding:12px 16px;background:var(--panel, #ffffff);border-bottom:1px solid var(--border, #e2e8f0);overflow-x:auto;flex-shrink:0}.phase-tabs::-webkit-scrollbar{height:4px}.phase-tabs::-webkit-scrollbar-thumb{background:var(--border, #cbd5e1);border-radius:2px}.phase-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--panel, #ffffff);font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.phase-tab:hover{border-color:var(--phase-color, #3b82f6);color:var(--phase-color, #3b82f6)}.phase-tab.active{background:var(--phase-color, #3b82f6);border-color:var(--phase-color, #3b82f6);color:#fff}.phase-tab__label{font-weight:500}.phase-tab__badge{display:flex;align-items:center;gap:2px;padding:2px 6px;border-radius:10px;background:#0000001a;font-size:11px;font-weight:600}.phase-tab.active .phase-tab__badge{background:#ffffff40}.phase-tab__critical{color:#ef4444;font-weight:700}.phase-tab.active .phase-tab__critical{color:#fef2f2}.phase-issues-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.phase-issues-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--text-secondary, #94a3b8)}.phase-issues-empty p{margin:0;font-size:14px}.phase-issue-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:visible;transition:box-shadow .2s ease}.phase-issue-card:hover{box-shadow:0 4px 12px #00000014}.phase-issue-card__header{padding:14px 16px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.phase-issue-card__title-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.phase-issue-card__severity{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff}.phase-issue-card__type{font-size:12px;font-weight:600}.phase-issue-card__status{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;color:#fff;margin-left:auto}.phase-issue-card__title{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);line-height:1.4}.phase-issue-card__body{padding:14px 16px;overflow:visible}.phase-issue-card__description{margin:0 0 12px;font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}.phase-issue-card__meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.phase-issue-card__meta-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.phase-issue-card__meta-item.impact{color:#ef4444;font-weight:500}.phase-issue-card__meta-item.cost{color:#f59e0b;font-weight:500}.phase-issue-card__details{margin-top:12px;padding-top:12px;border-top:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;gap:8px}.phase-issue-card__detail{display:flex;gap:8px;font-size:12px;line-height:1.5}.phase-issue-card__detail .detail-label{flex-shrink:0;font-weight:600;color:var(--text-primary, #475569)}.phase-issue-card__detail .detail-value{color:var(--text-secondary, #64748b)}.section-header-compact{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b)}.section-header-compact svg{color:var(--text-secondary, #94a3b8)}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--primary, #3b82f6);font-size:10px;font-weight:600;color:#fff;margin-left:4px}.company-impact-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border, #e2e8f0)}.company-response-section{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border, #e2e8f0)}.compact-table{display:flex;flex-direction:column;gap:6px}.compact-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-secondary, #f8fafc);border-radius:6px;font-size:12px;flex-wrap:wrap}.compact-badge,.compact-status{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;color:#fff;flex-shrink:0}.compact-severity{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;flex-shrink:0}.compact-severity--high{background:#fef2f2;color:#dc2626}.compact-severity--medium{background:#fffbeb;color:#d97706}.compact-severity--low{background:#f0fdf4;color:#16a34a}.compact-desc{flex:1;min-width:120px;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-team{font-weight:600;color:var(--text-secondary, #64748b);flex-shrink:0}.compact-person{color:var(--text-secondary, #64748b);flex-shrink:0}.compact-days{color:#ef4444;font-weight:600;flex-shrink:0}.compact-amount{color:#f59e0b;font-weight:600;flex-shrink:0}.compact-date{color:var(--text-secondary, #94a3b8);font-size:11px;flex-shrink:0}.compact-result{display:inline-flex;align-items:center;gap:3px;color:#16a34a;font-size:11px;flex-shrink:0}.compact-result svg{flex-shrink:0}@media (max-width: 1400px){.phase-tab{padding:6px 10px;font-size:12px}}@media (max-width: 1024px){.phase-issues-section{min-height:300px}.phase-tabs{padding:8px 12px}.phase-issues-list{padding:12px}}@media (max-width: 768px){.compact-row{flex-wrap:wrap;gap:6px}.compact-desc{flex-basis:100%;order:10;white-space:normal}}.project-management{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg-base, #eef2f6)}.project-management__tabs{display:flex;gap:4px;padding:12px 16px 0;background:var(--bg-base, #eef2f6);flex-shrink:0}.project-management__tab{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--igs-glass-bg, rgba(255, 255, 255, .5));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-bottom:none;border-radius:12px 12px 0 0;font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease;position:relative}.project-management__tab:hover{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));color:var(--text-primary, #1e293b)}.project-management__tab--active{background:var(--panel, #ffffff);color:var(--primary, #3b82f6);font-weight:600;border-color:var(--border, rgba(0, 0, 0, .08))}.project-management__tab--active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--panel, #ffffff)}.project-management__tab svg{flex-shrink:0}.project-management__content{flex:1;min-height:0;overflow:hidden;background:var(--panel, #ffffff);border-radius:0 12px 0 0;margin:0 16px 0 0;box-shadow:0 -1px 0 var(--border, rgba(0, 0, 0, .08))}.project-management__content .project-pipeline,.project-management__content .project-schedule{height:100%;background:transparent}@media (max-width: 768px){.project-management__tabs{padding:8px 12px 0}.project-management__tab{padding:8px 14px;font-size:13px}.project-management__tab span{display:none}.project-management__content{margin:0 12px 0 0;border-radius:0}}.quote-simulator{display:flex;flex-direction:column;gap:12px;padding:12px 16px;background:var(--bg-base, #eef2f6);height:100vh;overflow:hidden;box-sizing:border-box}.quote-simulator__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.quote-simulator__title-section{display:flex;align-items:center;gap:16px}.quote-simulator__title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--text-primary);white-space:nowrap}.quote-simulator__title svg{color:var(--primary, #3b82f6)}.quote-simulator__project-select .igs-select{padding:6px 28px 6px 12px;font-size:13px;min-width:200px}.quote-simulator__actions{display:flex;gap:8px}.quote-simulator__content{display:grid;grid-template-columns:280px 1fr;gap:12px;flex:1;min-height:0;overflow:hidden}.quote-simulator__zone-a{display:flex;flex-direction:column;min-height:0;overflow:hidden}.cutting-plan-panel{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:12px;padding:12px;display:flex;flex-direction:column;height:100%;overflow:hidden}.cutting-plan-panel__header{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));font-size:12px;font-weight:600;color:var(--text-primary);flex-shrink:0}.cutting-plan-panel__header svg{color:var(--primary, #3b82f6)}.cutting-plan-panel__count{margin-left:auto;background:var(--bg-secondary, rgba(0, 0, 0, .05));padding:2px 8px;border-radius:10px;font-size:11px;color:var(--text-secondary)}.cutting-plan-panel__list{flex:1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;gap:8px}.plan-card{background:var(--panel, #ffffff);border:2px solid transparent;border-radius:10px;padding:10px 12px;cursor:pointer;transition:all .2s ease;position:relative}.plan-card:hover{border-color:#3b82f633;transform:translateY(-1px)}.plan-card--selected{border-color:var(--primary, #3b82f6);background:#3b82f60d}.plan-card--recommended{border-color:#10b981}.plan-card--recommended.plan-card--selected{border-color:#10b981;background:#10b9810d}.plan-card__badge{position:absolute;top:-8px;left:10px;display:flex;align-items:center;gap:3px;padding:2px 8px;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-size:9px;font-weight:600;border-radius:4px}.plan-card__header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.plan-card__id{font-size:11px;font-weight:600;color:var(--text-primary)}.plan-card__name{font-size:11px;color:var(--text-secondary)}.plan-card__check{margin-left:auto;color:var(--primary, #3b82f6)}.plan-card--recommended .plan-card__check{color:#10b981}.plan-card__info{font-size:10px;color:var(--text-secondary);margin-bottom:6px}.plan-card__progress{height:4px;background:var(--bg-secondary, rgba(0, 0, 0, .08));border-radius:2px;overflow:hidden}.plan-card__progress-bar{height:100%;background:linear-gradient(90deg,var(--primary, #3b82f6),#06b6d4);border-radius:2px;transition:width .3s ease}.plan-card--recommended .plan-card__progress-bar{background:linear-gradient(90deg,#10b981,#34d399)}.cutting-plan-panel__preview{padding:10px 0;border-top:1px solid var(--border, rgba(0, 0, 0, .08));flex-shrink:0}.cutting-plan-panel__preview-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.cutting-plan-panel__preview-header svg{color:var(--primary, #3b82f6)}.cutting-preview{background:var(--panel, #ffffff);border-radius:8px;padding:8px;border:1px solid var(--border, rgba(0, 0, 0, .08))}.cutting-preview__svg{width:100%;height:auto;border-radius:4px}.cutting-preview__info{display:flex;justify-content:space-between;margin-top:6px;font-size:10px;color:var(--text-secondary)}.cutting-preview__efficiency strong{color:#10b981}.cutting-preview__loss strong{color:#f59e0b}.text-warning{color:#f59e0b!important}.cutting-plan-panel__summary{padding-top:10px;border-top:1px solid var(--border, rgba(0, 0, 0, .08));flex-shrink:0}.cutting-plan-panel__summary-title{font-size:11px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.cutting-plan-panel__summary-info{font-size:10px;color:var(--text-secondary);margin-bottom:6px}.quote-simulator__zone-b{display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto}.quote-simulator__scenarios{flex-shrink:0}.quote-simulator__bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;min-height:0}.quote-simulator__summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;flex-shrink:0}.summary-card{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.summary-card--highlight{background:linear-gradient(135deg,#10b9811a,#34d3990d);border-color:#10b98133}.summary-card--accent{background:linear-gradient(135deg,#3b82f61a,#06b6d40d);border-color:#3b82f633}.summary-card__label{font-size:11px;font-weight:500;color:var(--text-secondary)}.summary-card__value{font-size:18px;font-weight:700;color:var(--text-primary)}.summary-card--highlight .summary-card__value{color:#10b981}.summary-card--accent .summary-card__value{color:var(--primary, #3b82f6)}.quote-simulator__scenarios-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--text-primary)}.quote-simulator__scenarios-header svg{color:var(--primary, #3b82f6)}.quote-simulator__recommendation-inline{display:flex;align-items:center;gap:4px;margin-left:auto;padding:4px 10px;background:#10b9811a;border-radius:6px;font-size:11px;font-weight:500;color:#059669}.quote-simulator__recommendation-inline svg{color:#10b981}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.scenario-card{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:10px;padding:12px 14px;cursor:pointer;transition:all .25s ease;position:relative}.scenario-card:hover{border-color:#3b82f64d;transform:translateY(-2px)}.scenario-card--selected{border-color:var(--primary, #3b82f6);background:#3b82f60d}.scenario-card--recommended{border-color:#10b981}.scenario-card--recommended.scenario-card--selected{border-color:#10b981;background:#10b9810d}.scenario-card__badge{position:absolute;top:-8px;left:12px;display:flex;align-items:center;gap:3px;padding:2px 8px;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-size:9px;font-weight:600;border-radius:4px}.scenario-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:6px}.scenario-card__title{font-size:13px;font-weight:600;color:var(--text-primary)}.scenario-card__sheet-info{display:flex;align-items:center;gap:6px;padding:3px 6px;background:var(--bg-secondary, rgba(0, 0, 0, .03));border-radius:4px}.scenario-card__sheet-size{font-size:10px;font-weight:600;color:var(--text-primary);font-family:SF Mono,Monaco,monospace}.scenario-card__sheet-price{font-size:9px;color:var(--text-secondary);padding:1px 3px;background:var(--panel, #ffffff);border-radius:3px}.scenario-card__content{display:flex;gap:12px;margin-bottom:10px}.scenario-card__preview-area{flex:1;min-width:0}.scenario-cutting-preview{padding:6px;background:var(--panel, #ffffff);border-radius:6px;border:1px solid var(--border, rgba(0, 0, 0, .08));height:100%;display:flex;flex-direction:column}.scenario-cutting-preview__svg{width:100%;height:auto;min-height:80px;max-height:120px;border-radius:4px;flex:1}.scenario-cutting-preview__label{display:flex;justify-content:flex-end;margin-top:4px;font-size:9px;color:var(--text-secondary)}.scenario-cutting-preview__efficiency strong{color:#10b981;font-weight:600}.scenario-card__metrics{display:flex;flex-direction:column;gap:4px;min-width:85px;flex-shrink:0}.scenario-card__metric{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid var(--border, rgba(0, 0, 0, .05))}.scenario-card__metric--highlight{border-bottom:none;padding-top:4px;margin-top:2px;border-top:1px solid var(--border, rgba(0, 0, 0, .08))}.scenario-card__metric-label{font-size:10px;color:var(--text-secondary)}.scenario-card__metric-value{font-size:11px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:3px}.scenario-card__metric-value--good{color:#10b981}.scenario-card__metric-value--bad{color:#ef4444}.scenario-card__metric--highlight .scenario-card__metric-value{font-size:13px;color:var(--primary, #3b82f6)}.scenario-card__select{width:100%;padding:6px 10px;background:var(--bg-secondary, rgba(0, 0, 0, .05));border:none;border-radius:6px;font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.scenario-card__select:hover{background:var(--bg-secondary, rgba(0, 0, 0, .08))}.scenario-card__select--active{background:var(--primary, #3b82f6);color:#fff}.scenario-card--recommended .scenario-card__select--active{background:#10b981}.quote-simulator__chart-section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.quote-simulator__section-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px;flex-shrink:0}.quote-simulator__chart-card{flex:1;min-height:0;padding:12px}.waterfall-chart{height:100%;min-height:200px}.waterfall-dark-bg{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1)}.waterfall-chart-styled{height:100%;min-height:200px}.waterfall-bar-rect{filter:drop-shadow(0px 2px 4px rgba(0,0,0,.25));stroke:#ffffff0d;stroke-width:1}.waterfall-bar-label{text-shadow:0px 1px 2px rgba(0,0,0,.5)}.waterfall-tooltip{background:#0f172ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);padding:8px 12px;border-radius:6px;box-shadow:0 10px 15px -3px #00000080}.waterfall-tooltip__label{color:#e2e8f0;font-weight:600;font-size:12px;margin-bottom:4px}.waterfall-tooltip__value{display:flex;align-items:center;gap:6px}.waterfall-tooltip__dot{width:8px;height:8px;border-radius:2px}.waterfall-tooltip__dot--positive{background:#34d399}.waterfall-tooltip__dot--negative{background:#f87171}.waterfall-tooltip__amount{color:#fff;font-weight:700;font-size:14px}.quote-simulator__cost-section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.cost-breakdown{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:12px;padding:12px;display:flex;flex-direction:column;height:100%;overflow-y:auto}.cost-breakdown__title{font-size:12px;font-weight:600;color:var(--text-primary);padding-bottom:10px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));margin-bottom:8px;flex-shrink:0}.cost-breakdown__section{margin-bottom:10px}.cost-breakdown__section-title{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.cost-breakdown__row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:11px;color:var(--text-primary)}.cost-breakdown__row--subtotal{border-top:1px solid var(--border, rgba(0, 0, 0, .08));margin-top:4px;padding-top:6px;font-weight:600}.cost-breakdown__value--warning{color:#f59e0b}.cost-breakdown__total{margin-top:auto;padding-top:10px;border-top:2px solid var(--border, rgba(0, 0, 0, .1));flex-shrink:0}.cost-breakdown__total-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;font-weight:600;color:var(--text-primary)}.cost-breakdown__total-row--profit{color:#10b981}.cost-breakdown__total-row--margin{font-size:14px;color:var(--primary, #3b82f6)}.cost-breakdown--inline{flex:1;min-height:0}.igs-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.igs-btn--primary{background:var(--primary, #3b82f6);color:#fff}.igs-btn--primary:hover{background:#2563eb}.igs-btn--secondary{background:var(--panel, #ffffff);color:var(--text-primary);border:1px solid var(--border, rgba(0, 0, 0, .1))}.igs-btn--secondary:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05))}.igs-btn--text{background:transparent;color:var(--primary, #3b82f6);padding:4px 8px}.igs-btn--text:hover{background:#3b82f61a}.igs-btn--sm{padding:6px 10px;font-size:12px}.igs-select{padding:8px 12px;border:1px solid var(--border, rgba(0, 0, 0, .1));border-radius:8px;background:var(--panel, #ffffff);font-size:13px;color:var(--text-primary);cursor:pointer}.igs-select:focus{outline:none;border-color:var(--primary, #3b82f6)}.igs-card{background:var(--igs-glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--igs-glass-border, rgba(255, 255, 255, .3));border-radius:12px}@media (max-width: 1600px){.quote-simulator__content{grid-template-columns:260px 1fr}}@media (max-width: 1400px){.quote-simulator__content{grid-template-columns:240px 1fr}}@media (max-width: 1200px){.quote-simulator__content{grid-template-columns:220px 1fr}.quote-simulator__bottom-row{grid-template-columns:1fr}.scenario-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.quote-simulator__content{grid-template-columns:1fr}.quote-simulator__zone-a{display:none}.quote-simulator__summary,.scenario-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.quote-simulator__header{flex-direction:column;gap:10px;align-items:flex-start}.quote-simulator__title-section{flex-direction:column;align-items:flex-start;gap:8px}.scenario-grid{grid-template-columns:1fr}}[data-theme=dark] .quote-simulator{background:var(--bg-base)}[data-theme=dark] .cutting-plan-panel,[data-theme=dark] .cost-breakdown,[data-theme=dark] .summary-card,[data-theme=dark] .scenario-card,[data-theme=dark] .igs-card{background:#1e293bb3;border-color:#ffffff1a}[data-theme=dark] .plan-card{background:#1e293bcc;border-color:#ffffff14}[data-theme=dark] .plan-card:hover{border-color:#3b82f666}[data-theme=dark] .plan-card--selected{background:#3b82f626;border-color:var(--primary, #3b82f6)}[data-theme=dark] .plan-card--recommended{border-color:#10b98180}[data-theme=dark] .plan-card--recommended.plan-card--selected{background:#10b98126;border-color:#10b981}[data-theme=dark] .plan-card__progress{background:#ffffff1a}[data-theme=dark] .scenario-card:hover{border-color:#3b82f680}[data-theme=dark] .scenario-card--selected{background:#3b82f626}[data-theme=dark] .scenario-card--recommended.scenario-card--selected{background:#10b98126}[data-theme=dark] .scenario-card__select{background:#ffffff14}[data-theme=dark] .scenario-card__select:hover{background:#ffffff1f}[data-theme=dark] .scenario-card__sheet-info{background:#ffffff0d}[data-theme=dark] .scenario-card__sheet-price{background:#ffffff1a;color:var(--text-secondary)}[data-theme=dark] .summary-card--highlight{background:linear-gradient(135deg,#10b98133,#34d3991a);border-color:#10b9814d}[data-theme=dark] .summary-card--accent{background:linear-gradient(135deg,#3b82f633,#06b6d41a);border-color:#3b82f64d}[data-theme=dark] .cost-breakdown__section-title{color:var(--text-secondary)}[data-theme=dark] .cost-breakdown__row{color:var(--text-primary)}[data-theme=dark] .cutting-plan-panel__header,[data-theme=dark] .cost-breakdown__title{border-bottom-color:#ffffff1a}[data-theme=dark] .cutting-plan-panel__summary{border-top-color:#ffffff1a}[data-theme=dark] .cost-breakdown__row--subtotal,[data-theme=dark] .scenario-card__metric,[data-theme=dark] .scenario-card__metric--highlight{border-color:#ffffff1a}[data-theme=dark] .cost-breakdown__total{border-top-color:#ffffff26}[data-theme=dark] .igs-btn--secondary{background:#1e293bcc;border-color:#ffffff26;color:var(--text-primary)}[data-theme=dark] .igs-btn--secondary:hover{background:#ffffff1a}[data-theme=dark] .igs-btn--text:hover{background:#3b82f633}[data-theme=dark] .igs-select{background:#1e293bcc;border-color:#ffffff26;color:var(--text-primary)}[data-theme=dark] .igs-select option{background:var(--panel);color:var(--text-primary)}[data-theme=dark] .cutting-plan-panel__count{background:#ffffff1a}[data-theme=dark] .quote-simulator__recommendation-inline{background:#10b98133}[data-theme=dark] .cutting-plan-panel__preview{border-top-color:#ffffff1a}[data-theme=dark] .cutting-preview{background:#1e293bcc;border-color:#ffffff1a}[data-theme=dark] .scenario-cutting-preview{background:#1e293b99;border-color:#ffffff1a}.quotation-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.quotation-popup{background:var(--panel, #ffffff);border-radius:12px;box-shadow:0 25px 50px -12px #00000040;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.quotation-popup__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .1));background:var(--bg-secondary, #f8fafc);flex-shrink:0}.quotation-popup__header h2{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.quotation-popup__actions{display:flex;align-items:center;gap:8px}.quotation-popup__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.quotation-popup__close:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05));color:var(--text-primary)}.igs-btn.success{background:#10b981!important;color:#fff!important}.igs-btn.loading{opacity:.7;pointer-events:none}.quotation-document{flex:1;overflow-y:auto;padding:40px;background:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Ctext x='50%25' y='50%25' font-family='Arial' font-size='24' fill='%233b82f6' fill-opacity='0.03' text-anchor='middle' dominant-baseline='middle' transform='rotate(-30 100 100)'%3E견적서%3C/text%3E%3C/svg%3E")}.quotation-document__title-area{text-align:center;margin-bottom:30px;padding-bottom:20px;border-bottom:3px double #1e3a5f}.quotation-document__title{font-size:32px;font-weight:700;color:#1e3a5f;letter-spacing:12px;margin:0 0 8px}.quotation-document__subtitle{font-size:14px;color:#64748b;letter-spacing:4px}.quotation-document__info-row{display:flex;justify-content:space-between;margin-bottom:24px;padding:0 10px}.quotation-document__number,.quotation-document__date{display:flex;align-items:center;gap:8px;font-size:13px}.quotation-document__info-row .label{color:#64748b;font-weight:500}.quotation-document__info-row .value{color:#1e293b;font-weight:600}.quotation-document__parties{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.quotation-document__party{background:#f8fafc;border-radius:8px;padding:16px;border:1px solid #e2e8f0}.quotation-document__party--receiver{border-left:4px solid #3b82f6}.quotation-document__party--sender{border-left:4px solid #10b981}.quotation-document__party-title{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}.quotation-document__party-table{width:100%;border-collapse:collapse}.quotation-document__party-table th{text-align:left;padding:6px 8px 6px 0;font-size:12px;font-weight:500;color:#64748b;width:70px;vertical-align:top}.quotation-document__party-table td{padding:6px 0;font-size:13px;color:#1e293b;font-weight:500}.quotation-document__party-table .seal-cell{width:70px;text-align:center;vertical-align:middle}.quotation-document__seal{width:56px;height:56px;border:2px solid #dc2626;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;background:#dc26260d}.quotation-document__seal span{font-size:20px;font-weight:700;color:#dc2626;font-family:Malgun Gothic,sans-serif}.quotation-document__amount-summary{margin-bottom:24px}.quotation-document__amount-box{background:linear-gradient(135deg,#1e3a5f,#2563eb);border-radius:12px;padding:24px;text-align:center;color:#fff}.quotation-document__amount-label{font-size:13px;opacity:.9;margin-bottom:8px}.quotation-document__amount-value{font-size:36px;font-weight:700;margin-bottom:8px;letter-spacing:1px}.quotation-document__amount-korean{font-size:14px;opacity:.85;letter-spacing:1px}.quotation-document__section-title{font-size:14px;font-weight:700;color:#1e3a5f;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #1e3a5f}.quotation-document__items-section{margin-bottom:24px}.quotation-document__items-table{width:100%;border-collapse:collapse;font-size:12px}.quotation-document__items-table thead{background:#1e3a5f}.quotation-document__items-table thead th{padding:10px 8px;color:#fff;font-weight:600;text-align:center;border:1px solid #1e3a5f}.quotation-document__items-table tbody td{padding:10px 8px;border:1px solid #e2e8f0;color:#1e293b}.quotation-document__items-table .col-no{width:40px;text-align:center}.quotation-document__items-table .col-name{text-align:left}.quotation-document__items-table .col-spec{width:100px;text-align:center}.quotation-document__items-table .col-unit{width:50px;text-align:center}.quotation-document__items-table .col-qty{width:70px;text-align:right}.quotation-document__items-table .col-price{width:100px;text-align:right}.quotation-document__items-table .col-amount{width:110px;text-align:right;font-weight:600}.quotation-document__items-table tbody tr:nth-child(2n){background:#f8fafc}.quotation-document__items-table tfoot td{padding:10px 8px;border:1px solid #e2e8f0;text-align:right;font-weight:600}.quotation-document__items-table .subtotal-row td{background:#f1f5f9}.quotation-document__items-table .vat-row td{background:#fef3c7;color:#92400e}.quotation-document__items-table .total-row td{background:#1e3a5f;color:#fff;font-size:14px;font-weight:700}.quotation-document__terms-section{margin-bottom:24px}.quotation-document__terms-table{width:100%;border-collapse:collapse;font-size:12px}.quotation-document__terms-table th{width:100px;text-align:left;padding:10px 12px;background:#f1f5f9;border:1px solid #e2e8f0;font-weight:600;color:#475569;vertical-align:top}.quotation-document__terms-table td{padding:10px 12px;border:1px solid #e2e8f0;color:#1e293b;line-height:1.6}.quotation-document__footer{text-align:center;padding-top:20px;border-top:1px solid #e2e8f0;margin-top:20px}.quotation-document__footer-text{font-size:12px;color:#64748b;margin-bottom:8px}.quotation-document__contact{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#3b82f6}@media print{.quotation-popup-overlay{position:static;background:none;padding:0}.quotation-popup{box-shadow:none;max-height:none;border-radius:0}.quotation-popup__header{display:none}.quotation-document{padding:20px}}[data-theme=dark] .quotation-popup{background:var(--panel)}[data-theme=dark] .quotation-popup__header{background:#1e293bcc;border-bottom-color:#ffffff1a}[data-theme=dark] .quotation-document{background:#1e293b;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Ctext x='50%25' y='50%25' font-family='Arial' font-size='24' fill='%233b82f6' fill-opacity='0.05' text-anchor='middle' dominant-baseline='middle' transform='rotate(-30 100 100)'%3E견적서%3C/text%3E%3C/svg%3E")}[data-theme=dark] .quotation-document__title-area{border-bottom-color:#fff3}[data-theme=dark] .quotation-document__title,[data-theme=dark] .quotation-document__info-row .value{color:#e2e8f0}[data-theme=dark] .quotation-document__party{background:#1e293b99;border-color:#ffffff1a}[data-theme=dark] .quotation-document__party-table td{color:#e2e8f0}[data-theme=dark] .quotation-document__section-title{color:#e2e8f0;border-bottom-color:#fff3}[data-theme=dark] .quotation-document__items-table thead{background:#334155}[data-theme=dark] .quotation-document__items-table thead th{border-color:#334155}[data-theme=dark] .quotation-document__items-table tbody td{border-color:#ffffff1a;color:#e2e8f0}[data-theme=dark] .quotation-document__items-table tbody tr:nth-child(2n){background:#ffffff08}[data-theme=dark] .quotation-document__items-table tfoot td{border-color:#ffffff1a}[data-theme=dark] .quotation-document__items-table .subtotal-row td{background:#ffffff0d}[data-theme=dark] .quotation-document__items-table .vat-row td{background:#fbbf2426;color:#fbbf24}[data-theme=dark] .quotation-document__items-table .total-row td{background:#3b82f6}[data-theme=dark] .quotation-document__terms-table th{background:#ffffff0d;border-color:#ffffff1a;color:#94a3b8}[data-theme=dark] .quotation-document__terms-table td{border-color:#ffffff1a;color:#e2e8f0}[data-theme=dark] .quotation-document__footer{border-top-color:#ffffff1a}.production-simulation{display:flex;flex-direction:column;height:100%;max-height:100vh;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.sim-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.header-title{display:flex;align-items:center;gap:10px}.header-title h1{font-size:18px;font-weight:600;margin:0}.header-badge{padding:2px 8px;background:var(--primary);color:#fff;font-size:10px;font-weight:600;border-radius:4px;letter-spacing:.5px}.sim-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;background:var(--bg-secondary);color:var(--text-primary)}.sim-btn:hover:not(:disabled){background:var(--bg-tertiary)}.sim-btn:disabled{opacity:.5;cursor:not-allowed}.sim-btn.primary{background:var(--primary);color:#fff}.sim-btn.primary:hover:not(:disabled){background:var(--primary-hover)}.sim-btn.small{padding:6px 10px;font-size:12px}.sim-btn.loading .spin{animation:spin 1s linear infinite}.sim-content{display:grid;grid-template-columns:minmax(260px,280px) 1fr minmax(260px,300px);flex:1;overflow:hidden;gap:0;background:var(--bg-primary);min-height:0}.sim-content>*{border-right:1px solid var(--border)}.sim-content>*:last-child{border-right:none}.sim-panel{display:flex;flex-direction:column;background:var(--panel);overflow-y:auto;min-height:0;position:relative;z-index:1}.panel-header{display:flex;align-items:center;gap:8px;padding:0 16px;height:48px;min-height:48px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-secondary);position:sticky;top:0;z-index:5;flex-shrink:0}.panel-section{padding:16px;border-bottom:1px solid var(--border)}.panel-section.sticky-top-section{position:sticky;top:48px;background:var(--panel);z-index:4;box-shadow:0 1px 0 0 var(--border)}.section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.form-group label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.input-with-unit{display:flex;align-items:center;gap:8px}.input-with-unit input{flex:1}.input-with-unit .unit{font-size:12px;color:var(--text-secondary);white-space:nowrap}.input-with-unit.small input{width:80px}.checkbox-group{margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.input-method-tabs{display:flex;gap:4px;background:var(--bg-primary);padding:4px;border-radius:8px}.method-tab{flex:1;padding:8px 4px;border:none;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.method-tab:hover{background:var(--bg-secondary)}.method-tab.active{background:var(--primary);color:#fff}.info-box{display:flex;gap:10px;padding:10px 12px;background:var(--bg-primary);border-radius:8px;font-size:12px;color:var(--text-secondary);margin-top:12px}.info-box .highlight{color:var(--primary);font-weight:600}.lines-list{display:flex;flex-direction:column;gap:8px}.line-item{background:var(--bg-primary);border-radius:8px;padding:10px 12px;border:1px solid var(--border)}.line-item.inactive{opacity:.6}.line-header{display:flex;align-items:center}.line-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;cursor:pointer}.line-checkbox input{accent-color:var(--primary)}.line-config{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.config-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.config-row:last-child{margin-bottom:0}.config-row label{font-size:11px;color:var(--text-secondary)}.config-row select,.config-row input{padding:4px 8px;font-size:12px;background:var(--panel);border:1px solid var(--border);border-radius:4px;color:var(--text-primary)}.capacity-summary{display:flex;justify-content:space-between;padding:10px 12px;background:var(--bg-primary);border-radius:8px;margin-top:12px}.capacity-item{text-align:center}.capacity-item .label{display:block;font-size:10px;color:var(--text-secondary);margin-bottom:4px}.capacity-item .value{font-size:14px;font-weight:600}.capacity-item .value.highlight{color:var(--primary)}.sim-canvas{display:flex;flex-direction:column;background:var(--panel);overflow:hidden;min-width:0;min-height:0;position:relative;z-index:0}.canvas-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:48px;min-height:48px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.canvas-header h2{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin:0}.canvas-actions{display:flex;gap:8px}.canvas-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary);text-align:center}.canvas-empty h3{font-size:16px;margin:0;color:var(--text-primary)}.canvas-empty p{margin:0;font-size:13px}.gantt-container{flex:1;overflow:auto;padding:20px 24px;position:relative;min-height:0;background:var(--panel);contain:paint}.gantt-body{display:table;width:100%;border-collapse:separate;border-spacing:0 8px}.gantt-header{display:table-row;height:30px}.gantt-row{display:table-row}.gantt-header .gantt-process-col{padding:4px 24px 4px 0;vertical-align:middle;height:30px}.gantt-process-col{display:table-cell;width:220px;min-width:220px;padding:12px 24px 12px 16px;vertical-align:middle;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;background:var(--panel);position:relative;z-index:2;overflow:hidden;text-overflow:ellipsis;text-align:right}.gantt-process-col .process-id{display:none}.gantt-process-col .process-name{display:block;font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.gantt-process-col .bottleneck-badge{color:#ef4444;margin-left:6px}.gantt-timeline{display:table-cell;vertical-align:middle;position:relative;height:42px}.gantt-header .gantt-timeline{height:auto;padding-bottom:2px}.gantt-dates{display:flex;gap:0;padding-left:0}.gantt-day{flex:1;min-width:0;width:auto;text-align:center;padding:2px 0 3px;flex-shrink:0;position:relative}.gantt-day:after{content:"";position:absolute;right:0;top:8px;bottom:6px;width:1px;background:#94a3b833}.gantt-day:last-child:after{display:none}.gantt-day.weekend{opacity:.6}.day-date{font-size:11px;font-weight:600;color:var(--text-primary);line-height:1.2}.day-name{font-size:9px;color:var(--text-secondary);margin-top:0;line-height:1.2}.gantt-row .gantt-timeline{background:var(--bg-primary);border-radius:6px;overflow:hidden}.gantt-row .gantt-timeline:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(148,163,184,.12) 0,rgba(148,163,184,.12) 1px,transparent 1px,transparent 10%);pointer-events:none}.gantt-bar{position:absolute;height:24px;top:50%;transform:translateY(-50%);left:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 4px #00000026;padding:0 8px;min-width:40px;overflow:visible}.gantt-bar:hover{transform:translateY(-50%) translateY(-2px);box-shadow:0 4px 12px #00000040;z-index:5}.gantt-bar.bottleneck{box-shadow:0 0 0 2px #ef4444,0 2px 4px #00000026}.bar-label{white-space:nowrap;overflow:visible;text-overflow:clip}.gantt-bar.inbound{background:#3b82f6}.gantt-bar.cutting{background:#ef4444}.gantt-bar.processing{background:#f59e0b}.gantt-bar.cleaning{background:#10b981}.gantt-bar.assembly{background:#8b5cf6}.gantt-bar.sealing{background:#6b7280}.gantt-bar.filling{background:#22c55e}.gantt-bar.qc{background:#6366f1}.gantt-bar.outbound{background:#14b8a6}.gantt-bar.default{background:#64748b}.due-date-marker{position:absolute;top:60px;bottom:0;width:2px;z-index:5}.marker-line{width:2px;height:100%;background:#ef4444}.marker-label{position:absolute;top:-24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:4px 8px;background:#ef4444;color:#fff;font-size:10px;font-weight:500;border-radius:4px;white-space:nowrap}.result-panel .panel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);text-align:center;padding:20px}.result-panel .panel-empty p{margin:0;font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kpi-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}.kpi-card.success{border-color:#10b981;background:#10b9811a}.kpi-card.danger{border-color:#ef4444;background:#ef44441a}.kpi-icon{color:var(--text-secondary)}.kpi-content{display:flex;flex-direction:column}.kpi-label{font-size:10px;color:var(--text-secondary)}.kpi-value{font-size:14px;font-weight:600}.summary-list{display:flex;flex-direction:column;gap:8px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.summary-item:last-child{border-bottom:none}.summary-item .label{font-size:12px;color:var(--text-secondary)}.summary-item .value{font-size:13px;font-weight:500}.warnings-list{display:flex;flex-direction:column;gap:8px}.warning-item{padding:10px 12px;background:var(--bg-primary);border-radius:8px;border-left:3px solid}.warning-item.high{border-color:#ef4444;background:#ef44441a}.warning-item.medium{border-color:#f59e0b;background:#f59e0b1a}.warning-item.low{border-color:#3b82f6;background:#3b82f61a}.warning-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.severity-badge{padding:2px 6px;font-size:9px;font-weight:600;border-radius:4px;text-transform:uppercase}.severity-badge.high{background:#ef4444;color:#fff}.severity-badge.medium{background:#f59e0b;color:#fff}.severity-badge.low{background:#3b82f6;color:#fff}.process-badge{padding:2px 6px;font-size:10px;background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px}.warning-message{font-size:12px;margin:0 0 6px}.warning-suggestion{font-size:11px;color:var(--text-secondary);margin:0}.bottleneck-list{display:flex;flex-direction:column;gap:8px}.bottleneck-item{padding:10px 12px;background:var(--bg-primary);border-radius:8px}.bottleneck-item.critical{border:1px solid #ef4444;background:#ef44440d}.bn-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.bn-rank{font-size:10px;color:var(--text-secondary)}.bn-process{font-size:12px;font-weight:500;flex:1}.bn-badge{padding:2px 6px;font-size:9px;font-weight:600;background:#ef4444;color:#fff;border-radius:4px}.bn-utilization{display:flex;align-items:center;gap:8px}.utilization-bar{flex:1;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.utilization-fill{height:100%;background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444);border-radius:3px;transition:width .3s}.utilization-text{font-size:11px;font-weight:600;min-width:40px;text-align:right}.recommendation-box{padding:12px;background:var(--bg-primary);border-radius:8px}.rec-status{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;font-weight:600;margin-bottom:12px}.rec-status.success{background:#10b98126;color:#10b981}.rec-status.danger{background:#ef444426;color:#ef4444}.rec-details{display:flex;flex-direction:column;gap:8px}.rec-item{display:flex;justify-content:space-between}.rec-item .label{font-size:12px;color:var(--text-secondary)}.rec-item .value{font-size:12px;font-weight:500}.scenario-panel{background:var(--panel);border-top:1px solid var(--border);transition:max-height .3s ease;flex-shrink:0;overflow:hidden}.scenario-panel.collapsed{max-height:40px}.scenario-panel.expanded{max-height:200px}.scenario-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 20px;background:var(--bg-secondary);border:none;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left}.scenario-toggle:hover{background:var(--bg-tertiary)}.scenario-content{padding:12px 20px;overflow-x:auto;overflow-y:hidden;max-height:160px}.scenario-list{display:flex;gap:12px}.scenario-card{min-width:200px;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.scenario-card:hover{border-color:var(--primary)}.scenario-card.selected{border-color:var(--primary);background:#3b82f61a}.scenario-card.baseline{border-color:#10b981}.scenario-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.scenario-name{font-size:13px;font-weight:600}.baseline-badge{padding:2px 6px;font-size:9px;font-weight:600;background:#10b981;color:#fff;border-radius:4px}.scenario-metrics{display:flex;gap:12px;margin-bottom:8px}.scenario-metrics .metric{display:flex;flex-direction:column}.metric-label{font-size:10px;color:var(--text-secondary)}.metric-value{font-size:12px;font-weight:500}.scenario-desc{font-size:11px;color:var(--text-secondary)}.scenario-add-btn{min-width:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;background:transparent;border:2px dashed var(--border);border-radius:8px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s}.scenario-add-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.scenario-add-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1400px){.sim-content{grid-template-columns:minmax(240px,260px) 1fr minmax(240px,280px)}.panel-section{padding:12px}.kpi-grid{grid-template-columns:1fr}}@media (max-width: 1200px){.sim-content{grid-template-columns:1fr;grid-template-rows:auto 1fr}.input-panel,.result-panel{display:none}.sim-canvas{grid-column:1}.sim-header{flex-wrap:wrap;gap:12px}}@media (min-width: 900px) and (max-width: 1199px){.sim-content{grid-template-columns:minmax(240px,260px) 1fr}.input-panel{display:flex}.result-panel{position:fixed;right:0;top:60px;bottom:180px;width:300px;z-index:100;box-shadow:-4px 0 20px #00000026;transform:translate(100%);transition:transform .3s ease}.result-panel.visible{transform:translate(0);display:flex}}@media (max-width: 600px){.sim-header{padding:10px 12px}.header-title h1{font-size:14px}.sim-btn{padding:6px 12px;font-size:12px}.gantt-process-col{width:80px;min-width:80px;padding:6px 8px}.gantt-process-col .process-name{font-size:11px}.gantt-day{width:60px;min-width:60px}}.sim-cutting-optimizer{display:flex;flex-direction:column;height:100vh;background:var(--bg-base, #eef2f6);overflow:hidden;box-sizing:border-box}.optimizer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border, rgba(255, 255, 255, .3));flex-shrink:0}.header-title{display:flex;align-items:center;gap:12px}.header-title h1{margin:0;font-size:22px;font-weight:600;color:var(--text-primary, #1e293b)}.header-title svg{color:var(--accent, #3b82f6)}.lab-badge{display:inline-flex;align-items:center;padding:4px 10px;background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff;font-size:11px;font-weight:700;border-radius:6px;letter-spacing:.5px;text-transform:uppercase}.header-actions{display:flex;gap:10px}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,var(--accent, #3b82f6),#2563eb);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);border:1px solid var(--border, #e2e8f0);border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s ease}.btn-icon:hover:not(:disabled){background:var(--accent, #3b82f6);color:#fff;border-color:var(--accent, #3b82f6)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon-sm{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary, #94a3b8);cursor:pointer;transition:all .2s ease}.btn-icon-sm:hover{background:#ef44441a;color:var(--error, #ef4444)}.btn-text{background:none;border:none;color:var(--accent, #3b82f6);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px}.btn-text:hover{text-decoration:underline}.btn-add-part{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:var(--bg-secondary, #f8fafc);border:1px dashed var(--border, #e2e8f0);border-radius:8px;color:var(--accent, #3b82f6);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-part:hover{background:#3b82f61a;border-color:var(--accent, #3b82f6)}.optimizer-content{display:flex;flex:1;min-height:0;padding:16px;gap:16px}.input-panel{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.canvas-panel{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.pattern-navigator{display:flex;gap:8px;padding:12px 16px;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:12px;overflow-x:auto;flex-shrink:0}.pattern-thumb{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;padding:8px 12px;background:var(--panel, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease}.pattern-thumb:hover{border-color:var(--accent, #3b82f6)}.pattern-thumb.active{border-color:var(--accent, #3b82f6);background:#3b82f61a}.thumb-number{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.thumb-efficiency{font-size:11px;color:var(--text-secondary, #64748b)}.canvas-container{flex:1;display:flex;align-items:center;justify-content:center;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:16px;overflow:hidden;min-height:300px}.canvas-wrapper{display:flex;align-items:center;justify-content:center;padding:20px}.pattern-svg{filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.canvas-empty{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary, #94a3b8)}.canvas-empty svg{opacity:.5}.canvas-empty p{margin:0;font-size:14px}.canvas-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:12px;flex-shrink:0}.pattern-indicator{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);min-width:140px;text-align:center}.zoom-controls{display:flex;align-items:center;gap:8px;margin-left:24px;padding-left:24px;border-left:1px solid var(--border, #e2e8f0)}.zoom-level{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);min-width:50px;text-align:center}.result-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto}.panel-section{background:var(--glass-bg, rgba(255, 255, 255, .65));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:16px;padding:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.section-header .section-title{margin:0}.section-actions{display:flex;gap:8px}.form-group{margin-bottom:12px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);margin-bottom:6px}.form-select,.form-input{width:100%;padding:10px 12px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:14px;color:var(--text-primary, #1e293b);transition:border-color .2s ease;box-sizing:border-box}.form-select:focus,.form-input:focus{outline:none;border-color:var(--accent, #3b82f6)}.form-row{display:flex;gap:8px;margin-bottom:8px}.form-row .form-input{flex:1}.checkbox-group label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary, #1e293b);cursor:pointer}.checkbox-group input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent, #3b82f6)}.sheet-info{display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--bg-secondary, #f8fafc);border-radius:8px;margin-top:12px}.sheet-info span{font-size:12px;color:var(--text-secondary, #64748b)}.sheet-info span:first-child{font-weight:500;color:var(--text-primary, #1e293b)}.settings-form{padding-top:12px;border-top:1px solid var(--border, #e2e8f0);margin-top:12px}.parts-section{flex:1;display:flex;flex-direction:column;min-height:0}.parts-list{flex:1;margin-bottom:12px}.parts-empty{display:flex;align-items:center;justify-content:center;padding:24px;color:var(--text-secondary, #94a3b8);font-size:13px}.part-item{display:flex;align-items:center;gap:10px;padding:10px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;margin-bottom:8px}.part-item:last-child{margin-bottom:0}.part-color{width:8px;height:32px;border-radius:4px;flex-shrink:0}.part-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.part-label{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-size{font-size:12px;color:var(--text-secondary, #64748b)}.add-part-form{padding-top:12px;border-top:1px solid var(--border, #e2e8f0)}.parts-summary{display:flex;justify-content:space-between;padding:10px;background:var(--bg-secondary, #f8fafc);border-radius:8px;margin-top:12px}.parts-summary span{font-size:12px;font-weight:500;color:var(--text-primary, #1e293b)}.parts-actions{margin-top:10px;display:flex;justify-content:flex-end}.compare-results{margin-top:12px;display:flex;flex-direction:column;gap:10px}.compare-card{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;background:#f8fafc}.compare-card.best{border-color:#38bdf8;background:#ecfeff}.compare-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:#0f172a;margin-bottom:8px}.compare-badge{background:#38bdf8;color:#0f172a;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.compare-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;font-size:11px;color:#334155;margin-bottom:8px}.mix-scenarios{margin-top:12px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.mix-scenarios h4{margin:0 0 8px;font-size:12px;color:#0f172a}.mix-scenario-list{display:flex;flex-direction:column;gap:8px}.mix-scenario-card{border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:8px 10px;text-align:left;cursor:pointer}.mix-scenario-card.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.mix-scenario-header{display:flex;justify-content:space-between;font-size:11px;color:#1e293b;margin-bottom:6px}.mix-scenario-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 6px;font-size:10px;color:#475569}.result-empty{display:flex;align-items:center;justify-content:center;padding:32px;color:var(--text-secondary, #94a3b8);font-size:13px;text-align:center}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stat-item{display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--bg-secondary, #f8fafc);border-radius:8px}.stat-label{font-size:11px;color:var(--text-secondary, #64748b)}.stat-value{font-size:15px;font-weight:600;color:var(--text-primary, #1e293b)}.stat-value.loss{color:var(--warning, #f59e0b)}.result-highlight{margin-bottom:16px}.highlight-item{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;margin-bottom:10px}.highlight-item:last-child{margin-bottom:0}.highlight-item.loss-rate{background:linear-gradient(135deg,#f59e0b1a,#eab3081a);border:1px solid rgba(245,158,11,.3)}.highlight-item.efficiency{background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid rgba(16,185,129,.3)}.highlight-label{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b)}.highlight-value{font-size:28px;font-weight:700}.loss-rate .highlight-value{color:var(--warning, #f59e0b)}.efficiency .highlight-value{color:var(--success, #10b981)}.efficiency-bar{height:8px;background:var(--border, #e2e8f0);border-radius:4px;overflow:hidden;margin-top:4px}.efficiency-fill{height:100%;background:linear-gradient(90deg,var(--success, #10b981),#059669);border-radius:4px;transition:width .5s ease}.placement-status{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;margin-bottom:12px}.status-label{font-size:13px;color:var(--text-secondary, #64748b)}.status-value{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.unplaced-warning{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;margin-bottom:12px}.warning-icon{font-size:16px}.unplaced-warning span:last-child{font-size:12px;color:var(--error, #ef4444)}.selected-pattern-info{padding:12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;margin-bottom:12px}.selected-pattern-info h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.pattern-stats{display:flex;gap:16px}.pattern-stats span{font-size:12px;color:var(--text-secondary, #64748b)}.result-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}.result-actions .btn-secondary{justify-content:center}@media (max-width: 1200px){.input-panel{width:280px}.result-panel{width:240px}}@media (max-width: 992px){.optimizer-content{flex-direction:column}.input-panel,.result-panel{width:100%}.canvas-panel{min-height:400px}}.input-panel::-webkit-scrollbar,.result-panel::-webkit-scrollbar,.parts-list::-webkit-scrollbar{width:6px}.input-panel::-webkit-scrollbar-track,.result-panel::-webkit-scrollbar-track,.parts-list::-webkit-scrollbar-track{background:transparent}.input-panel::-webkit-scrollbar-thumb,.result-panel::-webkit-scrollbar-thumb,.parts-list::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:3px}.input-panel::-webkit-scrollbar-thumb:hover,.result-panel::-webkit-scrollbar-thumb:hover,.parts-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}.fsm-root{--fsm-glass-bg: rgba(255, 255, 255, .65);--fsm-glass-bg-hover: rgba(255, 255, 255, .75);--fsm-glass-border: rgba(255, 255, 255, .3);--fsm-glass-shadow: 0 8px 32px rgba(31, 38, 135, .1);--fsm-glass-blur: blur(12px);--fsm-gradient-primary: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);--fsm-gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);--fsm-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);--fsm-gradient-danger: linear-gradient(135deg, #ef4444 0%, #f87171 100%);--fsm-gradient-info: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--fsm-card-radius: 16px;--fsm-card-padding: 20px;--fsm-transition-fast: .15s ease;--fsm-transition-normal: .25s ease;min-height:100%;padding:24px;background:linear-gradient(135deg,#f0f4ff,#e8f4f8,#fdf4ff)}.fsm-dashboard-compact{height:100vh;overflow:hidden;display:flex;flex-direction:column}.fsm-dashboard-compact .fsm-header{margin-bottom:16px}.fsm-dashboard-body{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow:hidden}.fsm-dashboard-compact .fsm-kpi-grid{margin-bottom:0}.fsm-dashboard-compact .fsm-dashboard-grid{margin-bottom:0;min-height:0}.fsm-dashboard-compact .fsm-dashboard-grid .fsm-card{min-height:0}.fsm-dashboard-compact .fsm-urgent-list,.fsm-dashboard-compact .fsm-tech-list,.fsm-dashboard-compact .fsm-table-wrapper{max-height:220px;overflow-y:auto;overflow-x:hidden}.fsm-table-wrapper::-webkit-scrollbar,.fsm-urgent-list::-webkit-scrollbar,.fsm-tech-list::-webkit-scrollbar{display:none}.fsm-table-wrapper,.fsm-urgent-list,.fsm-tech-list{-ms-overflow-style:none;scrollbar-width:none}[data-theme=dark] .fsm-root,[data-theme=dark].fsm-root{--fsm-glass-bg: rgba(30, 41, 59, .7);--fsm-glass-bg-hover: rgba(30, 41, 59, .85);--fsm-glass-border: rgba(255, 255, 255, .1);--fsm-glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--fsm-urgent-bg: rgba(239, 68, 68, .15);--fsm-urgent-bg-hover: rgba(239, 68, 68, .25);background:linear-gradient(135deg,#0f172a,#1e293b)}.fsm-root{--fsm-urgent-bg: #fef2f2;--fsm-urgent-bg-hover: #fee2e2}.fsm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.fsm-header__title{font-size:24px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:12px}.fsm-header__title-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--fsm-gradient-primary);color:#fff}.fsm-header__actions{display:flex;gap:12px}.fsm-card{background:var(--fsm-glass-bg);backdrop-filter:var(--fsm-glass-blur);-webkit-backdrop-filter:var(--fsm-glass-blur);border:1px solid var(--fsm-glass-border);border-radius:var(--fsm-card-radius);box-shadow:var(--fsm-glass-shadow);padding:var(--fsm-card-padding);transition:transform var(--fsm-transition-normal),box-shadow var(--fsm-transition-normal);overflow:hidden}.fsm-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #1f268726}.fsm-card--flat:hover{transform:none}.fsm-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--fsm-glass-border)}.fsm-card__title{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.fsm-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.fsm-kpi-card{background:var(--fsm-glass-bg);backdrop-filter:var(--fsm-glass-blur);-webkit-backdrop-filter:var(--fsm-glass-blur);border:1px solid var(--fsm-glass-border);border-radius:14px;padding:16px;position:relative;overflow:hidden;transition:transform var(--fsm-transition-normal),box-shadow var(--fsm-transition-normal)}.fsm-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--fsm-gradient-primary);opacity:0;transition:opacity var(--fsm-transition-normal)}.fsm-kpi-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #1f26872e}.fsm-kpi-card:hover:before{opacity:1}.fsm-kpi-card--success:before{background:var(--fsm-gradient-success)}.fsm-kpi-card--warning:before{background:var(--fsm-gradient-warning)}.fsm-kpi-card--danger:before{background:var(--fsm-gradient-danger)}.fsm-kpi-card--info:before{background:var(--fsm-gradient-info)}.fsm-kpi-card__icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;background:var(--fsm-gradient-primary);color:#fff}.fsm-kpi-card__icon--success{background:var(--fsm-gradient-success)}.fsm-kpi-card__icon--warning{background:var(--fsm-gradient-warning)}.fsm-kpi-card__icon--danger{background:var(--fsm-gradient-danger)}.fsm-kpi-card__icon--info{background:var(--fsm-gradient-info)}.fsm-kpi-card__label{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.fsm-kpi-card__value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.fsm-kpi-card__unit{font-size:14px;font-weight:500;color:var(--text-secondary);margin-left:4px}.fsm-kpi-card__trend{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:12px;font-weight:500}.fsm-kpi-card__trend--up{color:#10b981}.fsm-kpi-card__trend--down{color:#ef4444}.fsm-pipeline{display:flex;gap:28px;margin-bottom:24px;overflow-x:auto;padding:8px 4px 12px;align-items:stretch}.fsm-pipeline__step{flex:1;min-width:92px;background:var(--fsm-glass-bg);-webkit-backdrop-filter:var(--fsm-glass-blur);backdrop-filter:var(--fsm-glass-blur);border:1px solid var(--fsm-glass-border);padding:12px 8px;text-align:center;cursor:pointer;transition:all var(--fsm-transition-fast);display:grid;gap:6px;justify-items:center;position:relative}.fsm-pipeline__step:first-child{border-radius:12px 0 0 12px}.fsm-pipeline__step:last-child{border-radius:0 12px 12px 0}.fsm-pipeline__step:hover{background:var(--fsm-glass-bg-hover);z-index:1}.fsm-pipeline__step:after{content:">";position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:11px;opacity:.6}.fsm-pipeline__step:last-child:after{display:none}.fsm-pipeline__step--active{background:linear-gradient(135deg,#3b82f62e,#6366f12e);border-color:#3b82f673;box-shadow:0 10px 22px #3b82f62e}.fsm-pipeline__step--active .fsm-pipeline__step-icon{background:#3b82f633;color:#1d4ed8}.fsm-pipeline__step--active .fsm-pipeline__step-name{color:#1e3a8a}.fsm-pipeline__step--active .fsm-pipeline__step-count{color:#1d4ed8}.fsm-pipeline__step-name{font-size:11px;font-weight:500;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fsm-pipeline__step-count{font-size:18px;font-weight:700}.fsm-pipeline__step-icon{width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#3b82f61f;color:var(--text-primary)}.fsm-pipeline__stage{position:relative;display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.fsm-pipeline__stage-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding-left:4px}.fsm-pipeline__stage-steps{display:grid;grid-auto-flow:column;gap:8px}.fsm-pipeline__stage:not(:last-child):after{content:"";position:absolute;right:-20px;top:50%;width:16px;height:2px;background:linear-gradient(90deg,#94a3b833,#94a3b8b3)}.fsm-pipeline__stage:not(:last-child):before{content:"";position:absolute;right:-18px;top:calc(50% - 3px);border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid rgba(148,163,184,.7)}.fsm-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:center}.fsm-workflow__item{position:relative;display:grid;gap:6px;padding:12px;border-radius:12px;background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);text-align:center}.fsm-workflow__label{font-size:12px;font-weight:600;color:var(--text-secondary)}.fsm-workflow__count{font-size:18px;font-weight:700;color:var(--text-primary)}.fsm-workflow__unit{font-size:11px;font-weight:500;margin-left:4px;color:var(--text-secondary)}.fsm-workflow__arrow{position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:14px}@media (max-width: 1200px){.fsm-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.fsm-workflow__arrow{display:none}}.fsm-table-wrapper{overflow:hidden}.fsm-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.fsm-table th{text-align:left;padding:12px 10px;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--fsm-glass-border);background:#00000005;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fsm-table th:nth-child(1){width:12%}.fsm-table th:nth-child(2){width:22%}.fsm-table th:nth-child(3){width:18%}.fsm-table th:nth-child(4){width:10%}.fsm-table th:nth-child(5){width:12%}.fsm-table th:nth-child(6){width:14%}.fsm-table th:nth-child(7){width:12%}.fsm-table td{padding:12px 10px;border-bottom:1px solid var(--fsm-glass-border);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsm-table tr:hover td{background:var(--fsm-glass-bg-hover)}.fsm-table__wo-number{font-weight:600;color:var(--primary);cursor:pointer}.fsm-table__wo-number:hover{text-decoration:underline}.fsm-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.fsm-status-badge--request{background:#eff6ff;color:#2563eb}.fsm-status-badge--dispatch{background:#fef3c7;color:#d97706}.fsm-status-badge--execution{background:#ecfdf5;color:#059669}.fsm-status-badge--completion{background:#f3e8ff;color:#7c3aed}.fsm-priority-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.fsm-priority-badge--critical{background:#fef2f2;color:#dc2626}.fsm-priority-badge--high{background:#fff7ed;color:#ea580c}.fsm-priority-badge--medium{background:#eff6ff;color:#2563eb}.fsm-priority-badge--low{background:#f0fdf4;color:#16a34a}.fsm-sla-indicator{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.fsm-sla-indicator__dot{width:8px;height:8px;border-radius:50%}.fsm-sla-indicator--on-track .fsm-sla-indicator__dot{background:#10b981}.fsm-sla-indicator--at-risk .fsm-sla-indicator__dot{background:#f59e0b;animation:pulse 1.5s infinite}.fsm-sla-indicator--breached .fsm-sla-indicator__dot{background:#ef4444}.fsm-tech-list{display:flex;flex-direction:column;gap:8px}.fsm-tech-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:#00000005;transition:background var(--fsm-transition-fast)}.fsm-tech-item:hover{background:var(--fsm-glass-bg-hover)}.fsm-tech-item__avatar{width:40px;height:40px;border-radius:50%;background:var(--fsm-gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.fsm-tech-item__info{flex:1}.fsm-tech-item__name{font-weight:600;color:var(--text-primary);margin-bottom:2px}.fsm-tech-item__location{font-size:12px;color:var(--text-secondary)}.fsm-tech-item__status{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500}.fsm-tech-item__status--available{background:#ecfdf5;color:#059669}.fsm-tech-item__status--assigned{background:#eff6ff;color:#2563eb}.fsm-tech-item__status--en-route{background:#fef3c7;color:#d97706}.fsm-tech-item__status--on-site{background:#f3e8ff;color:#7c3aed}.fsm-tech-item__status--off-duty{background:#f1f5f9;color:#64748b}.fsm-dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:24px}.fsm-dashboard-grid--equal{grid-template-columns:1fr 1fr}@media (max-width: 1200px){.fsm-dashboard-grid{grid-template-columns:1fr}}.fsm-urgent-list{display:flex;flex-direction:column;gap:8px}.fsm-urgent-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:var(--fsm-urgent-bg);border-left:4px solid #ef4444;cursor:pointer;transition:all var(--fsm-transition-fast)}.fsm-urgent-item:hover{background:var(--fsm-urgent-bg-hover);transform:translate(4px)}.fsm-urgent-item__info{flex:1}.fsm-urgent-item__title{font-weight:600;color:var(--text-primary);margin-bottom:2px}.fsm-urgent-item__customer{font-size:12px;color:var(--text-secondary)}.fsm-urgent-item__time{font-size:11px;color:#ef4444;font-weight:500}.fsm-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-secondary)}.fsm-empty-state__icon{width:64px;height:64px;border-radius:50%;background:var(--fsm-glass-bg);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--text-secondary)}.fsm-empty-state__message{font-size:14px;text-align:center}.fsm-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--fsm-transition-fast)}.fsm-btn--primary{background:var(--fsm-gradient-primary);color:#fff}.fsm-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}.fsm-btn--secondary{background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);color:var(--text-primary)}.fsm-btn--secondary:hover{background:var(--fsm-glass-bg-hover)}.fsm-tier-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.fsm-tier-badge--basic{background:#f1f5f9;color:#64748b}.fsm-tier-badge--standard{background:#eff6ff;color:#2563eb}.fsm-tier-badge--premium{background:#f3e8ff;color:#7c3aed}.fsm-detail-panel{background:var(--fsm-glass-bg);-webkit-backdrop-filter:var(--fsm-glass-blur);backdrop-filter:var(--fsm-glass-blur);border-left:1px solid var(--fsm-glass-border);height:100%;overflow-y:auto}.fsm-detail-panel__header{padding:20px;border-bottom:1px solid var(--fsm-glass-border);display:flex;justify-content:space-between;align-items:flex-start}.fsm-detail-panel__content{padding:20px}.fsm-detail-section{margin-bottom:24px}.fsm-detail-section__title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.fsm-detail-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.fsm-detail-field__label{font-size:11px;color:var(--text-secondary)}.fsm-detail-field__value{font-size:14px;font-weight:500;color:var(--text-primary)}.fsm-timeline{position:relative;padding-left:24px}.fsm-timeline:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--fsm-glass-border)}.fsm-timeline__item{position:relative;padding-bottom:16px}.fsm-timeline__item:last-child{padding-bottom:0}.fsm-timeline__dot{position:absolute;left:-20px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--primary)}.fsm-timeline__item--active .fsm-timeline__dot{background:var(--primary)}.fsm-timeline__content{padding-left:8px}.fsm-timeline__status{font-weight:600;color:var(--text-primary);margin-bottom:2px}.fsm-timeline__time{font-size:11px;color:var(--text-secondary)}.fsm-timeline__remarks{font-size:12px;color:var(--text-secondary);margin-top:4px;font-style:italic}.fsm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.fsm-modal{background:var(--panel, #fff);border-radius:16px;box-shadow:0 24px 80px #0003;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.fsm-modal--lg{max-width:720px}.fsm-modal__header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.fsm-modal__title{font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px;margin:0}.fsm-modal__close{width:36px;height:36px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .15s ease}.fsm-modal__close:hover{background:var(--bg-secondary);color:var(--text-primary)}.fsm-modal__body{flex:1;overflow-y:auto;padding:24px}.fsm-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-secondary)}.fsm-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.fsm-form-group{display:flex;flex-direction:column;gap:6px}.fsm-form-group--full{grid-column:1 / -1}.fsm-form-label{font-size:13px;font-weight:500;color:var(--text-primary)}.fsm-form-required{color:#ef4444}.fsm-form-input,.fsm-form-select{padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--panel);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease}.fsm-form-input:focus,.fsm-form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.fsm-form-input--error,.fsm-form-select--error{border-color:#ef4444}.fsm-form-input--error:focus,.fsm-form-select--error:focus{box-shadow:0 0 0 3px #ef444426}.fsm-form-input[readonly]{background:var(--bg-secondary);color:var(--text-secondary)}.fsm-form-error{font-size:12px;color:#ef4444}.fsm-form-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.fsm-form-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.fsm-form-checkbox__label{font-size:14px;color:var(--text-primary)}.fsm-btn--ghost{background:transparent;border:none;padding:8px;color:var(--text-secondary)}.fsm-btn--ghost:hover{background:var(--bg-secondary);color:var(--text-primary)}.fsm-btn--sm{padding:6px 12px;font-size:12px}.fsm-btn--danger{color:#ef4444}.fsm-btn--danger:hover{background:#fef2f2}.g1-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;border-radius:50%;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:all var(--fsm-transition-fast);z-index:10}.g1-nav-btn:hover{background:#fff;box-shadow:0 6px 20px #0003;transform:translateY(-50%) scale(1.1)}.g1-nav-btn:active{transform:translateY(-50%) scale(.95)}.g1-nav-btn--prev{left:16px}.g1-nav-btn--next{right:16px}[data-theme=dark] .g1-nav-btn{background:#1e293be6;color:#fff}[data-theme=dark] .g1-nav-btn:hover{background:#334155}.g1-parts-panel{background:var(--fsm-glass-bg);-webkit-backdrop-filter:var(--fsm-glass-blur);backdrop-filter:var(--fsm-glass-blur);border-left:1px solid var(--fsm-glass-border);display:flex;flex-direction:column;height:100%}.g1-parts-header{padding:16px;border-bottom:1px solid var(--fsm-glass-border)}.g1-parts-header__title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.g1-parts-search{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--panel);color:var(--text-primary)}.g1-parts-search:focus{outline:none;border-color:var(--primary)}.g1-parts-list{flex:1;overflow-y:auto;padding:8px}.g1-parts-category{margin-bottom:8px}.g1-parts-category__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-primary);transition:background var(--fsm-transition-fast)}.g1-parts-category__header:hover{background:var(--fsm-glass-bg-hover)}.g1-parts-category__count{font-size:10px;font-weight:500;color:var(--text-secondary);background:var(--border);padding:2px 6px;border-radius:10px}.g1-parts-item{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:4px 0;border-radius:6px;font-size:11px;color:var(--text-secondary);transition:all var(--fsm-transition-fast)}.g1-parts-item:hover{background:var(--fsm-glass-bg-hover);color:var(--text-primary)}.g1-parts-item--critical{border-left:3px solid #f59e0b}.g1-parts-item--out-of-stock{background:#ef44441a}.g1-parts-item__code{font-weight:600;color:var(--primary);min-width:70px}.g1-parts-item__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g1-parts-item__stock{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}.g1-parts-item__stock--ok{background:#ecfdf5;color:#059669}.g1-parts-item__stock--low{background:#fef3c7;color:#d97706}.g1-parts-item__stock--out{background:#fef2f2;color:#dc2626}.g1-parts-footer{padding:12px 16px;border-top:1px solid var(--fsm-glass-border);display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary)}.g1-parts-footer__stat{display:flex;align-items:center;gap:4px}.g1-parts-footer__stat--warning{color:#f59e0b}.g1-parts-footer__stat--danger{color:#ef4444}.dispatch-kpi-strip{display:flex;gap:24px;padding:12px 20px;margin-bottom:16px;background:var(--fsm-glass-bg);-webkit-backdrop-filter:var(--fsm-glass-blur);backdrop-filter:var(--fsm-glass-blur);border:1px solid var(--fsm-glass-border);border-radius:12px;flex-wrap:wrap}.dispatch-kpi-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-primary)}.dispatch-container{display:flex;gap:16px;height:calc(100vh - 260px);min-height:500px}.dispatch-panel{background:var(--fsm-glass-bg);-webkit-backdrop-filter:var(--fsm-glass-blur);backdrop-filter:var(--fsm-glass-blur);border:1px solid var(--fsm-glass-border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.dispatch-panel--left{width:280px;flex-shrink:0}.dispatch-panel--center{flex:1;min-width:0}.dispatch-panel--right{width:570px;flex-shrink:0}.dispatch-panel__header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--fsm-glass-border);background:#00000005}.dispatch-panel__header h3{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;margin:0}.dispatch-panel__content{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.dispatch-wo-card{padding:12px;border-radius:8px;background:var(--fsm-glass-bg-hover);border:1px solid var(--fsm-glass-border);border-left:4px solid var(--primary);cursor:grab;transition:all var(--fsm-transition-fast)}.dispatch-wo-card:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a}.dispatch-wo-card.selected{background:#8b5cf61a;border-color:var(--primary)}.dispatch-wo-card:active{cursor:grabbing}.dispatch-wo-card__header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dispatch-wo-card__header .drag-handle{color:var(--text-secondary)}.dispatch-wo-card__header .wo-number{font-size:12px;font-weight:600;color:var(--primary)}.dispatch-wo-card__header .priority-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}.dispatch-wo-card__checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.dispatch-wo-card__detail-btn{margin-left:auto;width:28px;height:28px;border:none;border-radius:6px;background:var(--primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--fsm-transition-fast);flex-shrink:0}.dispatch-wo-card__detail-btn:hover{background:var(--primary-hover);transform:scale(1.05)}.dispatch-wo-card__detail-btn:active{transform:scale(.95)}.dispatch-wo-card__title{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px;line-height:1.3}.dispatch-wo-card__info{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px;margin-bottom:6px}.dispatch-wo-card__sla{font-size:10px;padding:4px 8px;border-radius:4px;font-weight:500}.dispatch-schedule-grid{flex:1;overflow:auto;padding:8px}.dispatch-schedule-grid table{width:100%;min-width:700px;border-collapse:collapse;font-size:12px}.dispatch-schedule-grid th,.dispatch-schedule-grid td{border:1px solid var(--fsm-glass-border);padding:8px;text-align:center;vertical-align:middle}.dispatch-schedule-grid th{background:#00000008;font-weight:600;color:var(--text-secondary);position:sticky;top:0;z-index:1}.dispatch-schedule-grid th.lunch,.dispatch-schedule-grid td.lunch{background:#f59e0b1a}.dispatch-schedule-grid th.tech-col,.dispatch-schedule-grid td.tech-col{text-align:left;position:sticky;left:0;background:var(--fsm-glass-bg);z-index:2;min-width:140px}.dispatch-schedule-grid th.tech-col{z-index:3}.dispatch-schedule-grid .tech-info{display:flex;align-items:center;gap:10px}.dispatch-schedule-grid .tech-avatar{width:32px;height:32px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0}.dispatch-schedule-grid .tech-name{font-weight:600;font-size:12px;color:var(--text-primary)}.dispatch-schedule-grid .tech-status{font-size:10px;font-weight:500}.schedule-cell{min-width:60px;min-height:50px;vertical-align:top!important;padding:4px!important;transition:background var(--fsm-transition-fast)}.schedule-cell.available{background:#10b9810d}.schedule-cell.available:hover{background:#10b98126}.schedule-cell .lunch-label{font-size:10px;color:#d97706;font-weight:500}.schedule-wo{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-radius:6px;padding:4px 6px;border-left:3px solid #0ea5e9;cursor:pointer;transition:all var(--fsm-transition-fast);box-shadow:0 1px 3px #0ea5e926}.schedule-wo:hover{transform:scale(1.05);background:linear-gradient(135deg,#bae6fd,#7dd3fc);box-shadow:0 3px 10px #0ea5e940}.schedule-wo__number{font-size:10px;font-weight:600;color:#0369a1}.schedule-wo__customer{font-size:9px;color:#0c4a6e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-wo--merged{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:44px}.schedule-wo__time{font-size:8px;color:var(--text-muted, #94a3b8);margin-top:2px;letter-spacing:.5px}.merged-cell{padding:2px!important}.merged-cell .schedule-wo--merged{width:100%;border-radius:6px;border-left-width:4px}.dispatch-map-container{flex:1;min-height:250px;border-radius:8px;overflow:hidden;margin:8px;background:transparent}.dispatch-map-container .leaflet-container{border-radius:8px;background:transparent}.dispatch-route-info{padding:12px;border-top:1px solid var(--fsm-glass-border);max-height:200px;overflow-y:auto}.route-summary{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--fsm-gradient-primary);color:#fff;border-radius:6px;font-size:13px;font-weight:600;margin-bottom:12px}.route-stops{display:flex;flex-direction:column;gap:6px}.route-stop{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary);padding:6px 8px;border-radius:4px;background:#00000005}.route-stop.depot{color:var(--text-secondary);font-style:italic}.route-stop .stop-number{width:20px;height:20px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.route-stop .stop-wo{margin-left:auto;font-size:10px;color:var(--text-secondary)}.route-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:var(--text-secondary);text-align:center}.route-empty p{margin-top:12px;font-size:12px;line-height:1.5}.dispatch-empty{display:flex;align-items:center;justify-content:center;padding:32px;color:var(--text-secondary);font-size:13px}.fsm-select{padding:6px 10px;border:1px solid var(--fsm-glass-border);border-radius:6px;font-size:12px;background:var(--panel);color:var(--text-primary);cursor:pointer}.fsm-select:focus{outline:none;border-color:var(--primary)}@media (max-width: 1400px){.dispatch-panel--right{width:320px}}@media (max-width: 1200px){.dispatch-container{flex-direction:column;height:auto}.dispatch-panel--left,.dispatch-panel--center,.dispatch-panel--right{width:100%;height:400px}.dispatch-panel--center{height:500px}}.dispatch-panel__footer{padding:12px;border-top:1px solid var(--fsm-glass-border);background:var(--panel)}.simulation-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;background:var(--fsm-gradient-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all var(--fsm-transition-fast);box-shadow:0 4px 12px #8b5cf64d}.simulation-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #8b5cf666}.simulation-btn:active{transform:translateY(0)}.simulation-btn:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;box-shadow:none;transform:none}.simulation-btn:disabled:hover{transform:none;box-shadow:none}.fsm-workflow-section{overflow:visible}.fsm-workflow-pipeline{display:flex;align-items:stretch;gap:8px;padding:8px;overflow-x:auto}.fsm-workflow-stage-group{display:flex;align-items:center;gap:8px;flex:1;min-width:200px}.fsm-workflow-stage-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;border:2px solid;min-width:80px;text-align:center}.fsm-workflow-stage-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.fsm-workflow-stage-total{font-size:16px;font-weight:700;margin-top:2px}.fsm-workflow-steps{display:flex;align-items:center;gap:4px;flex:1}.fsm-workflow-step{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#94a3b80d;border:1px solid rgba(148,163,184,.15);cursor:pointer;transition:all .2s ease;flex:1;min-width:90px}.fsm-workflow-step:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.fsm-workflow-step--active{background:var(--step-bg, rgba(59, 130, 246, .08));border-color:var(--step-color, #3b82f6)}.fsm-workflow-step__icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fsm-workflow-step__content{flex:1;min-width:0}.fsm-workflow-step__count{font-size:20px;font-weight:700;line-height:1}.fsm-workflow-step__name{font-size:11px;font-weight:500;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fsm-workflow-step__arrow{display:flex;align-items:center;color:var(--text-secondary);opacity:.5;flex-shrink:0}.fsm-workflow-stage-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);opacity:.6;flex-shrink:0;padding:0 4px}.fsm-workflow-step--request{--step-bg: rgba(59, 130, 246, .08);--step-color: #3b82f6}.fsm-workflow-step--dispatch{--step-bg: rgba(245, 158, 11, .08);--step-color: #f59e0b}.fsm-workflow-step--execution{--step-bg: rgba(16, 185, 129, .08);--step-color: #10b981}.fsm-workflow-step--completion{--step-bg: rgba(139, 92, 246, .08);--step-color: #8b5cf6}.fsm-tech-summary{display:flex;gap:8px;font-size:12px;color:var(--text-secondary)}@media (max-width: 1400px){.fsm-workflow-pipeline{flex-wrap:wrap}.fsm-workflow-stage-group{flex:0 0 calc(50% - 8px)}.fsm-workflow-stage-arrow{display:none}}@media (max-width: 992px){.fsm-workflow-stage-group{flex:0 0 100%}.fsm-workflow-steps{flex-wrap:wrap}.fsm-workflow-step{flex:0 0 calc(50% - 4px)}}.fsm-ssot-flow{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 16px;background:linear-gradient(135deg,#8b5cf60d,#3b82f60d);border-bottom:1px solid var(--fsm-glass-border)}.fsm-ssot-flow__item{display:flex;align-items:center;gap:4px}.fsm-ssot-flow__node{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fsm-glass-bg);border:2px solid var(--fsm-glass-border);color:var(--text-secondary);transition:all .3s ease;cursor:pointer}.fsm-ssot-flow__node--completed{background:#10b98126;border-color:#10b981;color:#10b981}.fsm-ssot-flow__node--active{background:#8b5cf626;border-color:#8b5cf6;color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf633;animation:ssot-pulse 2s ease-in-out infinite}.fsm-ssot-flow__node--completed.fsm-ssot-flow__node--active{background:#10b98126;border-color:#10b981;color:#10b981;box-shadow:0 0 0 3px #10b98133;animation:none}@keyframes ssot-pulse{0%,to{box-shadow:0 0 0 3px #8b5cf633}50%{box-shadow:0 0 0 6px #8b5cf61a}}.fsm-ssot-flow__label{font-size:11px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.fsm-ssot-flow__label--active{font-weight:600;color:#8b5cf6}.fsm-ssot-flow__connector{display:flex;align-items:center;padding:0 4px;color:var(--fsm-glass-border);transition:color .3s ease}.fsm-ssot-flow__connector--active{color:#10b981}[data-theme=dark] .fsm-ssot-flow{background:linear-gradient(135deg,#8b5cf614,#3b82f614)}[data-theme=dark] .fsm-ssot-flow__node{background:#1e293bcc}[data-theme=dark] .fsm-ssot-flow__node--completed{background:#10b98133}[data-theme=dark] .fsm-ssot-flow__node--active{background:#8b5cf633}.fsm-ssot-flow__node--selected{transform:scale(1.1);box-shadow:0 0 0 3px #8b5cf64d,0 4px 12px #8b5cf640}.fsm-ssot-flow__label--selected{color:var(--primary);font-weight:600}.fsm-sla-card{background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);border-radius:8px;padding:12px}.fsm-sla-card__row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;border-bottom:1px solid var(--fsm-glass-border)}.fsm-sla-card__row:last-child{border-bottom:none}.fsm-sla-card__value{font-weight:600;color:var(--primary)}.fsm-sla-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.fsm-sla-status--on-track{background:#10b98126;color:#10b981}.fsm-sla-status--at-risk{background:#f59e0b26;color:#f59e0b}.fsm-sla-status--breached{background:#ef444426;color:#ef4444}.fsm-request-content{background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);border-radius:8px;padding:12px 16px}.fsm-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.fsm-tag--info{background:#3b82f626;color:#3b82f6}.fsm-schedule-tech-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);border-radius:8px;margin-bottom:12px}.fsm-schedule-tech-info{flex:1}.fsm-schedule-tech-name{font-size:14px;font-weight:600;color:var(--text-primary)}.fsm-schedule-tech-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-top:4px}.fsm-status-dot{width:8px;height:8px;border-radius:50%}.fsm-status-dot--available{background:#10b981}.fsm-status-dot--busy{background:#f59e0b}.fsm-status-dot--offline{background:#94a3b8}.fsm-schedule-timeline{position:relative;padding-left:16px}.fsm-schedule-timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--fsm-glass-border)}.fsm-schedule-item{position:relative;display:flex;gap:12px;padding:12px 0}.fsm-schedule-item:before{content:"";position:absolute;left:-14px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--fsm-glass-bg);border:2px solid var(--primary)}.fsm-schedule-item--completed:before{background:#10b981;border-color:#10b981}.fsm-schedule-item__time{min-width:80px;font-size:11px;color:var(--text-secondary);padding-top:2px}.fsm-schedule-item__content{flex:1}.fsm-schedule-item__title{font-size:13px;font-weight:500;color:var(--text-primary)}.fsm-schedule-item__location{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);margin-top:4px}.fsm-billing-card{background:linear-gradient(135deg,#8b5cf61a,#3b82f61a);border:1px solid rgba(139,92,246,.2);border-radius:12px;padding:16px}.fsm-billing-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fsm-billing-card__number{font-size:12px;color:var(--text-secondary)}.fsm-billing-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600}.fsm-billing-status--draft{background:#94a3b833;color:#64748b}.fsm-billing-status--sent{background:#3b82f626;color:#3b82f6}.fsm-billing-status--paid{background:#10b98126;color:#10b981}.fsm-billing-status--overdue{background:#ef444426;color:#ef4444}.fsm-billing-card__amount{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:8px}.fsm-billing-card__date{font-size:11px;color:var(--text-secondary)}.fsm-cost-breakdown{background:var(--fsm-glass-bg);border:1px solid var(--fsm-glass-border);border-radius:8px;overflow:hidden}.fsm-cost-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;border-bottom:1px solid var(--fsm-glass-border)}.fsm-cost-row:last-child{border-bottom:none}.fsm-cost-row--total{background:#8b5cf60d;font-weight:600}.fsm-cost-row--total span:last-child{color:var(--primary);font-size:15px}[data-theme=dark] .fsm-sla-card,[data-theme=dark] .fsm-request-content,[data-theme=dark] .fsm-schedule-tech-card,[data-theme=dark] .fsm-cost-breakdown{background:#1e293b99;border-color:#ffffff1a}[data-theme=dark] .fsm-billing-card{background:linear-gradient(135deg,#8b5cf626,#3b82f626);border-color:#8b5cf64d}[data-theme=dark] .fsm-schedule-timeline:before{background:#ffffff1a}[data-theme=dark] .fsm-schedule-item:before{background:#1e293bcc}[data-theme=dark] .dispatch-kpi-strip,[data-theme=dark] .dispatch-panel{background:#1e293bb3;border-color:#ffffff1a}[data-theme=dark] .dispatch-panel__header{background:#0003;border-color:#ffffff1a}[data-theme=dark] .dispatch-wo-card{background:#1e293bcc;border-color:#ffffff1a}[data-theme=dark] .dispatch-wo-card:hover{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .dispatch-wo-card.selected{background:#8b5cf633;border-color:#8b5cf680}[data-theme=dark] .dispatch-schedule-grid th{background:#0000004d}[data-theme=dark] .dispatch-schedule-grid th,[data-theme=dark] .dispatch-schedule-grid td{border-color:#ffffff1a}[data-theme=dark] .dispatch-schedule-grid th.tech-col,[data-theme=dark] .dispatch-schedule-grid td.tech-col{background:#1e293be6}[data-theme=dark] .dispatch-schedule-grid th.lunch,[data-theme=dark] .dispatch-schedule-grid td.lunch{background:#f59e0b26}[data-theme=dark] .schedule-cell.available{background:#10b9811a}[data-theme=dark] .schedule-cell.available:hover{background:#10b98133}[data-theme=dark] .schedule-wo{background:linear-gradient(135deg,#0c4a6e,#075985);border-left-color:#38bdf8;box-shadow:0 1px 3px #0000004d}[data-theme=dark] .schedule-wo:hover{background:linear-gradient(135deg,#075985,#0369a1);box-shadow:0 3px 10px #38bdf84d}[data-theme=dark] .schedule-wo__number{color:#7dd3fc}[data-theme=dark] .schedule-wo__customer{color:#bae6fd}[data-theme=dark] .dispatch-route-info{border-color:#ffffff1a}[data-theme=dark] .route-stop{background:#0003}[data-theme=dark] .route-empty{color:#ffffff80}[data-theme=dark] .fsm-select{background:#1e293bcc;border-color:#ffffff1a;color:var(--text-primary)}[data-theme=dark] .fsm-select option{background:#1e293b;color:#e2e8f0}[data-theme=dark] .dispatch-map-container{border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .dispatch-wo-card__sla--on_track{background:#10b98133!important;color:#6ee7b7!important;border:1px solid rgba(16,185,129,.3)}[data-theme=dark] .dispatch-wo-card__sla--at_risk{background:#f59e0b33!important;color:#fcd34d!important;border:1px solid rgba(245,158,11,.3)}[data-theme=dark] .dispatch-wo-card__sla--breached,[data-theme=dark] .priority-badge--urgent{background:#ef444433!important;color:#fca5a5!important;border:1px solid rgba(239,68,68,.3)}[data-theme=dark] .priority-badge--high{background:#f9731633!important;color:#fdba74!important;border:1px solid rgba(249,115,22,.3)}[data-theme=dark] .priority-badge--medium{background:#eab30833!important;color:#fde047!important;border:1px solid rgba(234,179,8,.3)}[data-theme=dark] .priority-badge--low{background:#3b82f633!important;color:#93c5fd!important;border:1px solid rgba(59,130,246,.3)}[data-theme=dark] .dispatch-wo-card__meta,[data-theme=dark] .dispatch-wo-card__info{color:#fff9}[data-theme=dark] .simulation-btn.fsm-btn--secondary{background:#ffffff0d;border-color:#ffffff1a;color:#fff9}[data-theme=dark] .simulation-btn.fsm-btn--secondary:hover:not(:disabled){background:#ffffff1a}.dispatch-tech-status-section{margin-top:16px;padding:16px;background:var(--panel);border-radius:12px;border:1px solid var(--border)}.dispatch-tech-status-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.dispatch-tech-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.dispatch-tech-status-card{background:var(--bg-secondary);border-radius:10px;padding:12px;border:1px solid var(--border);transition:all .2s ease}.dispatch-tech-status-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.dispatch-tech-status-card--on_site{border-left:3px solid #10b981}.dispatch-tech-status-card--en_route{border-left:3px solid #3b82f6}.dispatch-tech-status-card--available{border-left:3px solid #8b5cf6}.dispatch-tech-status-card--assigned{border-left:3px solid #f59e0b}.tech-status-card__header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tech-status-card__avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#fff;flex-shrink:0}.tech-status-card__info{flex:1;min-width:0}.tech-status-card__name{font-weight:600;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-status-card__status{display:flex;align-items:center;gap:6px;font-size:12px;margin-top:2px}.tech-status-card__status .status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.tech-status-card__phone-btn{width:28px;height:28px;border-radius:50%;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:#3b82f6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.tech-status-card__phone-btn:hover{background:#3b82f633}.tech-status-card__body{padding:8px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:8px}.tech-status-card__location{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.tech-status-card__location span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-status-card__wo{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tech-status-card__wo .wo-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#3b82f61a;color:#3b82f6;flex-shrink:0}.tech-status-card__wo .wo-title{font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-status-card__time{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.tech-status-card__available,.tech-status-card__assigned{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 0}.tech-status-card__available{color:#8b5cf6}.tech-status-card__assigned{color:#f59e0b}.tech-status-card__footer{display:flex;justify-content:flex-end}.tech-status-card__stats{display:flex;gap:12px;font-size:11px;color:var(--text-secondary)}.tech-status-card__stats span{display:flex;align-items:center;gap:4px}[data-theme=dark] .dispatch-tech-status-section{background:#1e293b99;border-color:#ffffff1a}[data-theme=dark] .dispatch-tech-status-card{background:#1e293bcc;border-color:#ffffff1a}[data-theme=dark] .dispatch-tech-status-card:hover{box-shadow:0 4px 16px #0000004d}[data-theme=dark] .tech-status-card__body{border-color:#ffffff1a}[data-theme=dark] .tech-status-card__phone-btn{background:#3b82f626;border-color:#3b82f64d}[data-theme=dark] .tech-status-card__phone-btn:hover{background:#3b82f640}[data-theme=dark] .tech-status-card__wo .wo-badge{background:#3b82f633;color:#93c5fd}[data-theme=dark] .tech-status-card__available{color:#a78bfa}[data-theme=dark] .tech-status-card__assigned{color:#fbbf24}.contract-sla-tier-box{padding:20px;border-radius:12px;margin-bottom:24px}.contract-sla-tier-box--premium{background:#fef3c7;border:2px solid #fbbf24}.contract-sla-tier-box--premium .contract-sla-tier-icon{color:#d97706}.contract-sla-tier-box--standard{background:#dbeafe;border:2px solid #3b82f6}.contract-sla-tier-box--standard .contract-sla-tier-icon{color:#2563eb}.contract-sla-tier-box--basic{background:#f1f5f9;border:2px solid #94a3b8}.contract-sla-tier-box--basic .contract-sla-tier-icon{color:#64748b}.contract-sla-tier-title{font-size:18px;font-weight:700;color:var(--text-primary)}.contract-sla-tier-subtitle{font-size:12px;color:var(--text-secondary)}.contract-service-scope{background:#f0fdf4;border-radius:10px;padding:16px;border:1px solid #bbf7d0}.contract-service-scope ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.contract-service-scope li{font-size:13px;color:#15803d}.contract-exclusions{background:#fef3c7;border-radius:10px;padding:16px;border:1px solid #fde68a}.contract-exclusions ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.contract-exclusions li{font-size:13px;color:#b45309}[data-theme=dark] .contract-sla-tier-box--premium{background:#fbbf2426;border-color:#fbbf2480}[data-theme=dark] .contract-sla-tier-box--premium .contract-sla-tier-icon{color:#fbbf24}[data-theme=dark] .contract-sla-tier-box--standard{background:#3b82f626;border-color:#3b82f680}[data-theme=dark] .contract-sla-tier-box--standard .contract-sla-tier-icon{color:#60a5fa}[data-theme=dark] .contract-sla-tier-box--basic{background:#94a3b826;border-color:#94a3b880}[data-theme=dark] .contract-sla-tier-box--basic .contract-sla-tier-icon{color:#94a3b8}[data-theme=dark] .contract-sla-tier-title{color:var(--text-primary)}[data-theme=dark] .contract-sla-tier-subtitle{color:var(--text-secondary)}[data-theme=dark] .contract-service-scope{background:#10b9811a;border-color:#10b9814d}[data-theme=dark] .contract-service-scope li{color:#34d399}[data-theme=dark] .contract-exclusions{background:#f59e0b1a;border-color:#f59e0b4d}[data-theme=dark] .contract-exclusions li{color:#fbbf24}.simulation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.simulation-modal{background:var(--panel);border-radius:16px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden}.simulation-modal__header{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.simulation-modal__header h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.simulation-modal__steps{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:16px;font-size:13px;color:var(--text-secondary)}.simulation-modal__steps span.active{color:var(--primary);font-weight:600}.simulation-modal__close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.simulation-modal__close:hover{background:#0000000d;color:var(--text-primary)}.simulation-modal__content{flex:1;overflow:auto;padding:20px}.simulation-step{display:flex;gap:20px;height:100%;min-height:500px}.simulation-step--settings{display:grid;grid-template-columns:1fr 360px;gap:24px}.simulation-wo-list{background:var(--bg-secondary);border-radius:12px;padding:16px;overflow:hidden;display:flex;flex-direction:column}.simulation-wo-list h3{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.simulation-wo-list h3 .total-time{font-size:12px;font-weight:500;color:var(--primary);background:#8b5cf61a;padding:4px 10px;border-radius:20px}.simulation-wo-list__items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.simulation-wo-item{padding:12px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.simulation-wo-item__info{display:flex;align-items:center;gap:8px;margin-bottom:6px}.simulation-wo-item__info .wo-number{font-size:12px;font-weight:600;color:var(--primary)}.simulation-wo-item__info .sla-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}.simulation-wo-item__title{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.simulation-wo-item__customer{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px;margin-bottom:8px}.simulation-wo-item__time{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.simulation-wo-item__time select{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--panel);color:var(--text-primary);cursor:pointer}.simulation-settings{background:var(--bg-secondary);border-radius:12px;padding:20px}.simulation-settings h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.simulation-settings__group{margin-bottom:16px}.simulation-settings__group label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.simulation-settings__group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--panel);color:var(--text-primary);cursor:pointer}.simulation-settings__group .start-location{padding:10px 12px;background:#8b5cf61a;border-radius:8px;font-size:13px;color:var(--text-primary)}.simulation-tech-info{display:flex;align-items:center;gap:12px;padding:12px;background:var(--panel);border-radius:8px;margin-bottom:16px}.simulation-tech-info .tech-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px}.simulation-tech-info .tech-details{flex:1}.simulation-tech-info .tech-name{font-size:14px;font-weight:600;color:var(--text-primary)}.simulation-tech-info .tech-status{font-size:11px;font-weight:500}.simulation-tech-info .tech-skills{font-size:11px;color:var(--text-secondary);margin-top:2px}.simulation-settings__checkbox{margin-bottom:12px}.simulation-settings__checkbox label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer}.simulation-settings__checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.simulation-step--result{display:grid;grid-template-columns:360px 1fr;gap:20px}.simulation-route-list{background:var(--bg-secondary);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.simulation-route-list__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.simulation-route-list__header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.optimize-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.optimize-btn:hover{background:var(--primary-hover)}.simulation-route-list__items{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.simulation-route-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border-radius:8px;border:1px solid var(--border);transition:all .2s}.simulation-route-item.work{cursor:grab}.simulation-route-item.work:active{cursor:grabbing}.simulation-route-item.dragging{opacity:.5;border-color:var(--primary)}.simulation-route-item .drag-handle{color:var(--text-secondary)}.simulation-route-item .route-order{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}.simulation-route-item .route-info{flex:1;min-width:0}.simulation-route-item .route-customer{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simulation-route-item .route-wo{font-size:11px;color:var(--primary);font-weight:500}.simulation-route-item .route-time{font-size:11px;color:var(--text-secondary)}.simulation-route-item .route-travel{display:flex;flex-direction:column;align-items:flex-end;font-size:10px;color:var(--text-secondary)}.simulation-route-item .skill-warning{color:#f59e0b}.simulation-map-panel{display:flex;flex-direction:column;gap:16px}.simulation-map-container{flex:1;min-height:300px;border-radius:12px;overflow:hidden;border:1px solid var(--border)}.simulation-map-container .leaflet-container{border-radius:12px}.simulation-summary{background:var(--bg-secondary);border-radius:12px;padding:16px}.simulation-summary h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-item.full-width{grid-column:span 2}.summary-item .label{font-size:11px;color:var(--text-secondary)}.summary-item .value{font-size:14px;font-weight:600;color:var(--text-primary)}.summary-item .value.highlight{color:var(--primary);font-size:16px}.lunch-notice{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px 12px;background:#f59e0b1a;border-radius:6px;font-size:12px;color:#d97706}.simulation-warnings{margin-top:12px;display:flex;flex-direction:column;gap:6px}.warning-item{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:6px;font-size:12px}.warning-item.info{background:#3b82f61a;color:#3b82f6}.warning-item.warning{background:#f59e0b1a;color:#d97706}.warning-item.error{background:#ef44441a;color:#ef4444}.simulation-step--confirm{justify-content:center}.confirm-panel{max-width:600px;width:100%;background:var(--bg-secondary);border-radius:12px;padding:24px}.confirm-panel h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.confirm-tech,.confirm-date{font-size:14px;color:var(--text-primary);margin-bottom:8px}.confirm-tech strong,.confirm-date strong{color:var(--text-secondary);font-weight:500}.confirm-timeline{margin-top:20px}.confirm-timeline h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.timeline-grid{background:var(--panel);border-radius:8px;overflow:hidden;border:1px solid var(--border)}.timeline-row{display:flex;border-bottom:1px solid var(--border)}.timeline-row:last-child{border-bottom:none}.timeline-hour{width:60px;padding:8px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:#00000005;border-right:1px solid var(--border)}.timeline-cell{flex:1;padding:8px 12px;min-height:36px}.timeline-cell.lunch{background:#f59e0b1a}.timeline-cell .lunch-label{display:flex;align-items:center;gap:4px;font-size:11px;color:#d97706}.timeline-block{padding:4px 8px;background:#8b5cf61a;border-left:3px solid var(--primary);border-radius:4px}.timeline-block .wo-num{font-size:11px;font-weight:600;color:var(--primary)}.timeline-block .customer{font-size:10px;color:var(--text-secondary);display:block}.confirm-assignments{margin-top:20px}.confirm-assignments h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.assignment-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border-radius:6px;margin-bottom:6px;font-size:13px}.assignment-item .wo-num{font-weight:600;color:var(--primary)}.assignment-item .customer{flex:1;color:var(--text-primary)}.assignment-item .time{color:var(--text-secondary);font-size:12px}.confirm-notice{display:flex;align-items:flex-start;gap:8px;margin-top:20px;padding:12px;background:#f59e0b1a;border-radius:8px;font-size:12px;color:#d97706}.simulation-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-secondary)}.simulation-modal__footer .btn-secondary,.simulation-modal__footer .btn-primary{display:flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.simulation-modal__footer .btn-secondary{background:var(--panel);border:1px solid var(--border);color:var(--text-primary)}.simulation-modal__footer .btn-secondary:hover{background:var(--bg-secondary)}.simulation-modal__footer .btn-primary{background:var(--primary);border:none;color:#fff}.simulation-modal__footer .btn-primary:hover:not(:disabled){background:var(--primary-hover)}.simulation-modal__footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1024px){.simulation-step--settings,.simulation-step--result{grid-template-columns:1fr}.simulation-step{min-height:auto}}[data-theme=dark] .simulation-modal-overlay{background:#000000b3}[data-theme=dark] .simulation-modal{background:#1e293b;box-shadow:0 20px 60px #00000080}[data-theme=dark] .simulation-modal__header{background:#0000004d;border-color:#ffffff1a}[data-theme=dark] .simulation-modal__close:hover{background:#ffffff1a}[data-theme=dark] .simulation-wo-list,[data-theme=dark] .simulation-settings,[data-theme=dark] .simulation-route-list,[data-theme=dark] .simulation-summary,[data-theme=dark] .confirm-panel{background:#1e293b99}[data-theme=dark] .simulation-wo-item,[data-theme=dark] .simulation-tech-info,[data-theme=dark] .simulation-route-item,[data-theme=dark] .assignment-item{background:#1e293bcc;border-color:#ffffff1a}[data-theme=dark] .simulation-settings__group select,[data-theme=dark] .simulation-wo-item__time select{background:#1e293bcc;border-color:#ffffff1a;color:#e2e8f0}[data-theme=dark] .simulation-settings__group select option,[data-theme=dark] .simulation-wo-item__time select option{background:#1e293b;color:#e2e8f0}[data-theme=dark] .simulation-route-list__header,[data-theme=dark] .simulation-map-container{border-color:#ffffff1a}[data-theme=dark] .timeline-grid{background:#1e293bcc;border-color:#ffffff1a}[data-theme=dark] .timeline-row{border-color:#ffffff1a}[data-theme=dark] .timeline-hour{background:#0003;border-color:#ffffff1a}[data-theme=dark] .timeline-cell.lunch{background:#f59e0b26}[data-theme=dark] .timeline-block{background:#8b5cf626}[data-theme=dark] .simulation-modal__footer{background:#0000004d;border-color:#ffffff1a}[data-theme=dark] .simulation-modal__footer .btn-secondary{background:#1e293bcc;border-color:#ffffff1a;color:#e2e8f0}[data-theme=dark] .simulation-modal__footer .btn-secondary:hover{background:#334155cc}[data-theme=dark] .confirm-notice,[data-theme=dark] .lunch-notice{background:#f59e0b26}[data-theme=dark] .warning-item.info{background:#3b82f626}[data-theme=dark] .warning-item.warning{background:#f59e0b26}[data-theme=dark] .warning-item.error{background:#ef444426}.customer-process-wrapper{display:flex;flex-direction:column;gap:16px}.customer-process-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.customer-process-title{font-size:18px;font-weight:700;color:var(--text-primary)}.customer-process-subtitle{font-size:12px;color:var(--text-secondary);margin-top:4px}.customer-process-meta{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-secondary);align-items:flex-end}.customer-process-legend{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.legend-chip{width:10px;height:10px;border-radius:3px}.legend-chip.active{background:#3b82f6}.legend-chip.inactive{background:#cbd5f5}.process-node--inactive{opacity:.45}.process-connection--inactive{opacity:.25}.process-slideover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;justify-content:flex-end;z-index:1200}.process-slideover{width:420px;max-width:90vw;height:100%;background:var(--panel, #0f172a);border-left:1px solid var(--border);box-shadow:-8px 0 24px #0000004d;display:flex;flex-direction:column;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.process-slideover-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.process-slideover-title{font-size:16px;font-weight:700;color:var(--text-primary)}.process-slideover-subtitle{font-size:11px;color:var(--text-secondary);margin-top:4px}.process-slideover-close{border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer}.process-slideover-content{padding:16px 20px;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.process-slideover-content::-webkit-scrollbar{display:none}.process-slideover-section-title{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.process-slideover-empty{font-size:12px;color:var(--text-secondary);padding:16px;border-radius:10px;background:var(--bg-secondary)}.process-product-list{display:flex;flex-direction:column;gap:12px}.process-product-card{padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--bg-secondary)}.process-product-header{display:flex;gap:12px;align-items:center;margin-bottom:10px;width:100%;border:none;background:transparent;text-align:left;cursor:pointer;padding:0}.process-product-header.expanded{margin-bottom:8px}.process-product-header img{width:48px;height:48px;-o-object-fit:contain;object-fit:contain;border-radius:10px;background:var(--bg-primary)}.process-product-toggle{margin-left:auto;font-size:18px;color:var(--text-secondary)}.process-product-name{font-size:13px;font-weight:600;color:var(--text-primary)}.process-product-model{font-size:11px;color:var(--text-secondary)}.process-product-parts{margin-top:8px}.process-product-parts-title{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.process-product-parts-list{display:grid;gap:6px}.process-product-part-item{display:flex;justify-content:space-between;font-size:11px;color:var(--text-primary);background:#0f172a33;padding:6px 8px;border-radius:8px}.process-product-part-code{font-family:monospace;color:var(--text-secondary)}.portal-root{--portal-primary: #0ea5e9;--portal-primary-dark: #0284c7;--portal-primary-light: #38bdf8;--portal-gradient: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 50%, #14b8a6 100%);--portal-gradient-dark: linear-gradient(135deg, #0284c7 0%, #0891b2 50%, #0d9488 100%);--portal-glass-bg: rgba(255, 255, 255, .95);--portal-glass-border: rgba(255, 255, 255, .3);--portal-card-bg: rgba(255, 255, 255, .9);--portal-card-hover: rgba(255, 255, 255, 1);--portal-text-primary: #0f172a;--portal-text-secondary: #475569;--portal-text-muted: #94a3b8;--portal-success: #22c55e;--portal-warning: #f59e0b;--portal-danger: #ef4444;--portal-info: #3b82f6;--portal-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--portal-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--portal-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--portal-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--portal-radius-sm: 6px;--portal-radius: 12px;--portal-radius-lg: 16px;--portal-radius-xl: 24px}.portal-login-container{display:flex;min-height:100vh;background:var(--portal-gradient)}.portal-login-left{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#fff}.portal-login-left h1{font-size:48px;font-weight:700;margin:0 0 16px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.portal-login-left p{font-size:18px;opacity:.9;max-width:400px;text-align:center;line-height:1.6}.portal-login-image{max-width:500px;width:80%;margin-top:40px;border-radius:var(--portal-radius-lg);box-shadow:var(--portal-shadow-xl)}.portal-login-right{width:480px;display:flex;align-items:center;justify-content:center;background:var(--portal-glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.portal-login-form-container{width:100%;max-width:360px;padding:48px 40px}.portal-login-header{text-align:center;margin-bottom:40px}.portal-login-icon{width:64px;height:64px;background:var(--portal-gradient);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff}.portal-login-header h2{font-size:24px;font-weight:700;color:var(--portal-text-primary);margin:0 0 8px}.portal-login-header p{font-size:14px;color:var(--portal-text-secondary);margin:0}.portal-form-group{margin-bottom:20px}.portal-form-label{display:block;font-size:13px;font-weight:600;color:var(--portal-text-primary);margin-bottom:8px}.portal-form-input{width:100%;height:48px;padding:0 16px;border:2px solid #e2e8f0;border-radius:var(--portal-radius);font-size:15px;color:var(--portal-text-primary);background:#fff;transition:all .2s ease;outline:none}.portal-form-input:focus{border-color:var(--portal-primary);box-shadow:0 0 0 3px #0ea5e926}.portal-form-input::-moz-placeholder{color:var(--portal-text-muted)}.portal-form-input::placeholder{color:var(--portal-text-muted)}.portal-checkbox-group{display:flex;align-items:center;gap:10px;margin-bottom:24px}.portal-checkbox{width:18px;height:18px;accent-color:var(--portal-primary);cursor:pointer}.portal-checkbox-label{font-size:14px;color:var(--portal-text-secondary);cursor:pointer}.portal-error-message{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--portal-radius-sm);color:var(--portal-danger);font-size:13px;margin-bottom:20px}.portal-login-button{width:100%;height:52px;background:var(--portal-gradient);color:#fff;border:none;border-radius:var(--portal-radius);font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease}.portal-login-button:hover:not(:disabled){background:var(--portal-gradient-dark);transform:translateY(-2px);box-shadow:var(--portal-shadow-lg)}.portal-login-button:disabled{opacity:.6;cursor:not-allowed}.portal-login-footer{margin-top:24px;text-align:center;font-size:13px;color:var(--portal-text-muted)}.portal-login-footer a{color:var(--portal-primary);text-decoration:none}.portal-login-footer a:hover{text-decoration:underline}.portal-dashboard{min-height:100vh;background:linear-gradient(180deg,#f0f9ff,#f8fafc)}.portal-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.portal-header-left{display:flex;align-items:center;gap:16px}.portal-logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;color:var(--portal-text-primary)}.portal-logo-icon{width:36px;height:36px;background:var(--portal-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.portal-header-right{display:flex;align-items:center;gap:20px}.portal-user-info{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#f8fafc;border-radius:var(--portal-radius)}.portal-user-name{font-weight:600;font-size:14px;color:var(--portal-text-primary)}.portal-user-code{font-size:12px;color:var(--portal-text-muted)}.portal-logout-button{padding:8px 16px;background:transparent;border:1px solid #e2e8f0;border-radius:var(--portal-radius-sm);font-size:13px;color:var(--portal-text-secondary);cursor:pointer;transition:all .2s ease}.portal-logout-button:hover{background:#f1f5f9;border-color:#cbd5e1}.portal-content{padding:24px;max-width:1400px;margin:0 auto}.portal-welcome-banner{background:var(--portal-gradient);border-radius:var(--portal-radius-lg);padding:24px 32px;color:#fff;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.portal-welcome-text h2{font-size:22px;font-weight:700;margin:0 0 8px}.portal-welcome-text p{font-size:14px;opacity:.9;margin:0}.portal-welcome-stats{display:flex;gap:32px}.portal-welcome-stat{text-align:center}.portal-welcome-stat-value{font-size:28px;font-weight:700}.portal-welcome-stat-label{font-size:12px;opacity:.85;margin-top:4px}.portal-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.portal-kpi-card{background:#fff;border-radius:var(--portal-radius);padding:20px 24px;box-shadow:var(--portal-shadow-sm);border:1px solid #f1f5f9;transition:all .2s ease;cursor:pointer}.portal-kpi-card:hover{box-shadow:var(--portal-shadow);transform:translateY(-2px)}.portal-kpi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.portal-kpi-icon{width:44px;height:44px;border-radius:var(--portal-radius);display:flex;align-items:center;justify-content:center}.portal-kpi-icon.service{background:#0ea5e91a;color:var(--portal-primary)}.portal-kpi-icon.asset{background:#22c55e1a;color:var(--portal-success)}.portal-kpi-icon.contract{background:#a855f71a;color:#a855f7}.portal-kpi-icon.billing{background:#f59e0b1a;color:var(--portal-warning)}.portal-kpi-title{font-size:13px;color:var(--portal-text-muted);margin-bottom:4px}.portal-kpi-value{font-size:28px;font-weight:700;color:var(--portal-text-primary)}.portal-kpi-subtitle{font-size:12px;color:var(--portal-text-secondary);margin-top:8px}.portal-kpi-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600}.portal-kpi-badge.premium{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.portal-kpi-badge.standard{background:#e2e8f0;color:#475569}.portal-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.portal-card{background:#fff;border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm);border:1px solid #f1f5f9;overflow:hidden}.portal-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f1f5f9}.portal-card-title{font-size:15px;font-weight:600;color:var(--portal-text-primary);display:flex;align-items:center;gap:8px}.portal-card-action{padding:6px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--portal-radius-sm);font-size:12px;color:var(--portal-text-secondary);cursor:pointer;transition:all .2s ease}.portal-card-action:hover{background:#f1f5f9;color:var(--portal-primary)}.portal-card-body{padding:16px 20px}.portal-schedule-item{display:flex;gap:16px;padding:16px;border-radius:var(--portal-radius);background:#f8fafc;margin-bottom:12px;transition:all .2s ease}.portal-schedule-item:last-child{margin-bottom:0}.portal-schedule-item:hover{background:#f1f5f9}.portal-schedule-date{width:52px;text-align:center;flex-shrink:0}.portal-schedule-day{font-size:24px;font-weight:700;color:var(--portal-primary);line-height:1}.portal-schedule-month{font-size:11px;color:var(--portal-text-muted);margin-top:4px}.portal-schedule-content{flex:1}.portal-schedule-title{font-size:14px;font-weight:600;color:var(--portal-text-primary);margin-bottom:4px}.portal-schedule-info{font-size:12px;color:var(--portal-text-secondary);display:flex;align-items:center;gap:12px;margin-bottom:8px}.portal-schedule-actions{display:flex;gap:8px}.portal-schedule-btn{padding:4px 10px;border-radius:4px;font-size:11px;cursor:pointer;border:none;transition:all .2s ease}.portal-schedule-btn.primary{background:var(--portal-primary);color:#fff}.portal-schedule-btn.secondary{background:#e2e8f0;color:var(--portal-text-secondary)}.portal-request-item{padding:14px 16px;border-radius:var(--portal-radius);background:#f8fafc;margin-bottom:12px}.portal-request-item:last-child{margin-bottom:0}.portal-request-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.portal-request-id{font-size:13px;font-weight:600;color:var(--portal-primary)}.portal-request-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500}.portal-request-status.pending{background:#fef3c7;color:#d97706}.portal-request-status.in-progress{background:#dbeafe;color:#2563eb}.portal-request-status.completed{background:#dcfce7;color:#16a34a}.portal-request-title{font-size:14px;color:var(--portal-text-primary);margin-bottom:6px}.portal-request-meta{font-size:12px;color:var(--portal-text-muted);display:flex;align-items:center;gap:12px}.portal-sla-indicator{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.portal-sla-indicator.on-track{background:#dcfce7;color:#16a34a}.portal-sla-indicator.at-risk{background:#fef3c7;color:#d97706}.portal-sla-indicator.breached{background:#fef2f2;color:#dc2626}.portal-asset-card{margin-bottom:24px}.portal-asset-table{width:100%;border-collapse:collapse}.portal-asset-table th{text-align:left;padding:12px 16px;background:#f8fafc;font-size:12px;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}.portal-asset-table td{padding:14px 16px;font-size:13px;color:var(--portal-text-primary);border-bottom:1px solid #f1f5f9}.portal-asset-table tr:hover td{background:#f8fafc}.portal-asset-name{font-weight:600}.portal-asset-model{font-size:11px;color:var(--portal-text-muted);margin-top:2px}.portal-asset-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.portal-asset-status.active{background:#dcfce7;color:#16a34a}.portal-asset-status.maintenance{background:#fef3c7;color:#d97706}.portal-asset-status.inactive{background:#f3f4f6;color:#6b7280}.portal-asset-uptime{display:flex;align-items:center;gap:8px}.portal-uptime-bar{width:60px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.portal-uptime-fill{height:100%;background:var(--portal-success);border-radius:3px;transition:width .3s ease}.portal-uptime-fill.warning{background:var(--portal-warning)}.portal-uptime-fill.danger{background:var(--portal-danger)}.portal-asset-action-btn{padding:6px 12px;background:var(--portal-primary);color:#fff;border:none;border-radius:var(--portal-radius-sm);font-size:12px;cursor:pointer;transition:all .2s ease}.portal-asset-action-btn:hover{background:var(--portal-primary-dark)}.portal-new-request-btn{position:fixed;bottom:32px;right:32px;display:flex;align-items:center;gap:10px;padding:16px 24px;background:var(--portal-gradient);color:#fff;border:none;border-radius:30px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--portal-shadow-lg);transition:all .2s ease;z-index:50}.portal-new-request-btn:hover{transform:translateY(-3px);box-shadow:var(--portal-shadow-xl)}.portal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.portal-modal{background:#fff;border-radius:var(--portal-radius-lg);width:100%;max-width:520px;max-height:90vh;overflow:hidden;box-shadow:var(--portal-shadow-xl)}.portal-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0}.portal-modal-title{font-size:18px;font-weight:600;color:var(--portal-text-primary)}.portal-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:#f1f5f9;border-radius:8px;cursor:pointer;color:var(--portal-text-secondary);transition:all .2s ease}.portal-modal-close:hover{background:#e2e8f0}.portal-modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 140px)}.portal-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e2e8f0}.portal-modal-btn{padding:10px 20px;border-radius:var(--portal-radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.portal-modal-btn.cancel{background:#f1f5f9;border:1px solid #e2e8f0;color:var(--portal-text-secondary)}.portal-modal-btn.cancel:hover{background:#e2e8f0}.portal-modal-btn.submit{background:var(--portal-gradient);border:none;color:#fff}.portal-modal-btn.submit:hover{background:var(--portal-gradient-dark)}.portal-modal-btn:disabled{opacity:.6;cursor:not-allowed}.portal-form-select{width:100%;height:48px;padding:0 16px;border:2px solid #e2e8f0;border-radius:var(--portal-radius);font-size:14px;color:var(--portal-text-primary);background:#fff;cursor:pointer;outline:none;transition:all .2s ease}.portal-form-select:focus{border-color:var(--portal-primary)}.portal-form-textarea{width:100%;min-height:100px;padding:12px 16px;border:2px solid #e2e8f0;border-radius:var(--portal-radius);font-size:14px;color:var(--portal-text-primary);background:#fff;resize:vertical;outline:none;transition:all .2s ease;font-family:inherit}.portal-form-textarea:focus{border-color:var(--portal-primary)}.portal-priority-options{display:flex;gap:12px}.portal-priority-option{flex:1;padding:12px;border:2px solid #e2e8f0;border-radius:var(--portal-radius);background:#fff;cursor:pointer;text-align:center;transition:all .2s ease}.portal-priority-option:hover{border-color:#cbd5e1}.portal-priority-option.selected{border-color:var(--portal-primary);background:#0ea5e90d}.portal-priority-option.urgent.selected{border-color:var(--portal-danger);background:#ef44440d}.portal-priority-label{font-size:13px;font-weight:600;color:var(--portal-text-primary);display:block}.portal-priority-desc{font-size:11px;color:var(--portal-text-muted);margin-top:4px}.portal-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.portal-inquiry-type-options{display:flex;flex-wrap:wrap;gap:8px}.portal-inquiry-type-option{padding:8px 16px;border:2px solid #e2e8f0;border-radius:20px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:var(--portal-text-secondary);transition:all .2s ease}.portal-inquiry-type-option:hover{border-color:#cbd5e1;background:#f8fafc}.portal-inquiry-type-option.selected{border-color:var(--portal-primary);background:#0ea5e914;color:var(--portal-primary)}.portal-form-error{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--portal-radius-sm);color:var(--portal-danger);font-size:13px;margin-bottom:20px}.portal-content-compact{padding:16px 20px;max-width:100%;height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden}.portal-top-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-shrink:0}.portal-top-row .portal-kpi-grid{flex:1;margin-bottom:0;gap:12px}.portal-top-row .portal-kpi-card{padding:10px 14px}.portal-top-row .portal-kpi-icon{width:32px;height:32px}.portal-top-row .portal-kpi-value{font-size:20px}.portal-top-row .portal-kpi-title{font-size:11px}.portal-top-row .portal-kpi-subtitle{font-size:11px;margin-top:4px}.portal-new-request-btn-inline{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--portal-gradient);color:#fff;border:none;border-radius:var(--portal-radius);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:var(--portal-shadow);transition:all .2s ease;flex-shrink:0}.portal-new-request-btn-inline:hover{transform:translateY(-2px);box-shadow:var(--portal-shadow-lg)}.portal-action-buttons{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.portal-inquiry-btn-inline{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:var(--portal-radius);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:var(--portal-shadow);transition:all .2s ease}.portal-inquiry-btn-inline:hover{transform:translateY(-2px);box-shadow:var(--portal-shadow-lg)}.portal-main-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;height:calc(100vh - 180px);min-height:560px;max-height:840px;overflow:hidden}.portal-main-grid.portal-main-grid-4col{grid-template-columns:1fr 1fr 1fr 1fr}.portal-main-grid.portal-main-grid-3col{grid-template-columns:1fr 1fr 1fr}.portal-card-compact{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden}.portal-card-compact .portal-card-header{padding:12px 16px;flex-shrink:0}.portal-card-compact .portal-card-title{font-size:13px}.portal-card-body-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 16px;min-height:0}.portal-empty-state-compact{text-align:center;padding:24px 16px;color:var(--portal-text-muted)}.portal-empty-state-compact p{margin:0;font-size:12px}.portal-schedule-item-compact{padding:10px 12px;margin-bottom:8px}.portal-schedule-item-compact .portal-schedule-date{width:40px}.portal-schedule-item-compact .portal-schedule-day{font-size:18px}.portal-schedule-item-compact .portal-schedule-month{font-size:10px}.portal-schedule-item-compact .portal-schedule-title{font-size:13px;margin-bottom:2px}.portal-schedule-item-compact .portal-schedule-info{font-size:11px;margin-bottom:0;gap:8px}.portal-schedule-item-compact .portal-schedule-info span{display:flex;align-items:center;gap:3px}.portal-request-item-compact{padding:10px 12px;margin-bottom:8px}.portal-request-item-compact .portal-request-header{margin-bottom:4px}.portal-request-item-compact .portal-request-id{font-size:12px}.portal-request-item-compact .portal-request-status{padding:2px 8px;font-size:10px}.portal-request-item-compact .portal-request-title{font-size:12px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-request-item-compact .portal-request-meta{font-size:11px;gap:8px}.portal-sla-row{margin-top:6px}.portal-request-item-compact .portal-sla-indicator{font-size:10px;padding:2px 6px}.portal-asset-table-compact th{padding:8px 12px;font-size:11px}.portal-asset-table-compact td{padding:8px 12px;font-size:12px}.portal-asset-table-compact .portal-asset-name{font-size:12px}.portal-asset-table-compact .portal-asset-model{font-size:10px}.portal-asset-table-compact .portal-asset-status{padding:2px 8px;font-size:10px;gap:4px}.portal-asset-table-compact .portal-uptime-bar{width:50px;height:5px}.portal-uptime-text{font-size:11px;font-weight:500}.portal-asset-table-compact .portal-asset-action-btn{padding:4px 10px;font-size:11px}.portal-table-empty{text-align:center;padding:32px 16px;color:var(--portal-text-muted)}.portal-pm-soon{color:#d97706;font-weight:600}.portal-pm-normal{color:var(--portal-text-secondary)}.portal-split-card{display:flex;flex-direction:column;height:100%}.portal-split-section{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.portal-split-header{padding:10px 14px!important;border-bottom:1px solid var(--portal-border-light)!important}.portal-split-header .portal-card-title{font-size:12px;gap:6px}.portal-split-body{flex:1;overflow-y:auto;padding:8px 10px}.portal-split-divider{height:1px;background:linear-gradient(90deg,transparent,var(--portal-border),transparent);margin:0;flex-shrink:0}.portal-mini-item{padding:8px 10px;background:var(--portal-bg-hover);border-radius:6px;margin-bottom:6px;cursor:pointer;transition:all .15s ease}.portal-mini-item:last-child{margin-bottom:0}.portal-mini-item:hover{background:#3b82f614}.portal-mini-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.portal-mini-id{font-size:10px;font-weight:600;color:var(--portal-primary)}.portal-mini-type{font-size:10px;font-weight:500;color:var(--portal-text-secondary);background:#64748b1a;padding:2px 6px;border-radius:4px}.portal-mini-status{font-size:9px;font-weight:500;padding:2px 6px;border-radius:4px}.portal-mini-status.pending{background:#f59e0b26;color:#d97706}.portal-mini-status.in-progress{background:#3b82f626;color:#2563eb}.portal-mini-status.completed{background:#22c55e26;color:#16a34a}.portal-mini-title{font-size:11px;font-weight:500;color:var(--portal-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.portal-mini-meta{font-size:10px;color:var(--portal-text-muted)}.portal-empty-state-mini{display:flex;align-items:center;justify-content:center;height:100%;min-height:60px;color:var(--portal-text-muted);font-size:11px}.portal-empty-state-mini p{margin:0}.portal-empty-state-mini svg{margin-right:8px;opacity:.5}.portal-requests-list{display:flex;flex-direction:column;gap:8px;padding:12px}.portal-request-item{padding:10px 12px;background:var(--portal-bg-hover, #f8fafc);border-radius:8px;cursor:pointer;transition:all .15s ease}.portal-request-item:hover{background:#3b82f614;transform:translate(2px)}.portal-request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.portal-request-id{font-size:11px;font-weight:600;color:var(--portal-primary)}.portal-request-status{font-size:10px;font-weight:500;padding:3px 8px;border-radius:4px}.portal-request-status.pending{background:#f59e0b26;color:#d97706}.portal-request-status.in-progress{background:#3b82f626;color:#2563eb}.portal-request-status.completed{background:#22c55e26;color:#16a34a}.portal-request-title{font-size:13px;font-weight:500;color:var(--portal-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.portal-request-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--portal-text-muted)}.portal-request-tech{color:var(--portal-text-secondary)}.portal-inquiries-list{display:flex;flex-direction:column;gap:8px;padding:12px}.portal-inquiry-item{padding:10px 12px;background:var(--portal-bg-hover, #f8fafc);border-radius:8px;cursor:pointer;transition:all .15s ease}.portal-inquiry-item:hover{background:#8b5cf614;transform:translate(2px)}.portal-inquiry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.portal-inquiry-type-badge{font-size:10px;font-weight:500;color:var(--portal-text-secondary);background:#64748b1f;padding:3px 8px;border-radius:4px}.portal-inquiry-status{font-size:10px;font-weight:500;padding:3px 8px;border-radius:4px}.portal-inquiry-status.pending{background:#f59e0b26;color:#d97706}.portal-inquiry-status.in-progress{background:#3b82f626;color:#2563eb}.portal-inquiry-status.completed{background:#22c55e26;color:#16a34a}.portal-inquiry-title{font-size:13px;font-weight:500;color:var(--portal-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.portal-inquiry-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--portal-text-muted)}.portal-inquiry-answered{color:var(--portal-success);font-weight:500}@media (max-width: 1600px){.portal-main-grid.portal-main-grid-4col{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.portal-main-grid.portal-main-grid-3col{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 1400px){.portal-main-grid{grid-template-columns:1fr 1fr 1fr}.portal-main-grid.portal-main-grid-4col{grid-template-columns:1fr 1fr}}@media (max-width: 1200px){.portal-kpi-grid{grid-template-columns:repeat(2,1fr)}.portal-main-grid,.portal-main-grid.portal-main-grid-4col,.portal-main-grid.portal-main-grid-3col{grid-template-columns:1fr 1fr}}@media (max-width: 992px){.portal-cards-grid{grid-template-columns:1fr}.portal-login-left{display:none}.portal-login-right{width:100%}.portal-main-grid,.portal-main-grid.portal-main-grid-4col,.portal-main-grid.portal-main-grid-3col{grid-template-columns:1fr}.portal-content-compact{height:auto;overflow:visible}.portal-top-row{flex-direction:column;align-items:stretch}}@media (max-width: 768px){.portal-kpi-grid{grid-template-columns:1fr}.portal-welcome-banner{flex-direction:column;gap:20px;text-align:center}.portal-header{padding:0 16px}.portal-content{padding:16px}.portal-new-request-btn{bottom:20px;right:20px;padding:14px 20px}}@keyframes portal-fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.portal-card,.portal-kpi-card{animation:portal-fadeIn .3s ease}.portal-modal{animation:portal-fadeIn .2s ease}.portal-kpi-card-clickable{cursor:pointer}.portal-kpi-card-clickable:hover{box-shadow:var(--portal-shadow-lg);transform:translateY(-3px);border-color:var(--portal-primary)}.portal-kpi-card-clickable:focus{outline:2px solid var(--portal-primary);outline-offset:2px}.drilldown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;opacity:0;animation:drilldownOverlayIn .25s ease forwards}@keyframes drilldownOverlayIn{to{opacity:1}}.drilldown-panel{position:fixed;top:0;right:0;bottom:0;width:1500px;max-width:100%;background:#fff;box-shadow:-10px 0 40px #00000026;z-index:301;display:flex;flex-direction:column;transform:translate(100%);animation:drilldownSlideIn .3s ease forwards}@keyframes drilldownSlideIn{to{transform:translate(0)}}.drilldown-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.drilldown-title{font-size:18px;font-weight:600;color:var(--portal-text-primary);display:flex;align-items:center;gap:10px}.drilldown-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:#f1f5f9;border-radius:8px;cursor:pointer;color:var(--portal-text-secondary);transition:all .2s ease}.drilldown-close-btn:hover{background:#e2e8f0;color:var(--portal-text-primary)}.drilldown-content{flex:1;overflow-y:auto;padding:24px}.drilldown-panel.drilldown-panel-wide{width:1680px}.drilldown-context-tabs{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);flex-shrink:0}.drilldown-context-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease;margin-bottom:-1px}.drilldown-context-tab:hover{color:var(--text-primary, #0f172a);background:var(--panel, white)}.drilldown-context-tab.active{color:var(--accent, #0ea5e9);border-bottom-color:var(--accent, #0ea5e9);background:var(--panel, white)}.drilldown-content.drilldown-content-master-detail{padding:0;display:flex;flex-direction:column;overflow:hidden}.drilldown-master-detail{display:grid;grid-template-columns:1fr 2fr;flex:1;overflow:hidden;min-height:0}.drilldown-master{display:flex;flex-direction:column;border-right:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);overflow:hidden}.drilldown-master-header{padding:16px;border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0;display:flex;flex-direction:column;gap:12px}.drilldown-master-header h3{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0}.drilldown-master-search{position:relative}.drilldown-master-search input{width:100%;padding:8px 12px 8px 36px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:13px;background:var(--panel, white);color:var(--text-primary, #0f172a);outline:none;transition:border-color .2s ease}.drilldown-master-search input:focus{border-color:var(--accent, #0ea5e9)}.drilldown-master-search input::-moz-placeholder{color:var(--text-muted, #94a3b8)}.drilldown-master-search input::placeholder{color:var(--text-muted, #94a3b8)}.drilldown-master-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted, #94a3b8)}.drilldown-master-list{flex:1;overflow-y:auto;padding:8px}.drilldown-master-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .15s ease;background:transparent;margin-bottom:4px}.drilldown-master-item:hover{background:var(--panel, white)}.drilldown-master-item.selected{background:var(--panel, white);box-shadow:0 1px 3px #00000014;border-left:3px solid var(--accent, #0ea5e9);margin-left:0;padding-left:9px}.drilldown-master-item-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);flex-shrink:0}.drilldown-master-item.selected .drilldown-master-item-icon{background:#0ea5e91a;color:var(--accent, #0ea5e9)}.drilldown-master-item-content{flex:1;min-width:0}.drilldown-master-item-title{font-size:13px;font-weight:500;color:var(--text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drilldown-master-item-subtitle{font-size:12px;color:var(--text-secondary, #64748b);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drilldown-master-item-badge{font-size:11px;font-weight:500;padding:4px 8px;border-radius:12px;flex-shrink:0}.drilldown-detail{flex:1;overflow-y:auto;background:var(--panel, white)}.drilldown-detail-content{padding:24px}.drilldown-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted, #94a3b8);text-align:center;padding:48px}.drilldown-detail-empty-icon{width:64px;height:64px;border-radius:16px;background:var(--bg-secondary, #f8fafc);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.drilldown-detail-empty-title{font-size:15px;font-weight:500;color:var(--text-secondary, #64748b);margin-bottom:8px}.drilldown-detail-empty-desc{font-size:13px;color:var(--text-muted, #94a3b8)}.cross-ref-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border, #e2e8f0)}.cross-ref-title{font-size:12px;font-weight:600;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.cross-ref-buttons{display:flex;gap:8px;flex-wrap:wrap}.cross-ref-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--accent, #0ea5e9);background:#0ea5e914;border:1px solid rgba(14,165,233,.2);border-radius:6px;cursor:pointer;transition:all .15s ease}.cross-ref-btn:hover{background:#0ea5e926;border-color:#0ea5e94d}.drilldown-section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--portal-text-primary);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.equipment-drilldown{display:flex;flex-direction:column;gap:24px}.equipment-process-section{background:#f8fafc;border-radius:var(--portal-radius);padding:16px}.equipment-process-diagram-wrapper{overflow-x:auto;overflow-y:hidden;margin:0 -8px;padding:0 8px}.equipment-process-diagram-wrapper .customer-process-wrapper{min-width:1000px}.equipment-process-diagram-wrapper .customer-process-header{padding:0 0 12px}.equipment-process-diagram-wrapper .process-content{overflow:visible}.equipment-process-diagram-wrapper svg{max-width:100%;height:auto}.equipment-process-diagram{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;padding:16px 0}.process-step{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:50px}.process-node{width:32px;height:32px;border-radius:50%;background:#e2e8f0;border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#64748b;transition:all .2s ease}.process-node.active{background:var(--portal-primary);border-color:var(--portal-primary-dark);color:#fff}.process-label{font-size:9px;color:var(--portal-text-muted);text-align:center;max-width:50px;line-height:1.2}.process-connector{display:flex;align-items:center;color:#cbd5e1;margin-top:-10px}.equipment-list-section{flex:1}.equipment-table-wrapper{overflow-x:auto}.equipment-table{width:100%;border-collapse:collapse}.equipment-table th{text-align:left;padding:12px 14px;background:#f8fafc;font-size:11px;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}.equipment-table td{padding:14px;font-size:13px;color:var(--portal-text-primary);border-bottom:1px solid #f1f5f9}.equipment-table tbody tr{cursor:pointer;transition:background .15s ease}.equipment-table tbody tr:hover{background:#f8fafc}.equipment-table tbody tr.selected{background:#0ea5e914}.equipment-name-cell{font-weight:600}.equipment-model{font-size:11px;color:var(--portal-text-muted);margin-top:2px}.equipment-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500}.equipment-status-badge.active{background:#dcfce7;color:#16a34a}.equipment-status-badge.maintenance{background:#fef3c7;color:#d97706}.equipment-status-badge.inactive{background:#fef2f2;color:#dc2626}.equipment-health{display:flex;align-items:center;gap:8px}.equipment-health-bar{width:50px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.equipment-health-fill{height:100%;border-radius:3px;transition:width .3s ease}.equipment-health-fill.good{background:var(--portal-success)}.equipment-health-fill.warning{background:var(--portal-warning)}.equipment-health-fill.danger{background:var(--portal-danger)}.equipment-health-text{font-size:12px;font-weight:500}.equipment-detail-section{background:#f8fafc;border-radius:var(--portal-radius);padding:20px;border:1px solid #e2e8f0}.equipment-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.equipment-detail-name{font-size:16px;font-weight:600;color:var(--portal-text-primary)}.equipment-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.equipment-detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:11px;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.3px}.detail-value{font-size:13px;font-weight:500;color:var(--portal-text-primary)}.equipment-detail-actions{display:flex;gap:10px;padding-top:12px;border-top:1px solid #e2e8f0}.btn-equipment-action{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--portal-radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-equipment-action.primary{background:var(--portal-primary);color:#fff}.btn-equipment-action.primary:hover{background:var(--portal-primary-dark)}.btn-equipment-action.secondary{background:#e2e8f0;color:var(--portal-text-secondary)}.btn-equipment-action.secondary:hover{background:#cbd5e1}.contract-drilldown{display:flex;flex-direction:column;gap:28px}.contract-history-section{background:var(--bg-secondary, #f8fafc);border-radius:var(--portal-radius);padding:20px}.contract-timeline-horizontal{display:flex;gap:16px;overflow-x:auto;padding:8px 4px}.timeline-card{flex:0 0 auto;min-width:200px;background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);padding:16px;position:relative;transition:all .2s ease}.timeline-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.timeline-card-current{border-color:var(--portal-primary);background:linear-gradient(135deg,#0ea5e908,#0ea5e914)}.current-indicator{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--portal-primary);color:#fff;font-size:10px;font-weight:600;padding:3px 10px;border-radius:10px;white-space:nowrap}.timeline-card-tier{margin-bottom:10px}.tier-badge-sm{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.timeline-card-no{font-size:14px;font-weight:600;color:var(--portal-text-primary);margin-bottom:8px}.timeline-card-period{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--portal-text-secondary);margin-bottom:8px}.timeline-card-value{font-size:16px;font-weight:700;color:var(--portal-primary)}.timeline-card-note{font-size:11px;color:var(--portal-text-muted);font-style:italic;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border, #e2e8f0)}.contract-document-section{flex:1}.contract-tabs-modern{display:flex;gap:8px;margin-bottom:20px;background:var(--bg-secondary, #f1f5f9);padding:4px;border-radius:var(--portal-radius)}.contract-tab-modern{display:flex;align-items:center;gap:6px;flex:1;padding:10px 16px;font-size:13px;font-weight:500;color:var(--portal-text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;justify-content:center}.contract-tab-modern:hover{color:var(--text-primary, #0f172a);background:var(--panel-hover, rgba(255, 255, 255, .5))}.contract-tab-modern.active{color:var(--portal-primary, #0ea5e9);background:var(--panel, white);box-shadow:0 1px 3px #0000001a}.contract-tab-content-modern{min-height:320px}.contract-overview-modern{display:flex;flex-direction:column;gap:20px}.overview-header-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary, #f8fafc);border-radius:var(--portal-radius);padding:20px;border:1px solid var(--border, #e2e8f0)}.overview-header-left{display:flex;align-items:center;gap:16px}.tier-badge-large{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:700}.overview-contract-info{display:flex;flex-direction:column;gap:2px}.contract-no-label{font-size:11px;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.3px}.contract-no-value{font-size:15px;font-weight:600;color:var(--portal-text-primary)}.expiry-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-secondary, #f1f5f9);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}.expiry-badge.expiry-warning{background:#ef444426;color:var(--error, #dc2626)}.overview-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.overview-info-card{display:flex;align-items:flex-start;gap:14px;background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);padding:18px;transition:all .2s ease}.overview-info-card:hover{box-shadow:0 2px 8px #0000000f}.overview-info-card.highlight{background:linear-gradient(135deg,#0ea5e914,#14b8a60d);border-color:#0ea5e94d}.info-card-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #f1f5f9);border-radius:10px;color:var(--text-secondary, #64748b);flex-shrink:0}.overview-info-card.highlight .info-card-icon{background:#0ea5e926;color:var(--portal-primary, #0ea5e9)}.info-card-content{display:flex;flex-direction:column;gap:4px}.info-card-label{font-size:11px;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.3px}.info-card-value{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.info-card-value.large{font-size:18px;color:var(--portal-primary, #0ea5e9)}.visit-usage-card{background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);padding:20px}.visit-usage-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary, #0f172a);margin-bottom:16px}.visit-usage-content{display:flex;flex-direction:column;gap:12px}.visit-usage-numbers{display:flex;align-items:baseline;gap:6px}.visit-used{font-size:28px;font-weight:700;color:var(--portal-primary, #0ea5e9)}.visit-divider{font-size:20px;color:var(--text-muted, #94a3b8)}.visit-total{font-size:18px;font-weight:600;color:var(--text-secondary, #64748b)}.visit-remaining{font-size:13px;color:var(--text-muted, #94a3b8);margin-left:8px}.visit-progress-bar{height:10px;background:var(--border, #e2e8f0);border-radius:5px;overflow:hidden}.visit-progress-fill{height:100%;background:linear-gradient(90deg,var(--portal-primary) 0%,#38bdf8 100%);border-radius:5px;transition:width .5s ease}.visit-progress-fill.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.visit-usage-percent{font-size:12px;color:var(--text-muted, #94a3b8);text-align:right}.contract-terms-modern{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.terms-card{background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);overflow:hidden;transition:all .2s ease}.terms-card:hover{box-shadow:0 2px 8px #0000000f}.terms-card-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.terms-card-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.terms-card-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--portal-primary);border-radius:8px;color:#fff}.terms-card-icon.payment{background:#10b981}.terms-card-icon.renewal{background:#8b5cf6}.terms-card-icon.support{background:#f59e0b}.terms-card-content{padding:16px}.terms-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.terms-list li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--text-primary, #0f172a);line-height:1.5}.terms-list .check-icon{color:var(--success, #10b981);flex-shrink:0;margin-top:2px}.terms-list strong{color:var(--portal-primary, #0ea5e9)}.contract-sla-modern{display:flex;flex-direction:column;gap:20px}.sla-header-card{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#1e3a5f,#0f172a);border-radius:var(--portal-radius);padding:20px}.sla-header-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:12px;color:#fff}.sla-header-content h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#fff}.sla-header-content p{margin:0;font-size:12px;color:#ffffffb3}.sla-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.sla-summary-card{background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);padding:20px;text-align:center;transition:all .2s ease}.sla-summary-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.sla-summary-card.response{border-top:3px solid #3b82f6}.sla-summary-card.resolution{border-top:3px solid #10b981}.sla-summary-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;border-radius:50%;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.sla-summary-card.response .sla-summary-icon{background:#3b82f61a;color:#3b82f6}.sla-summary-card.resolution .sla-summary-icon{background:#10b9811a;color:#10b981}.sla-summary-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #94a3b8);margin-bottom:6px}.sla-summary-value{font-size:28px;font-weight:700;color:var(--text-primary, #0f172a);margin-bottom:4px}.sla-summary-card.response .sla-summary-value{color:#3b82f6}.sla-summary-card.resolution .sla-summary-value{color:#10b981}.sla-summary-desc{font-size:11px;color:var(--text-muted, #94a3b8)}.sla-detail-section{background:var(--panel, white);border:1px solid var(--border, #e2e8f0);border-radius:var(--portal-radius);padding:20px}.sla-detail-title{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 16px}.sla-table-modern-wrapper{overflow-x:auto}.sla-table-modern{width:100%;border-collapse:collapse}.sla-table-modern th{text-align:left;padding:12px 16px;background:var(--bg-secondary, #f8fafc);font-size:11px;font-weight:600;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border, #e2e8f0)}.sla-table-modern td{padding:14px 16px;font-size:13px;color:var(--text-primary, #0f172a);border-bottom:1px solid var(--border-light, #f1f5f9)}.sla-table-modern tbody tr:last-child td{border-bottom:none}.sla-table-modern tbody tr:hover{background:var(--bg-secondary, #f8fafc)}.sla-desc-cell{color:var(--text-secondary, #64748b)}.sla-time-cell{text-align:center}.priority-badge-modern{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600}.priority-badge-modern.critical{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626}.priority-badge-modern.high{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.priority-badge-modern.medium{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.priority-badge-modern.low{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.sla-guarantee-card{display:flex;align-items:flex-start;gap:14px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--portal-radius);padding:18px}.sla-guarantee-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--panel, white);border-radius:10px;color:var(--success, #10b981);flex-shrink:0}.sla-guarantee-content strong{display:block;font-size:13px;color:var(--success, #10b981);margin-bottom:4px}.sla-guarantee-content p{margin:0;font-size:12px;color:var(--text-secondary, #64748b);line-height:1.5}.contract-download-section{display:flex;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid var(--border, #e2e8f0)}.btn-contract-download{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--portal-primary);color:#fff;border:none;border-radius:var(--portal-radius);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-contract-download:hover{background:var(--portal-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e94d}.billing-drilldown{display:flex;flex-direction:column;gap:24px}.billing-summary-section{background:#f8fafc;border-radius:var(--portal-radius);padding:20px}.billing-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.billing-kpi-card{background:#fff;border-radius:var(--portal-radius-sm);padding:16px;text-align:center;border:1px solid #e2e8f0}.kpi-label{font-size:11px;color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.kpi-value{font-size:18px;font-weight:700;color:var(--portal-text-primary)}.kpi-value.warning{color:var(--portal-danger)}.billing-warning{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--portal-radius-sm);color:#dc2626;font-size:12px}.billing-history-section{flex:1}.billing-table-wrapper{overflow-x:auto;margin-bottom:16px}.billing-table{width:100%;border-collapse:collapse}.billing-table th{text-align:left;padding:12px 14px;background:#f8fafc;font-size:11px;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;border-bottom:1px solid #e2e8f0}.billing-table td{padding:12px 14px;font-size:13px;color:var(--portal-text-primary);border-bottom:1px solid #f1f5f9}.billing-table th.text-right,.billing-table td.text-right{text-align:right}.billing-table tbody tr{cursor:pointer;transition:background .15s ease}.billing-table tbody tr:hover{background:#f8fafc}.billing-table tbody tr.row-selected{background:#0ea5e914}.cell-invoice-no{font-weight:600;color:var(--portal-primary)}.cell-amount{font-weight:600}.invoice-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500}.invoice-status-badge.status-pending{background:#fef3c7;color:#d97706}.invoice-status-badge.status-paid{background:#dcfce7;color:#16a34a}.invoice-status-badge.status-overdue{background:#fef2f2;color:#dc2626}.invoice-status-badge.status-cancelled{background:#f3f4f6;color:#6b7280}.btn-view-invoice{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;color:var(--portal-text-secondary);transition:all .2s ease}.btn-view-invoice:hover{background:var(--portal-primary);color:#fff}.invoice-detail-section{background:#f8fafc;border-radius:var(--portal-radius);padding:20px;border:1px solid #e2e8f0}.invoice-document{background:#fff;border-radius:var(--portal-radius-sm);border:1px solid #e2e8f0;overflow:hidden}.invoice-header{padding:20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start}.invoice-title{font-size:18px;font-weight:700;color:var(--portal-text-primary);margin-bottom:8px}.invoice-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px}.meta-row{display:flex;gap:8px}.meta-label{font-size:12px;color:var(--portal-text-muted);min-width:60px}.meta-value{font-size:12px;font-weight:500;color:var(--portal-text-primary)}.meta-value.overdue{color:var(--portal-danger);font-weight:600}.invoice-items-wrapper{padding:20px}.invoice-items-table{width:100%;border-collapse:collapse}.invoice-items-table th{text-align:left;padding:10px 12px;background:#f8fafc;font-size:11px;font-weight:600;color:var(--portal-text-muted);text-transform:uppercase;border-bottom:1px solid #e2e8f0}.invoice-items-table td{padding:10px 12px;font-size:13px;color:var(--portal-text-primary);border-bottom:1px solid #f1f5f9}.invoice-items-table th.text-center,.invoice-items-table td.text-center{text-align:center}.invoice-items-table th.text-right,.invoice-items-table td.text-right{text-align:right}.item-part-no{font-size:11px;color:var(--portal-text-muted);margin-left:4px}.invoice-items-table tfoot td{border-bottom:none;font-size:13px}.invoice-items-table tfoot .subtotal-row td{padding-top:14px;border-top:2px solid #e2e8f0;color:var(--portal-text-secondary)}.invoice-items-table tfoot .tax-row td{color:var(--portal-text-secondary)}.invoice-items-table tfoot .total-row td{font-size:15px;font-weight:700;color:var(--portal-text-primary);padding-top:12px;border-top:1px solid #e2e8f0}.invoice-payment-info{padding:20px;background:#f8fafc;border-top:1px solid #e2e8f0}.payment-title{font-size:13px;font-weight:600;color:var(--portal-text-primary);margin-bottom:12px}.payment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px}.payment-item{display:flex;gap:8px}.payment-label{font-size:12px;color:var(--portal-text-muted);min-width:60px}.payment-value{font-size:12px;font-weight:500;color:var(--portal-text-primary)}.invoice-actions{display:flex;gap:10px;padding:16px 20px;border-top:1px solid #e2e8f0}.btn-download-invoice,.btn-pay-invoice{display:flex;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--portal-radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-download-invoice{background:#f1f5f9;color:var(--portal-text-secondary)}.btn-download-invoice:hover{background:#e2e8f0}.btn-pay-invoice{background:var(--portal-success);color:#fff}.btn-pay-invoice:hover{background:#16a34a}@media (prefers-color-scheme: dark){.portal-root{--portal-glass-bg: rgba(30, 41, 59, .95);--portal-glass-border: rgba(71, 85, 105, .3);--portal-card-bg: rgba(30, 41, 59, .9);--portal-card-hover: rgba(30, 41, 59, 1);--portal-text-primary: #f1f5f9;--portal-text-secondary: #94a3b8;--portal-text-muted: #64748b}.portal-dashboard{background:linear-gradient(180deg,#0f172a,#1e293b)}.portal-header{background:#1e293b;border-bottom-color:#334155}.portal-kpi-card,.portal-card{background:#1e293b;border-color:#334155}.portal-user-info{background:#334155}.portal-form-input,.portal-form-select,.portal-form-textarea{background:#1e293b;border-color:#475569;color:var(--portal-text-primary)}.portal-schedule-item,.portal-request-item,.portal-asset-table th{background:#334155}.drilldown-panel{background:#1e293b}.drilldown-header{border-bottom-color:#334155}.drilldown-close-btn{background:#334155;color:#94a3b8}.drilldown-close-btn:hover{background:#475569;color:#f1f5f9}.drilldown-section-title{border-bottom-color:#334155}.equipment-process-section,.contract-timeline-section,.billing-summary-section,.equipment-process-diagram-wrapper{background:#0f172a}.process-node{background:#334155;border-color:#475569;color:#94a3b8}.process-connector{color:#475569}.equipment-table th,.billing-table th,.contract-sla-table th,.invoice-items-table th{background:#0f172a;color:#94a3b8;border-bottom-color:#334155}.equipment-table td,.billing-table td,.contract-sla-table td,.invoice-items-table td{border-bottom-color:#334155}.equipment-table tbody tr:hover,.billing-table tbody tr:hover{background:#334155}.equipment-table tbody tr.selected,.billing-table tbody tr.row-selected{background:#0ea5e926}.equipment-detail-section,.invoice-detail-section{background:#0f172a;border-color:#334155}.timeline-content{background:#1e293b;border-color:#334155}.timeline-item.current .timeline-content{background:#0ea5e91a}.timeline-node{background:#1e293b;border-color:#475569}.contract-tabs{border-bottom-color:#334155}.contract-tab{color:#94a3b8}.contract-tab:hover{color:#f1f5f9}.contract-info-card{background:#0f172a}.billing-kpi-card,.invoice-document{background:#1e293b;border-color:#334155}.invoice-header{border-bottom-color:#334155}.invoice-payment-info{background:#0f172a;border-top-color:#334155}.invoice-actions{border-top-color:#334155}.btn-download-invoice{background:#334155;color:#94a3b8}.btn-download-invoice:hover{background:#475569}.btn-equipment-action.secondary,.btn-view-invoice{background:#334155;color:#94a3b8}.btn-equipment-action.secondary:hover,.btn-view-invoice:hover{background:#475569}.portal-modal-overlay{background:#000000b3}.portal-modal{background:#1e293b;box-shadow:0 25px 50px -12px #00000080}.portal-modal-header{border-bottom-color:#334155}.portal-modal-title{color:#f1f5f9}.portal-modal-close{background:#334155;color:#94a3b8}.portal-modal-close:hover{background:#475569;color:#f1f5f9}.portal-modal-footer{border-top-color:#334155}.portal-modal-btn.cancel{background:#334155;border-color:#475569;color:#94a3b8}.portal-modal-btn.cancel:hover{background:#475569;color:#f1f5f9}.portal-form-label{color:#e2e8f0}.portal-form-select,.portal-form-textarea{background:#0f172a;border-color:#475569;color:#f1f5f9}.portal-form-select:focus,.portal-form-textarea:focus{border-color:var(--portal-primary)}.portal-form-select option{background:#1e293b;color:#f1f5f9}.portal-priority-option{border-color:#475569;background:#0f172a}.portal-priority-option:hover{border-color:#64748b;background:#1e293b}.portal-priority-option.selected{border-color:var(--portal-primary);background:#0ea5e926}.portal-priority-option.urgent.selected{border-color:var(--portal-danger);background:#ef444426}.portal-priority-label{color:#f1f5f9}.portal-priority-desc{color:#64748b}.portal-inquiry-type-option{border-color:#475569;background:#0f172a;color:#94a3b8}.portal-inquiry-type-option:hover{border-color:#64748b;background:#1e293b}.portal-inquiry-type-option.selected{border-color:var(--portal-primary);background:#0ea5e933;color:#38bdf8}.portal-error-message,.portal-form-error{background:#ef444426;border-color:#ef44444d;color:#f87171}.portal-login-card{background:#1e293b;border-color:#334155}.portal-login-header{border-bottom-color:#334155}.portal-login-title{color:#f1f5f9}.portal-login-subtitle{color:#94a3b8}.portal-login-hint{background:#0ea5e91a;border-color:#0ea5e933}.portal-login-hint strong{color:#38bdf8}.portal-login-background{background:linear-gradient(180deg,#0f172a,#1e293b)}.portal-request-item,.portal-inquiry-item{background:#0f172a}.portal-request-item:hover{background:#3b82f626}.portal-inquiry-item:hover{background:#8b5cf626}.portal-request-title,.portal-inquiry-title{color:#f1f5f9}.portal-request-meta,.portal-inquiry-meta{color:#64748b}.portal-request-tech{color:#94a3b8}.portal-inquiry-type-badge{background:#64748b40;color:#94a3b8}.portal-request-status.pending,.portal-inquiry-status.pending{background:#f59e0b33;color:#fbbf24}.portal-request-status.in-progress,.portal-inquiry-status.in-progress{background:#3b82f633;color:#60a5fa}.portal-request-status.completed,.portal-inquiry-status.completed{background:#22c55e33;color:#4ade80}.portal-inquiry-answered{color:#4ade80}.portal-empty-state-mini{color:#64748b}}.contract-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.contract-detail-title-section{display:flex;align-items:center;gap:12px}.contract-detail-name{font-size:18px;font-weight:600;color:var(--text-primary, #0f172a);margin:0}.tier-badge-large{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600}.expiry-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.expiry-badge.expiry-warning{background:#ef44441a;color:#dc2626}.contract-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.contract-info-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-secondary, #f8fafc);border-radius:10px;border:1px solid var(--border, #e2e8f0)}.contract-info-card.highlight{background:linear-gradient(135deg,#0ea5e914,#14b8a60d);border-color:#0ea5e933}.contract-info-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--panel, white);color:var(--portal-primary, #0ea5e9);flex-shrink:0}.contract-info-content{display:flex;flex-direction:column;gap:4px}.contract-info-label{font-size:12px;color:var(--text-secondary, #64748b)}.contract-info-value{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.contract-info-value.large{font-size:18px;color:var(--portal-primary, #0ea5e9)}.contract-section-title{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 12px}.visit-usage-section{margin-bottom:20px}.visit-usage-card{background:var(--bg-secondary, #f8fafc);border-radius:10px;padding:16px;border:1px solid var(--border, #e2e8f0)}.visit-usage-numbers{display:flex;align-items:baseline;gap:4px;margin-bottom:10px}.visit-used{font-size:24px;font-weight:700;color:var(--portal-primary, #0ea5e9)}.visit-divider{font-size:18px;color:var(--text-muted, #94a3b8)}.visit-total{font-size:16px;font-weight:500;color:var(--text-primary, #0f172a)}.visit-remaining{font-size:13px;color:var(--text-secondary, #64748b);margin-left:8px}.visit-progress-bar{height:8px;background:var(--border, #e2e8f0);border-radius:4px;overflow:hidden;margin-bottom:8px}.visit-progress-fill{height:100%;background:var(--portal-primary, #0ea5e9);border-radius:4px;transition:width .3s ease}.visit-progress-fill.warning{background:var(--portal-warning, #f59e0b)}.visit-usage-percent{font-size:12px;color:var(--text-secondary, #64748b);text-align:right}.renewal-note-section{margin-bottom:20px}.renewal-note-text{font-size:14px;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);padding:12px 16px;border-radius:8px;border-left:3px solid var(--portal-primary, #0ea5e9);margin:0}.contract-actions{display:flex;gap:12px;margin-bottom:20px}.contract-action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.contract-action-btn.primary{background:var(--portal-primary, #0ea5e9);color:#fff}.contract-action-btn.primary:hover{background:var(--portal-primary-dark, #0284c7)}.billing-drilldown-wrapper{display:flex;flex-direction:column;height:100%}.billing-summary-header{padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.billing-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.billing-kpi-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--panel, white);border-radius:10px;border:1px solid var(--border, #e2e8f0)}.billing-kpi-card .kpi-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-secondary, #f1f5f9);color:var(--portal-primary, #0ea5e9)}.billing-kpi-card .kpi-content{display:flex;flex-direction:column}.billing-kpi-card .kpi-label{font-size:12px;color:var(--text-secondary, #64748b)}.billing-kpi-card .kpi-value{font-size:18px;font-weight:700;color:var(--text-primary, #0f172a)}.billing-kpi-card .kpi-value.warning{color:var(--portal-danger, #ef4444)}.billing-warning{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px;font-size:13px;color:#dc2626}.billing-status-filter{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.status-filter-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid var(--border, #e2e8f0);background:var(--panel, white);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.status-filter-btn:hover{border-color:var(--portal-primary, #0ea5e9);color:var(--portal-primary, #0ea5e9)}.status-filter-btn.active{background:var(--portal-primary, #0ea5e9);border-color:var(--portal-primary, #0ea5e9);color:#fff}.status-filter-btn.pending.active{background:#d97706;border-color:#d97706}.status-filter-btn.overdue.active{background:#dc2626;border-color:#dc2626}.status-filter-btn.paid.active{background:#16a34a;border-color:#16a34a}.invoice-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.invoice-detail-title-section{display:flex;flex-direction:column;gap:4px}.invoice-detail-name{font-size:18px;font-weight:600;color:var(--text-primary, #0f172a);margin:0}.invoice-detail-date{font-size:13px;color:var(--text-secondary, #64748b)}.invoice-status-badge-large{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600}.invoice-status-badge-large.status-paid{background:#22c55e1a;color:#16a34a}.invoice-status-badge-large.status-pending{background:#f59e0b1a;color:#d97706}.invoice-status-badge-large.status-overdue{background:#ef44441a;color:#dc2626}.invoice-status-badge-large.status-cancelled{background:#94a3b81a;color:#64748b}.invoice-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.invoice-info-card{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--bg-secondary, #f8fafc);border-radius:10px;border:1px solid var(--border, #e2e8f0)}.invoice-info-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--panel, white);color:var(--portal-primary, #0ea5e9);flex-shrink:0}.invoice-info-content{display:flex;flex-direction:column;gap:4px}.invoice-info-label{font-size:12px;color:var(--text-secondary, #64748b)}.invoice-info-value{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.invoice-info-value.large{font-size:18px;color:var(--portal-primary, #0ea5e9)}.invoice-info-value.overdue{color:#dc2626}.invoice-items-section{margin-bottom:20px}.invoice-section-title{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 12px}.invoice-items-wrapper{border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden}.invoice-items-table{width:100%;border-collapse:collapse;font-size:13px}.invoice-items-table th,.invoice-items-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border, #e2e8f0)}.invoice-items-table th{background:var(--bg-secondary, #f8fafc);font-weight:600;color:var(--text-secondary, #64748b);font-size:12px}.invoice-items-table td{color:var(--text-primary, #0f172a)}.invoice-items-table .text-center{text-align:center}.invoice-items-table .text-right{text-align:right}.invoice-items-table .item-part-no{font-size:11px;color:var(--text-muted, #94a3b8);margin-left:6px}.invoice-items-table tfoot tr:last-child td{border-bottom:none}.invoice-items-table .subtotal-row td{background:var(--bg-secondary, #f8fafc);font-weight:500}.invoice-items-table .tax-row td{background:var(--bg-secondary, #f8fafc)}.invoice-items-table .total-row td{background:linear-gradient(135deg,#0ea5e914,#14b8a60d);font-weight:700;font-size:14px;color:var(--portal-primary, #0ea5e9)}.invoice-payment-section{margin-bottom:20px}.invoice-payment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;background:var(--bg-secondary, #f8fafc);border-radius:10px;padding:16px;border:1px solid var(--border, #e2e8f0)}.invoice-payment-grid .payment-item{display:flex;flex-direction:column;gap:4px}.invoice-payment-grid .payment-label{font-size:12px;color:var(--text-secondary, #64748b)}.invoice-payment-grid .payment-value{font-size:14px;font-weight:500;color:var(--text-primary, #0f172a)}.invoice-actions{display:flex;gap:12px;margin-bottom:20px}.invoice-action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.invoice-action-btn.primary{background:var(--portal-primary, #0ea5e9);color:#fff}.invoice-action-btn.primary:hover{background:var(--portal-primary-dark, #0284c7)}.invoice-action-btn.secondary{background:var(--portal-success, #22c55e);color:#fff}.invoice-action-btn.secondary:hover{background:#16a34a}.process-drilldown-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden}.process-view-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--panel, white);border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0}.process-view-toggle{display:flex;gap:4px;background:var(--bg-secondary, #f1f5f9);padding:4px;border-radius:8px}.view-toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary, #64748b);font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.view-toggle-btn:hover{color:var(--text-primary, #0f172a)}.view-toggle-btn.active{background:var(--panel, white);color:var(--portal-primary, #0ea5e9);box-shadow:0 1px 3px #0000001a}.health-kpi-summary{display:flex;gap:12px}.health-kpi-item{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.health-kpi-item.critical{background:#ef44441a;color:#dc2626}.health-kpi-item.warning{background:#f59e0b1a;color:#d97706}.health-kpi-item.healthy{background:#22c55e1a;color:#16a34a}.health-kpi-item.avg{background:#3b82f61a;color:#2563eb}.process-diagram-view{flex:1;overflow:auto;padding:16px;background:var(--bg-secondary, #f8fafc)}.health-status-icon{flex-shrink:0}.health-status-icon.critical{color:#dc2626}.health-status-icon.warning{color:#d97706}.health-status-icon.healthy{color:#16a34a}.drilldown-master-item-badge.health-score{min-width:48px;text-align:center;font-weight:600}.drilldown-master-item-badge.health-score.healthy{background:#22c55e1a;color:#16a34a}.drilldown-master-item-badge.health-score.warning{background:#f59e0b1a;color:#d97706}.drilldown-master-item-badge.health-score.critical{background:#ef44441a;color:#dc2626}.drilldown-master-item-badge.no-data{background:#94a3b81a;color:#94a3b8}.health-detail{padding:20px}.health-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border, #e2e8f0)}.health-detail-title-section h3{font-size:18px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 4px}.health-detail-serial{font-size:13px;color:var(--text-secondary, #64748b)}.health-score-large{font-size:32px;font-weight:700;padding:8px 16px;border-radius:12px}.health-score-large.healthy{background:#22c55e1a;color:#16a34a}.health-score-large.warning{background:#f59e0b1a;color:#d97706}.health-score-large.critical{background:#ef44441a;color:#dc2626}.health-sensor-section{margin-bottom:24px}.health-sensor-section h4,.health-trend-section h4,.health-prediction-section h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 16px}.health-sensor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.health-sensor-item{background:var(--bg-secondary, #f8fafc);padding:12px;border-radius:8px}.health-sensor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.health-sensor-label{font-size:12px;color:var(--text-secondary, #64748b)}.health-sensor-value{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.health-sensor-threshold{font-size:11px;color:var(--text-muted, #94a3b8);margin-left:4px}.health-sensor-gauge{height:6px;background:var(--border, #e2e8f0);border-radius:3px;overflow:hidden}.health-gauge-fill{height:100%;border-radius:3px;transition:width .3s ease}.health-sensor-gauge.normal .health-gauge-fill{background:#22c55e}.health-sensor-gauge.warning .health-gauge-fill{background:#f59e0b}.health-sensor-gauge.critical .health-gauge-fill{background:#ef4444}.health-trend-section{margin-bottom:24px}.health-trend-chart{display:flex;gap:8px;background:var(--bg-secondary, #f8fafc);padding:16px;border-radius:8px}.health-trend-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:var(--text-muted, #94a3b8);padding-right:8px;min-width:30px}.health-trend-bars{flex:1;display:flex;gap:8px;align-items:flex-end;height:100px}.health-trend-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.health-trend-bar{width:100%;max-width:32px;border-radius:4px 4px 0 0;transition:height .3s ease}.health-trend-bar.healthy{background:#22c55e}.health-trend-bar.warning{background:#f59e0b}.health-trend-bar.critical{background:#ef4444}.health-trend-date{font-size:10px;color:var(--text-muted, #94a3b8)}.health-prediction-section{margin-bottom:24px}.health-prediction-card{background:var(--bg-secondary, #f8fafc);padding:16px;border-radius:12px;border:1px solid var(--border, #e2e8f0)}.health-prediction-main{display:flex;gap:24px;margin-bottom:16px}.health-prediction-item{flex:1}.health-prediction-item label{display:block;font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:4px}.health-prediction-date{font-size:16px;font-weight:600;color:#dc2626}.health-prediction-date small{font-size:12px;font-weight:400;color:var(--text-muted, #94a3b8);margin-left:4px}.health-prediction-confidence{font-size:16px;font-weight:600;color:var(--portal-primary, #0ea5e9)}.health-prediction-actions{margin-bottom:16px}.health-prediction-actions label{display:block;font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:8px}.health-prediction-actions ul{margin:0;padding-left:20px}.health-prediction-actions li{font-size:13px;color:var(--text-primary, #0f172a);margin-bottom:4px}.health-prediction-parts{margin-bottom:16px}.health-prediction-parts label{display:block;font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:8px}.health-parts-list{display:flex;flex-wrap:wrap;gap:8px}.health-part-tag{display:inline-block;padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:12px;color:var(--text-primary, #0f172a)}.health-action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;width:100%;justify-content:center}.health-action-btn.primary{background:var(--portal-primary, #0ea5e9);color:#fff}.health-action-btn.primary:hover{background:var(--portal-primary-dark, #0284c7)}.health-no-prediction{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:var(--bg-secondary, #f8fafc);border-radius:12px;text-align:center}.health-no-prediction svg{color:#22c55e;margin-bottom:12px}.health-no-prediction p{font-size:16px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 4px}.health-no-prediction small{font-size:13px;color:var(--text-secondary, #64748b)}.portal-kpi-grid.portal-kpi-grid-5{grid-template-columns:repeat(5,1fr)}.portal-kpi-icon.process{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.portal-kpi-badge.alert{background:#ef44441a;color:#dc2626;animation:pulse-alert 2s infinite}@keyframes pulse-alert{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 1280px){.portal-kpi-grid.portal-kpi-grid-5{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.portal-kpi-grid.portal-kpi-grid-5{grid-template-columns:repeat(2,1fr)}.process-view-header{flex-direction:column;gap:12px;align-items:stretch}.health-kpi-summary{flex-wrap:wrap;justify-content:center}}.drilldown-master-item-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.eq-health-score{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px}.eq-health-score.healthy{background:#22c55e1a;color:#16a34a}.eq-health-score.warning{background:#f59e0b1a;color:#d97706}.eq-health-score.critical{background:#ef44441a;color:#dc2626}.eq-wo-badge{display:inline-block;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:500;background:var(--primary, #0ea5e9);color:#fff;border-radius:3px}.text-error{color:#dc2626}.text-warning{color:#d97706}.text-success{color:#16a34a}.eq-detail-enhanced{padding:20px}.eq-detail-header-enhanced{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border, #e2e8f0)}.eq-detail-main-info{flex:1}.eq-detail-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.eq-detail-name{font-size:20px;font-weight:600;color:var(--text-primary, #0f172a);margin:0}.eq-detail-subtitle-row{display:flex;gap:16px}.eq-detail-model{font-size:14px;color:var(--text-secondary, #64748b)}.eq-detail-serial{font-size:13px;color:var(--text-tertiary, #94a3b8);font-family:monospace}.eq-health-card{display:flex;flex-direction:column;align-items:center;padding:16px 24px;border-radius:12px;min-width:100px}.eq-health-card.healthy{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border:1px solid rgba(34,197,94,.2)}.eq-health-card.warning{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border:1px solid rgba(245,158,11,.2)}.eq-health-card.critical{background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid rgba(239,68,68,.2)}.eq-health-score-display{display:flex;align-items:baseline}.eq-health-score-value{font-size:32px;font-weight:700}.eq-health-card.healthy .eq-health-score-value{color:#16a34a}.eq-health-card.warning .eq-health-score-value{color:#d97706}.eq-health-card.critical .eq-health-score-value{color:#dc2626}.eq-health-score-unit{font-size:16px;font-weight:500;color:var(--text-secondary, #64748b)}.eq-health-score-label{font-size:12px;color:var(--text-secondary, #64748b);margin-top:2px}.eq-health-prediction-mini{display:flex;align-items:center;gap:4px;margin-top:8px;padding:4px 8px;background:#ef44441a;border-radius:4px;font-size:11px;color:#dc2626}.eq-detail-two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.eq-detail-col{background:var(--bg-secondary, #f8fafc);border-radius:12px;padding:16px}.eq-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 16px}.eq-section-title svg{color:var(--primary, #0ea5e9)}.eq-info-list{display:flex;flex-direction:column;gap:12px}.eq-info-row{display:flex;justify-content:space-between;align-items:center}.eq-info-label{font-size:13px;color:var(--text-secondary, #64748b)}.eq-info-value{font-size:13px;font-weight:500;color:var(--text-primary, #0f172a)}.eq-metrics-grid{display:flex;flex-direction:column;gap:12px}.eq-metric-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--panel, white);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.eq-metric-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px}.eq-metric-icon.uptime{background:#22c55e1a;color:#16a34a}.eq-metric-icon.pm{background:#0ea5e91a;color:#0ea5e9}.eq-metric-icon.wo{background:#94a3b81a;color:#64748b}.eq-metric-icon.wo.active{background:#f59e0b1a;color:#d97706}.eq-metric-content{display:flex;flex-direction:column}.eq-metric-value{font-size:16px;font-weight:600;color:var(--text-primary, #0f172a)}.eq-metric-value.eq-pm-date{color:var(--primary, #0ea5e9)}.eq-metric-label{font-size:11px;color:var(--text-secondary, #64748b)}.eq-sensor-section{margin-bottom:24px}.eq-sensor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.eq-sensor-card{padding:12px;background:var(--panel, white);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.eq-sensor-card.warning{border-color:#f59e0b4d;background:#f59e0b05}.eq-sensor-card.critical{border-color:#ef44444d;background:#ef444405}.eq-sensor-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.eq-sensor-header svg{color:var(--text-secondary, #64748b)}.eq-sensor-card.warning .eq-sensor-header svg{color:#d97706}.eq-sensor-card.critical .eq-sensor-header svg{color:#dc2626}.eq-sensor-name{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b)}.eq-sensor-value-row{display:flex;align-items:baseline;gap:4px;margin-bottom:8px}.eq-sensor-current{font-size:18px;font-weight:600;color:var(--text-primary, #0f172a)}.eq-sensor-card.warning .eq-sensor-current{color:#d97706}.eq-sensor-card.critical .eq-sensor-current{color:#dc2626}.eq-sensor-threshold{font-size:12px;color:var(--text-tertiary, #94a3b8)}.eq-sensor-bar{height:4px;background:var(--border, #e2e8f0);border-radius:2px;overflow:hidden}.eq-sensor-bar-fill{height:100%;border-radius:2px;background:#16a34a;transition:width .3s ease}.eq-sensor-card.warning .eq-sensor-bar-fill{background:#d97706}.eq-sensor-card.critical .eq-sensor-bar-fill{background:#dc2626}.eq-prediction-alert{margin-bottom:24px;background:#ef444408;border:1px solid rgba(239,68,68,.2);border-radius:12px;overflow:hidden}.eq-prediction-alert-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;color:#dc2626;font-weight:600;font-size:14px}.eq-prediction-alert-content{padding:16px}.eq-prediction-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.eq-prediction-date{font-size:14px;color:var(--text-primary, #0f172a)}.eq-prediction-date strong{color:#dc2626}.eq-prediction-date span{color:var(--text-secondary, #64748b);margin-left:4px}.eq-prediction-confidence{font-size:13px;color:var(--text-secondary, #64748b)}.eq-prediction-actions-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.eq-prediction-actions-label{font-size:12px;color:var(--text-secondary, #64748b)}.eq-prediction-action-tag{padding:4px 10px;background:var(--bg-secondary, #f1f5f9);border-radius:4px;font-size:12px;color:var(--text-primary, #0f172a)}.eq-actions-row{display:flex;gap:12px;flex-wrap:wrap}.eq-action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.eq-action-btn.primary{background:var(--primary, #0ea5e9);color:#fff}.eq-action-btn.primary:hover{background:var(--primary-dark, #0284c7)}.eq-action-btn.secondary{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #0f172a);border:1px solid var(--border, #e2e8f0)}.eq-action-btn.secondary:hover{background:var(--border, #e2e8f0)}@media (max-width: 900px){.eq-detail-two-col{grid-template-columns:1fr}.eq-sensor-grid{grid-template-columns:repeat(2,1fr)}.eq-detail-header-enhanced{flex-direction:column}.eq-health-card{width:100%;flex-direction:row;justify-content:space-between;padding:12px 16px}.eq-health-prediction-mini{margin-top:0;margin-left:auto}}.eq-history-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.eq-history-block{background:var(--bg-secondary, #f8fafc);border-radius:12px;padding:16px;border:1px solid var(--border, #e2e8f0)}.eq-section-title .eq-history-count{margin-left:auto;padding:2px 8px;background:var(--primary, #0ea5e9);color:#fff;font-size:11px;font-weight:500;border-radius:10px}.eq-history-list{display:flex;flex-direction:column;gap:12px}.eq-history-item{background:var(--panel, white);border-radius:8px;padding:12px;border:1px solid var(--border, #e2e8f0);transition:all .2s}.eq-history-item:hover{box-shadow:0 2px 6px #0000000f}.eq-history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.eq-history-type{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;border-radius:4px}.eq-history-type.pm{background:#0ea5e91a;color:#0284c7}.eq-history-type.cm{background:#f59e0b1a;color:#d97706}.eq-history-type.inspection{background:#8b5cf61a;color:#7c3aed}.eq-history-type.calibration{background:#3b82f61a;color:#2563eb}.eq-history-type.overhaul{background:#ef44441a;color:#dc2626}.eq-history-date{font-size:12px;color:var(--text-secondary, #64748b)}.eq-history-desc{font-size:13px;color:var(--text-primary, #0f172a);margin:0 0 8px;line-height:1.5}.eq-history-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px}.eq-history-tech,.eq-history-hours{display:flex;align-items:center;gap:4px;color:var(--text-secondary, #64748b)}.eq-history-wo{padding:1px 6px;background:var(--bg-secondary, #f1f5f9);border-radius:3px;font-size:11px;color:var(--text-secondary, #64748b);font-family:monospace}.eq-history-result{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.eq-history-result.success{background:#22c55e1a;color:#16a34a}.eq-history-result.partial{background:#f59e0b1a;color:#d97706}.eq-history-result.failed{background:#ef44441a;color:#dc2626}.eq-history-empty{display:flex;align-items:center;justify-content:center;padding:24px;color:var(--text-tertiary, #94a3b8);font-size:13px}.eq-parts-table{overflow-x:auto}.eq-parts-table table{width:100%;border-collapse:collapse;font-size:13px}.eq-parts-table th,.eq-parts-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border, #e2e8f0)}.eq-parts-table th{background:var(--panel, white);font-weight:500;color:var(--text-secondary, #64748b);font-size:12px}.eq-parts-table tr:last-child td{border-bottom:none}.eq-parts-table tbody tr{background:var(--panel, white);transition:background .2s}.eq-parts-table tbody tr:hover{background:#0ea5e905}.eq-parts-date{font-size:12px;color:var(--text-secondary, #64748b);white-space:nowrap}.eq-parts-name{display:flex;flex-direction:column;gap:2px}.eq-parts-name-main{color:var(--text-primary, #0f172a);font-weight:500}.eq-parts-no{font-size:11px;color:var(--text-tertiary, #94a3b8);font-family:monospace}.eq-parts-qty{text-align:center;font-weight:500;color:var(--text-primary, #0f172a)}.eq-parts-reason{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.eq-parts-reason.worn{background:#f59e0b1a;color:#d97706}.eq-parts-reason.broken{background:#ef44441a;color:#dc2626}.eq-parts-reason.preventive{background:#0ea5e91a;color:#0284c7}.eq-parts-reason.upgrade{background:#8b5cf61a;color:#7c3aed}@media (max-width: 900px){.eq-history-section{grid-template-columns:1fr}}.remote-session-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:10000;display:flex;flex-direction:column;animation:rsm-fade-in .3s ease-out}@keyframes rsm-fade-in{0%{opacity:0}to{opacity:1}}.rsm-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}.rsm-header-left{display:flex;align-items:center;gap:12px}.rsm-session-badge{background:var(--error, #ef4444);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;animation:rsm-pulse 2s infinite}@keyframes rsm-pulse{0%,to{opacity:1}50%{opacity:.6}}.rsm-session-no{color:#ffffffe6;font-weight:600;font-size:14px}.rsm-asset-name{color:#fff9;font-size:13px}.rsm-header-center{display:flex;flex-direction:column;align-items:center;gap:6px}.rsm-step-indicator{display:flex;align-items:center;gap:6px;color:var(--primary, #3b82f6);font-size:13px;font-weight:500}.rsm-progress-bar{width:200px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.rsm-progress-fill{height:100%;background:var(--primary, #3b82f6);transition:width .5s ease}.rsm-header-right{display:flex;align-items:center;gap:8px}.rsm-header-btn{background:#ffffff1a;border:none;color:#fffc;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.rsm-header-btn:hover{background:#fff3;color:#fff}.rsm-content{flex:1;display:flex;padding:20px;gap:20px;overflow:hidden}.rsm-video-area{flex:1;display:flex;gap:16px}.rsm-video-main{flex:1;position:relative;border-radius:12px;overflow:hidden}.rsm-video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.rsm-video-placeholder.remote{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:12px}.rsm-video-label{position:absolute;top:12px;left:12px;background:#0009;color:#fffc;font-size:11px;padding:4px 10px;border-radius:4px}.rsm-equipment-visual{display:flex;flex-direction:column;align-items:center;gap:16px}.rsm-equipment-icon{width:120px;height:120px;background:#ffffff0d;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff6}.rsm-equipment-name{color:#ffffffe6;font-size:18px;font-weight:600}.rsm-equipment-status{display:flex;align-items:center;gap:6px;font-size:13px}.rsm-equipment-status .status-issue{color:var(--warning, #f59e0b);display:flex;align-items:center;gap:4px}.rsm-equipment-status .status-ok{color:var(--success, #22c55e);display:flex;align-items:center;gap:4px}.rsm-video-pip{position:absolute;bottom:16px;right:16px;width:160px;height:120px;border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.2)}.rsm-video-placeholder.local{background:linear-gradient(135deg,#374151,#1f2937)}.rsm-engineer-avatar{width:48px;height:48px;background:var(--primary, #3b82f6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px}.rsm-engineer-name{color:#fffc;font-size:11px;margin-top:6px}.rsm-ar-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:rsm-ar-appear .5s ease-out}@keyframes rsm-ar-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.rsm-ar-pointer{width:80px;height:80px;border:3px solid var(--primary, #3b82f6);border-radius:50%;animation:rsm-ar-pulse 1.5s infinite;margin:0 auto 16px}@keyframes rsm-ar-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.6}}.rsm-ar-guide{background:#3b82f6f2;padding:16px 24px;border-radius:12px;max-width:300px;text-align:center}.rsm-ar-title{color:#fffc;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.rsm-ar-content{color:#fff;font-size:14px;line-height:1.5}.rsm-diagnostic-panel{width:260px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;flex-direction:column}.rsm-panel-title{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);color:#ffffffe6;font-size:13px;font-weight:600}.rsm-diagnostic-list{flex:1;padding:12px;overflow-y:auto}.rsm-diagnostic-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;margin-bottom:6px;transition:all .3s}.rsm-diagnostic-item.pending{background:#ffffff05;color:#fff6}.rsm-diagnostic-item.checking{background:#3b82f626;color:var(--primary, #3b82f6)}.rsm-diagnostic-item.ok{background:#22c55e1a;color:var(--success, #22c55e)}.rsm-diagnostic-item.warning{background:#f59e0b1a;color:var(--warning, #f59e0b)}.rsm-diagnostic-item.error{background:#ef44441a;color:var(--error, #ef4444)}.rsm-diag-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.rsm-diag-icon .spin{animation:rsm-spin 1s linear infinite}@keyframes rsm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pending-dot{width:8px;height:8px;background:#ffffff4d;border-radius:50%}.rsm-diag-label{flex:1;font-size:12px}.rsm-diag-value{font-size:11px;opacity:.8}.rsm-chat-panel{width:320px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;flex-direction:column}.rsm-chat-messages{flex:1;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.rsm-chat-message{animation:rsm-msg-appear .3s ease-out}@keyframes rsm-msg-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rsm-msg-system{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0d;border-radius:8px;font-size:12px;color:#ffffffb3}.rsm-msg-icon{display:flex;align-items:center}.rsm-msg-engineer,.rsm-msg-customer,.rsm-msg-ai{padding:10px 12px;border-radius:12px;font-size:13px;line-height:1.4}.rsm-msg-engineer{background:var(--primary, #3b82f6);color:#fff;margin-left:40px;border-bottom-right-radius:4px}.rsm-msg-customer{background:#ffffff1a;color:#ffffffe6;margin-right:40px;border-bottom-left-radius:4px}.rsm-msg-ai{background:#a855f733;color:#ffffffe6;border-left:3px solid #a855f7}.rsm-msg-sender{display:block;font-size:10px;opacity:.7;margin-bottom:4px;font-weight:600}.rsm-msg-time{display:block;font-size:10px;color:#fff6;text-align:right;margin-top:4px}.rsm-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#ffffff08;border-top:1px solid rgba(255,255,255,.1)}.rsm-toolbar-left,.rsm-toolbar-right{display:flex;align-items:center;gap:12px}.rsm-toolbar-center{display:flex;align-items:center}.rsm-tool-btn{width:48px;height:48px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.rsm-tool-btn:hover{background:#fff3}.rsm-tool-btn.off{background:#ef44444d;color:var(--error, #ef4444)}.rsm-tool-btn.active{background:var(--primary, #3b82f6)}.rsm-end-call-btn{display:flex;align-items:center;gap:8px;padding:12px 32px;border-radius:30px;border:none;background:var(--error, #ef4444);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.rsm-end-call-btn:hover{background:#dc2626;transform:scale(1.02)}.rsm-complete-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:rsm-fade-in .5s ease-out}.rsm-complete-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px 60px;text-align:center;animation:rsm-scale-in .5s ease-out}@keyframes rsm-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.rsm-complete-icon{color:var(--success, #22c55e);margin-bottom:20px}.rsm-complete-card h3{color:#fff;font-size:24px;margin-bottom:12px}.rsm-complete-card p{color:#ffffffb3;font-size:14px;margin-bottom:24px;max-width:300px}.rsm-complete-stats{display:flex;gap:40px;justify-content:center;margin-bottom:32px}.rsm-stat{display:flex;flex-direction:column;gap:4px}.rsm-stat-label{color:#ffffff80;font-size:12px}.rsm-stat-value{color:#fff;font-size:18px;font-weight:600}.rsm-complete-btn{padding:12px 40px;border-radius:8px;border:none;background:var(--primary, #3b82f6);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.rsm-complete-btn:hover{background:#2563eb}.video-feed-container{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;background:#0a0a0a}.video-feed-video{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;transition:opacity .5s ease-in-out;z-index:1}.video-feed-video.loaded{opacity:1}.video-feed-video.hidden{opacity:0}.video-feed-canvas-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.video-feed-canvas-overlay.glitching{filter:brightness(1.2) contrast(1.1)}.video-feed-canvas{width:100%;height:100%;display:block}.video-feed-canvas.glitching{filter:brightness(1.2) contrast(1.1)}.video-feed-scanlines{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:3;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);animation:scanline-move 10s linear infinite}@keyframes scanline-move{0%{background-position:0 0}to{background-position:0 100px}}.video-feed-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;padding:12px;z-index:4}.video-feed-top-left{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:10px}.video-feed-label{background:#000000b3;color:#ffffffe6;font-size:11px;font-family:monospace;padding:4px 10px;border-radius:4px;letter-spacing:1px}.video-feed-rec{display:flex;align-items:center;gap:6px;background:#ef4444e6;color:#fff;font-size:10px;font-family:monospace;font-weight:700;padding:4px 8px;border-radius:4px}.rec-dot{width:8px;height:8px;background:#fff;border-radius:50%;animation:rec-blink 1s infinite}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.3}}.video-feed-top-right{position:absolute;top:12px;right:12px}.video-feed-signal{display:flex;align-items:center;gap:6px;background:#000000b3;padding:6px 10px;border-radius:4px}.signal-icon{color:var(--success, #22c55e)}.signal-icon.off{color:var(--error, #ef4444)}.signal-bars{display:flex;align-items:flex-end;gap:2px;height:16px}.signal-bar{width:4px;background:#fff3;border-radius:1px;transition:background .3s}.signal-bar.active{background:var(--success, #22c55e)}.video-feed-bottom{position:absolute;bottom:12px;left:12px}.video-feed-timestamp{background:#000000b3;color:#ffffffe6;font-size:12px;font-family:monospace;padding:4px 10px;border-radius:4px;letter-spacing:.5px}.video-feed-custom-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.rsm-equipment-overlay{position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.rsm-equipment-overlay .rsm-equipment-status{background:#000000b3;padding:8px 16px;border-radius:20px}.rsm-equipment-overlay .status-ok{color:var(--success, #22c55e);display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.rsm-equipment-overlay .status-issue{color:var(--warning, #f59e0b);display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.video-feed-custom-overlay .rsm-ar-overlay{position:relative;top:auto;left:auto;transform:none}.smart-service-center{height:100%;display:flex;flex-direction:column;background:var(--bg-secondary);overflow:hidden}.ssc-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.ssc-header-title{display:flex;align-items:center;gap:12px}.ssc-header-icon{width:28px;height:28px;color:var(--primary)}.ssc-header-title h1{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.ssc-header-actions{display:flex;gap:8px}.ssc-btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-secondary);cursor:pointer;transition:all .15s}.ssc-btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.ssc-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.ssc-kpi-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border-radius:8px}.ssc-kpi-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;color:#fff}.ssc-kpi-content{display:flex;flex-direction:column}.ssc-kpi-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.ssc-kpi-label{font-size:.75rem;color:var(--text-secondary)}.ssc-main{flex:1;display:flex;overflow:hidden}.ssc-customer-list{width:320px;min-width:320px;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ssc-customer-search{padding:12px;border-bottom:1px solid var(--border)}.ssc-customer-search input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem}.ssc-customer-search input::-moz-placeholder{color:var(--text-secondary)}.ssc-customer-search input::placeholder{color:var(--text-secondary)}.ssc-customer-items{flex:1;overflow-y:auto;padding:8px}.ssc-customer-item{padding:12px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer;transition:all .15s}.ssc-customer-item:hover{background:var(--bg-secondary)}.ssc-customer-item.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.ssc-customer-name{font-weight:600;color:var(--text-primary);margin-bottom:4px;display:flex;align-items:center;gap:6px}.ssc-customer-name svg{width:16px;height:16px;color:var(--text-secondary)}.ssc-customer-meta{font-size:.75rem;color:var(--text-secondary);margin-bottom:8px}.ssc-customer-badges{display:flex;flex-wrap:wrap;gap:6px}.ssc-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.ssc-badge.healthy{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-badge.warning{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.ssc-badge.critical{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.ssc-badge.session{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}.ssc-badge.request{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.ssc-detail{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--panel)}.ssc-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary)}.ssc-empty-state svg{opacity:.5}.ssc-tabs{display:flex;gap:4px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.ssc-tab{padding:8px 16px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.ssc-tab:hover{background:var(--panel);color:var(--text-primary)}.ssc-tab.active{background:var(--primary);color:#fff}.ssc-tab-content{flex:1;overflow-y:auto;padding:16px}.ssc-section{margin-bottom:20px}.ssc-section-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.ssc-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ssc-table th,.ssc-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.ssc-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-secondary)}.ssc-table td{color:var(--text-primary)}.ssc-table tbody tr:hover{background:var(--bg-secondary)}.ssc-table tbody tr.selected{background:color-mix(in srgb,var(--primary) 10%,transparent)}.ssc-status{display:inline-flex;align-items:center;gap:6px}.ssc-status-dot{width:8px;height:8px;border-radius:50%}.ssc-status-dot.healthy,.ssc-status-dot.operational{background:var(--success)}.ssc-status-dot.warning,.ssc-status-dot.maintenance{background:var(--warning)}.ssc-status-dot.critical,.ssc-status-dot.breakdown{background:var(--error)}.ssc-health-score{display:inline-flex;align-items:center;gap:6px;font-weight:600}.ssc-health-score.healthy{color:var(--success)}.ssc-health-score.warning{color:var(--warning)}.ssc-health-score.critical{color:var(--error)}.ssc-sensor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.ssc-sensor-item{padding:12px;background:var(--bg-secondary);border-radius:8px}.ssc-sensor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ssc-sensor-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.ssc-sensor-bar-fill{height:100%;border-radius:3px;transition:width .3s}.ssc-sensor-bar-fill.normal{background:var(--success)}.ssc-sensor-bar-fill.warning{background:var(--warning)}.ssc-sensor-bar-fill.critical{background:var(--error)}.ssc-trend-chart{height:120px;background:var(--bg-secondary);border-radius:8px;padding:12px;margin-bottom:16px}.ssc-prediction-panel{padding:16px;background:color-mix(in srgb,var(--warning) 10%,transparent);border:1px solid var(--warning);border-radius:8px;margin-bottom:16px}.ssc-prediction-panel.critical{background:color-mix(in srgb,var(--error) 10%,transparent);border-color:var(--error)}.ssc-prediction-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ssc-prediction-header svg{color:var(--warning)}.ssc-prediction-panel.critical .ssc-prediction-header svg{color:var(--error)}.ssc-prediction-title{font-weight:600;color:var(--text-primary)}.ssc-prediction-body{font-size:.875rem;color:var(--text-primary)}.ssc-prediction-row{display:flex;justify-content:space-between;margin-bottom:8px}.ssc-prediction-label{color:var(--text-secondary)}.ssc-prediction-value{font-weight:500}.ssc-prediction-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.ssc-prediction-actions h4{font-size:.75rem;color:var(--text-secondary);margin-bottom:8px}.ssc-prediction-actions ul{margin:0;padding-left:20px;font-size:.8125rem}.ssc-session-card{padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:12px}.ssc-session-no{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary)}.ssc-session-status{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.ssc-session-body{display:grid;grid-template-columns:200px 1fr;gap:16px}.ssc-session-video{aspect-ratio:16/9;background:#1a1a1a;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888;font-size:.75rem}.ssc-session-video svg{margin-bottom:8px}.ssc-session-info{font-size:.8125rem}.ssc-session-info-row{display:flex;margin-bottom:6px}.ssc-session-info-label{width:80px;color:var(--text-secondary)}.ssc-session-info-value{color:var(--text-primary)}.ssc-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:.75rem;cursor:pointer;transition:all .15s}.ssc-request-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:8px}.ssc-request-info{flex:1}.ssc-request-asset{font-weight:500;color:var(--text-primary);margin-bottom:4px}.ssc-request-desc{font-size:.75rem;color:var(--text-secondary)}.ssc-request-meta{display:flex;align-items:center;gap:12px}.ssc-priority{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600}.ssc-priority.critical{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.ssc-priority.high{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.ssc-priority.medium{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}.ssc-waiting-time{font-size:.75rem;color:var(--text-secondary)}.ssc-contract-card{padding:16px;background:var(--bg-secondary);border-radius:8px;margin-bottom:16px}.ssc-contract-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ssc-contract-no{font-weight:600;color:var(--text-primary)}.ssc-contract-tier{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.ssc-contract-tier.premium{background:linear-gradient(135deg,gold,#ffb347);color:#1a1a1a}.ssc-contract-tier.standard{background:var(--primary);color:#fff}.ssc-contract-tier.basic{background:var(--text-secondary);color:#fff}.ssc-contract-body{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;font-size:.8125rem}.ssc-contract-row{display:flex;justify-content:space-between}.ssc-contract-label{color:var(--text-secondary)}.ssc-contract-value{color:var(--text-primary);font-weight:500}.ssc-stats-row{display:flex;gap:16px;padding:12px;background:var(--bg-secondary);border-radius:8px}.ssc-stat-item{flex:1;text-align:center}.ssc-tab-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);text-align:center}.ssc-tab-empty svg{margin-bottom:12px;opacity:.5}.ssc-health-list{display:flex;flex-direction:column;gap:8px}.ssc-health-item{display:flex;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:all .15s}.ssc-health-item:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.ssc-health-item.selected{border:1px solid var(--primary)}.ssc-health-item-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;font-size:.75rem;font-weight:700;color:#fff}.ssc-health-item-icon.healthy{background:var(--success)}.ssc-health-item-icon.warning{background:var(--warning)}.ssc-health-item-icon.critical{background:var(--error)}.ssc-health-item-content{flex:1}.ssc-health-item-name{font-weight:500;color:var(--text-primary);margin-bottom:2px}.ssc-health-item-sub{font-size:.75rem;color:var(--text-secondary)}.ssc-health-item-score{font-size:1.25rem;font-weight:700}.ssc-health-item-score.healthy{color:var(--success)}.ssc-health-item-score.warning{color:var(--warning)}.ssc-health-item-score.critical{color:var(--error)}.ssc-split-panel{display:grid;grid-template-columns:280px 1fr;gap:16px;height:100%}.ssc-split-left,.ssc-split-right{overflow-y:auto}.ssc-asset-detail-header{margin-bottom:16px}.ssc-asset-detail-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.ssc-asset-detail-serial{font-size:.8125rem;color:var(--text-secondary)}@media (max-width: 1200px){.ssc-kpi-row{grid-template-columns:repeat(2,1fr)}.ssc-split-panel{grid-template-columns:1fr}}@media (max-width: 900px){.ssc-main{flex-direction:column}.ssc-customer-list{width:100%;min-width:100%;max-height:250px;border-right:none;border-bottom:1px solid var(--border)}.ssc-customer-items{display:flex;overflow-x:auto;gap:8px;padding:8px 12px}.ssc-customer-item{min-width:200px;margin-bottom:0}}.ssc-asset-overview{display:flex;flex-direction:column;gap:16px}.ssc-asset-table-wrapper{overflow-x:auto}.ssc-asset-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ssc-asset-table th,.ssc-asset-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.ssc-asset-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-secondary)}.ssc-asset-table td{color:var(--text-primary)}.ssc-asset-table tbody tr{cursor:pointer;transition:background .15s}.ssc-asset-table tbody tr:hover{background:var(--bg-secondary)}.ssc-asset-table tbody tr.selected{background:color-mix(in srgb,var(--primary) 10%,transparent)}.ssc-asset-name-cell{display:flex;align-items:center;gap:8px}.ssc-asset-name-cell svg{color:var(--text-secondary)}.ssc-status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.ssc-status-badge.healthy{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-status-badge.warning{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.ssc-status-badge.critical{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.ssc-status-badge.disabled{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.ssc-asset-detail{padding:16px;background:var(--bg-secondary);border-radius:8px}.ssc-asset-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ssc-asset-detail-header h4{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;color:var(--text-primary)}.ssc-asset-detail-badges{display:flex;gap:8px}.ssc-asset-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.ssc-detail-item{display:flex;flex-direction:column;gap:4px}.ssc-detail-item.full{grid-column:span 3}.ssc-detail-item label{font-size:.7rem;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.ssc-detail-item span{font-size:.875rem;color:var(--text-primary)}.ssc-asset-specs{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.ssc-asset-specs h5{font-size:.75rem;color:var(--text-secondary);margin:0 0 12px}.ssc-specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ssc-spec-item{display:flex;flex-direction:column;gap:4px}.ssc-spec-item label{font-size:.7rem;color:var(--text-secondary)}.ssc-spec-item span{font-size:.8125rem;color:var(--text-primary)}.ssc-asset-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.ssc-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-primary);font-size:.8125rem;cursor:pointer;transition:all .15s}.ssc-btn:hover{background:var(--bg-secondary)}.ssc-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.ssc-btn.primary:hover{opacity:.9}.ssc-btn.secondary{background:var(--panel);border-color:var(--border)}.ssc-btn.text{background:transparent;border-color:transparent;color:var(--text-secondary)}.ssc-btn.text:hover{color:var(--text-primary)}.ssc-btn.danger{background:var(--error);border-color:var(--error);color:#fff}.ssc-btn.full{width:100%;justify-content:center}.ssc-predictive-tab{height:100%}.ssc-predictive-content{display:grid;grid-template-columns:360px 1fr;gap:16px;height:calc(100vh - 300px);min-height:400px}.ssc-health-list{display:flex;flex-direction:column;overflow:hidden}.ssc-health-list h4{margin:0 0 12px;font-size:.875rem;color:var(--text-primary)}.ssc-health-items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.ssc-health-item{padding:12px;border-radius:8px;background:var(--bg-secondary);cursor:pointer;transition:all .15s;border:1px solid transparent}.ssc-health-item:hover{background:color-mix(in srgb,var(--primary) 5%,var(--bg-secondary))}.ssc-health-item.selected{border-color:var(--primary)}.ssc-health-item.warning{border-left:3px solid var(--warning)}.ssc-health-item.critical{border-left:3px solid var(--error)}.ssc-health-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.status-icon{flex-shrink:0}.status-icon.healthy{color:var(--success)}.status-icon.warning{color:var(--warning)}.status-icon.critical{color:var(--error)}.ssc-health-asset-name{font-weight:500;color:var(--text-primary);font-size:.875rem}.ssc-health-item-score{display:flex;align-items:baseline;gap:4px}.ssc-health-value{font-size:1.125rem;font-weight:700}.ssc-health-prediction-badge{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:4px 8px;border-radius:4px;font-size:.7rem;background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.ssc-health-detail{overflow-y:auto;padding:16px;background:var(--bg-secondary);border-radius:8px}.ssc-health-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.ssc-health-detail-header h4{margin:0;font-size:1rem;color:var(--text-primary)}.ssc-asset-serial{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.ssc-health-score-large{font-size:2rem;font-weight:700}.ssc-sensor-section,.ssc-trend-section,.ssc-prediction-section{margin-bottom:20px}.ssc-sensor-section h5,.ssc-trend-section h5,.ssc-prediction-section h5{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:.8125rem;color:var(--text-secondary)}.ssc-sensor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ssc-sensor-item{padding:12px;background:var(--panel);border-radius:8px}.ssc-sensor-header{display:flex;justify-content:space-between;margin-bottom:8px}.ssc-sensor-label{font-size:.75rem;color:var(--text-secondary)}.ssc-sensor-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.ssc-sensor-threshold{font-size:.7rem;color:var(--text-secondary);margin-left:4px}.ssc-sensor-gauge{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.ssc-gauge-fill{height:100%;border-radius:3px;transition:width .3s}.ssc-sensor-gauge.normal .ssc-gauge-fill{background:var(--success)}.ssc-sensor-gauge.warning .ssc-gauge-fill{background:var(--warning)}.ssc-sensor-gauge.critical .ssc-gauge-fill{background:var(--error)}.ssc-trend-chart{display:flex;gap:12px;padding:16px;background:var(--panel);border-radius:8px}.ssc-trend-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:.7rem;color:var(--text-secondary)}.ssc-trend-bars{flex:1;display:flex;gap:8px;align-items:flex-end;height:80px}.ssc-trend-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.ssc-trend-bar{width:100%;max-width:24px;border-radius:3px 3px 0 0;transition:height .3s}.ssc-trend-bar.healthy{background:var(--success)}.ssc-trend-bar.warning{background:var(--warning)}.ssc-trend-bar.critical{background:var(--error)}.ssc-trend-date{margin-top:4px;font-size:.65rem;color:var(--text-secondary)}.ssc-prediction-card{padding:16px;background:var(--panel);border-radius:8px;border-left:3px solid var(--warning)}.ssc-prediction-main{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.ssc-prediction-item{display:flex;flex-direction:column;gap:4px}.ssc-prediction-item label{font-size:.75rem;color:var(--text-secondary)}.ssc-prediction-date{font-size:1rem;font-weight:600;color:var(--error)}.ssc-prediction-date small{font-size:.75rem;font-weight:400;color:var(--text-secondary);margin-left:4px}.ssc-prediction-confidence{font-size:1rem;font-weight:600;color:var(--text-primary)}.ssc-prediction-actions{margin-bottom:16px}.ssc-prediction-actions label{font-size:.75rem;color:var(--text-secondary);display:block;margin-bottom:8px}.ssc-prediction-actions ul{margin:0;padding-left:20px;font-size:.8125rem;color:var(--text-primary)}.ssc-prediction-actions li{margin-bottom:4px}.ssc-prediction-parts{margin-bottom:16px}.ssc-prediction-parts label{font-size:.75rem;color:var(--text-secondary);display:block;margin-bottom:8px}.ssc-parts-list{display:flex;flex-wrap:wrap;gap:6px}.ssc-part-tag{padding:4px 8px;border-radius:4px;font-size:.75rem;background:var(--bg-secondary);color:var(--text-primary)}.ssc-no-prediction{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--success);text-align:center}.ssc-no-prediction p{margin:12px 0 4px;font-weight:600}.ssc-no-prediction small{color:var(--text-secondary)}.ssc-health-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.ssc-health-detail-placeholder svg{margin-bottom:12px;opacity:.5}.ssc-remote-tab{display:flex;flex-direction:column;gap:20px}.ssc-remote-section{padding:16px;background:var(--bg-secondary);border-radius:8px}.ssc-remote-section h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.875rem;color:var(--text-primary)}.ssc-session-list{display:flex;flex-direction:column;gap:12px}.ssc-session-card{display:flex;gap:16px;padding:16px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.ssc-session-card.active{border-color:var(--success)}.ssc-session-video-mock{width:200px;aspect-ratio:16/9;background:#1a1a2e;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.ssc-video-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#666;font-size:.75rem}.ssc-video-controls{position:absolute;bottom:8px;display:flex;gap:8px}.ssc-video-btn{width:28px;height:28px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.ssc-video-btn:hover{background:#fff3}.ssc-session-info{flex:1}.ssc-session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ssc-session-no{font-weight:600;color:var(--text-primary)}.ssc-session-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.ssc-session-status.active{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ssc-session-meta{font-size:.8125rem;color:var(--text-primary)}.ssc-session-meta p{margin:0 0 4px}.ssc-session-meta strong{color:var(--text-secondary);font-weight:400;margin-right:8px}.ssc-session-participants{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.75rem;color:var(--text-secondary)}.ssc-participant{padding:2px 8px;border-radius:12px;background:var(--bg-secondary);color:var(--text-primary)}.ssc-participant.host{background:var(--primary);color:#fff}.ssc-session-actions{display:flex;gap:8px;margin-top:12px}.ssc-request-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.ssc-request-card{padding:12px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.ssc-request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ssc-priority-badge{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600}.ssc-priority-badge.critical{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.ssc-priority-badge.high{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.ssc-priority-badge.medium{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}.ssc-priority-badge.low{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-request-time{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary)}.ssc-request-body{margin-bottom:12px}.ssc-request-asset{font-weight:500;color:var(--text-primary);margin:0 0 4px}.ssc-request-issue{font-size:.8125rem;color:var(--text-secondary);margin:0}.ssc-request-actions{display:flex;gap:8px}.ssc-empty-section{display:flex;flex-direction:column;align-items:center;padding:24px;color:var(--text-secondary)}.ssc-empty-section svg{margin-bottom:8px;opacity:.5}.ssc-history-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ssc-history-table th,.ssc-history-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.ssc-history-table th{font-weight:600;color:var(--text-secondary);background:var(--panel)}.ssc-history-table td{color:var(--text-primary)}.ssc-result-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.ssc-result-badge.resolved{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-result-badge.escalated{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.ssc-history-tab{display:flex;flex-direction:column;gap:20px}.ssc-history-section{padding:16px;background:var(--bg-secondary);border-radius:8px}.ssc-history-section h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.875rem;color:var(--text-primary)}.ssc-wo-table-wrapper{overflow-x:auto}.ssc-wo-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ssc-wo-table th,.ssc-wo-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.ssc-wo-table th{font-weight:600;color:var(--text-secondary);background:var(--panel)}.ssc-wo-table td{color:var(--text-primary)}.ssc-wo-table tbody tr{cursor:pointer;transition:background .15s}.ssc-wo-table tbody tr:hover{background:var(--panel)}.ssc-wo-number{font-weight:500;margin-right:8px}.ssc-wo-priority{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:500}.ssc-wo-status{display:inline-flex;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500}.ssc-wo-status.completed{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-wo-status.in-progress{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}.ssc-wo-status.pending{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.ssc-contract-card{padding:16px;background:var(--panel);border-radius:8px}.ssc-contract-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ssc-contract-no{display:flex;align-items:center;gap:8px}.ssc-contract-no>span:first-child{font-weight:600;color:var(--text-primary)}.ssc-contract-tier{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff}.ssc-contract-status{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.ssc-contract-status.active{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.ssc-contract-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.ssc-contract-item{display:flex;flex-direction:column;gap:4px}.ssc-contract-item label{display:flex;align-items:center;gap:4px;font-size:.7rem;color:var(--text-secondary)}.ssc-contract-item span{font-size:.875rem;color:var(--text-primary)}.ssc-contract-item span small{font-size:.75rem;color:var(--text-secondary);margin-left:4px}.ssc-contract-visits-bar{display:flex;flex-direction:column;gap:6px}.ssc-visits-progress{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.ssc-visits-used{height:100%;background:var(--primary);border-radius:4px}.ssc-visits-label{font-size:.75rem;color:var(--text-secondary);text-align:right}.ssc-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.ssc-stat-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--panel);border-radius:8px}.ssc-stat-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.ssc-stat-content{display:flex;flex-direction:column}.ssc-stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.ssc-stat-label{font-size:.7rem;color:var(--text-secondary)}.ssc-stats-breakdown{display:flex;gap:16px;font-size:.8125rem}.ssc-breakdown-item{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.lot-list-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px}.lot-header{display:flex;justify-content:space-between;align-items:center}.lot-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.lot-title h1{margin:0;font-size:20px;font-weight:600}.lot-actions{display:flex;gap:8px;flex-shrink:0}.lot-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-refresh{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-refresh:hover{background:var(--bg-secondary);border-color:var(--primary)!important}.lot-summary-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}@media (max-width: 1200px){.lot-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.lot-summary-cards{grid-template-columns:repeat(2,1fr)}}.summary-card{display:flex;flex-direction:column;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary-card.active-status .card-label,.summary-card.active-status .card-value{color:#059669}.summary-card.hold-status .card-label,.summary-card.hold-status .card-value{color:#d97706}.summary-card.consumed-status .card-label,.summary-card.consumed-status .card-value{color:#6b7280}.summary-card.scrapped-status .card-label,.summary-card.scrapped-status .card-value{color:#991b1b}.lot-search-bar{display:flex;gap:12px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;align-items:center;flex-wrap:wrap;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.search-group select,.search-group input{padding:8px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary)}.search-group select:focus,.search-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.lot-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.lot-table-container{flex:1;overflow:auto;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.lot-table{width:100%;border-collapse:collapse;font-size:14px}.lot-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.lot-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);white-space:nowrap}.lot-table th.text-right{text-align:right}.lot-table th.text-center{text-align:center}.lot-table td{padding:12px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.lot-table td.text-right{text-align:right}.lot-table td.text-center{text-align:center}.lot-table tbody tr{cursor:pointer;transition:all .15s}.lot-table tbody tr:hover{background:#1565c0!important}.lot-table tbody tr:hover td,.lot-table tbody tr:hover .lot-no,.lot-table tbody tr:hover .origin-lot{color:#fff!important}.lot-table tbody tr:hover .lot-status-badge{background:#fff3!important;color:#fff!important}.lot-table tbody tr:hover .action-btn{color:#fffc!important}.lot-table tbody tr:hover .action-btn:hover{background:#ffffff26!important;color:#fff!important}.lot-table tbody tr.selected{background:#6366f126}.lot-table .lot-no{font-weight:500;color:var(--primary)}.lot-table .origin-lot{color:var(--text-secondary)}.lot-table .item-info .item-name{color:var(--text-primary)}.lot-table .item-info .item-code{font-size:12px;color:var(--text-secondary)}.lot-status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.lot-status-badge.status-green{background:#d1fae5;color:#059669}.lot-status-badge.status-orange{background:#ffedd5;color:#d97706}.lot-status-badge.status-gray{background:#f3f4f6;color:#6b7280}.lot-status-badge.status-red{background:#fee2e2;color:#dc2626}.lot-status-badge.status-blue{background:#dbeafe;color:#2563eb}.lot-status-badge.status-purple{background:#ede9fe;color:#7c3aed}.hold-icon{color:#d97706}.hold-icon.inactive{color:var(--text-secondary);opacity:.3}.action-btn:hover{background:var(--glass-bg)}.action-btn.view:hover{color:var(--primary)}.action-btn.trace:hover{color:#059669}.action-btn.hold:hover{color:#d97706}.lot-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.pagination-buttons button{padding:6px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.hold-list-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px}.hold-header{display:flex;justify-content:space-between;align-items:center}.hold-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.hold-title h1{margin:0;font-size:20px;font-weight:600}.hold-actions{display:flex;gap:8px;flex-shrink:0}.hold-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-create{background:#d97706;color:#fff}.btn-create:hover{background:#b45309}.hold-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 768px){.hold-summary-cards{grid-template-columns:repeat(1,1fr)}}.summary-card.hold-active .card-label,.summary-card.hold-active .card-value{color:#d97706}.summary-card.hold-active.active{border-color:#d97706;background:#d977060d}.summary-card.released .card-label,.summary-card.released .card-value{color:#059669}.summary-card.released.active{border-color:#059669;background:#0596690d}.hold-search-bar{display:flex;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;flex-wrap:wrap}.hold-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.hold-table{width:100%;border-collapse:collapse;font-size:14px}.hold-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.hold-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.hold-table th.text-center{text-align:center}.hold-table td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.hold-table td.text-center{text-align:center}.hold-table tbody tr{transition:background .15s}.hold-table tbody tr:hover{background:var(--bg-secondary)}.hold-table .lot-no{font-weight:500;color:var(--primary);cursor:pointer}.hold-table .lot-no:hover{text-decoration:underline}.hold-table .description{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.hold-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.hold-status-badge.status-holding{background:#ffedd5;color:#d97706}.hold-status-badge.status-released{background:#d1fae5;color:#059669}.reason-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.reason-badge.reason-red{background:#fee2e2;color:#dc2626}.reason-badge.reason-orange{background:#ffedd5;color:#d97706}.reason-badge.reason-yellow{background:#fef3c7;color:#d97706}.reason-badge.reason-blue{background:#dbeafe;color:#2563eb}.reason-badge.reason-gray{background:#f3f4f6;color:#6b7280}.disposition-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.disposition-badge.disp-green{background:#d1fae5;color:#059669}.disposition-badge.disp-yellow{background:#fef3c7;color:#d97706}.disposition-badge.disp-red{background:#fee2e2;color:#dc2626}.disposition-badge.disp-orange{background:#ffedd5;color:#c2410c}.disposition-info{display:flex;flex-direction:column;gap:4px}.disposition-info .release-date{font-size:11px;color:var(--text-secondary)}.issue-link{cursor:pointer;margin-right:8px}.issue-link.incident{color:var(--primary)}.issue-link.capa{color:#7c3aed}.issue-link:hover{text-decoration:underline}.action-btn.release:hover{color:#059669}.hold-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border)}.hold-modal{background:var(--panel);border-radius:12px;padding:24px;width:450px;max-width:90%;max-height:90vh;overflow-y:auto}.hold-modal h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.form-group label .required{color:#dc2626;margin-left:2px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary)}.form-group textarea{resize:vertical;min-height:80px}.btn-submit{background:#d97706;color:#fff}.btn-submit:hover{background:#b45309}.btn-submit.release{background:#059669}.btn-submit.release:hover{background:#047857}.expiry-alert-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px}.expiry-header{display:flex;justify-content:space-between;align-items:center}.expiry-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.expiry-title h1{margin:0;font-size:20px;font-weight:600}.expiry-actions{display:flex;gap:8px;flex-shrink:0}.expiry-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.expiry-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 1024px){.expiry-summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.expiry-summary-cards{grid-template-columns:repeat(1,1fr)}}.summary-card.warning-status .card-label,.summary-card.warning-status .card-value{color:#d97706}.summary-card.warning-status.active{border-color:#d97706;background:#d977060d}.summary-card.expired-status .card-label,.summary-card.expired-status .card-value{color:#dc2626}.summary-card.expired-status.active{border-color:#dc2626;background:#dc26260d}.summary-card.pending-status .card-label,.summary-card.pending-status .card-value{color:#6b7280}.summary-card.pending-status.active{border-color:#6b7280;background:#6b72800d}.expiry-search-bar{display:flex;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;flex-wrap:wrap}.expiry-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.expiry-table{width:100%;border-collapse:collapse;font-size:14px}.expiry-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.expiry-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.expiry-table th.text-center{text-align:center}.expiry-table td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.expiry-table td.text-center{text-align:center}.expiry-table tbody tr{transition:background .15s}.expiry-table tbody tr:hover{background:var(--bg-secondary)}.expiry-table .lot-no{font-weight:500;color:var(--primary);cursor:pointer}.expiry-table .lot-no:hover{text-decoration:underline}.alert-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.alert-badge.warning{background:#fef3c7;color:#d97706}.alert-badge.expired{background:#fee2e2;color:#dc2626}.days-remaining{font-weight:600}.days-remaining.critical{color:#dc2626}.days-remaining.warning{color:#d97706}.days-remaining.normal{color:#059669}.ack-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.ack-badge.acknowledged{background:#d1fae5;color:#059669}.ack-badge.pending{background:#f3f4f6;color:#6b7280}.action-btn.acknowledge:hover{color:#059669}.expiry-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border)}.pagination-buttons .page-info{padding:6px 12px;color:var(--text-secondary)}.acknowledge-modal{background:var(--panel);border-radius:12px;padding:24px;width:450px;max-width:90%}.acknowledge-modal h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.modal-info{padding:12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:16px;font-size:14px}.modal-info p{margin:4px 0}.modal-info .label{color:var(--text-secondary);margin-right:8px}.modal-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary);resize:vertical;min-height:80px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal-actions button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;cursor:pointer}.btn-cancel{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)!important}.btn-cancel:hover{background:var(--border)}.btn-submit{background:#059669;color:#fff}.btn-submit:hover{background:#047857}.capa-list-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px}.capa-header{display:flex;justify-content:space-between;align-items:center}.capa-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.capa-title h1{margin:0;font-size:20px;font-weight:600}.capa-actions{display:flex;gap:8px;flex-shrink:0}.capa-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-create{background:var(--primary);color:#fff}.btn-create:hover{background:#2563eb}.capa-summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1024px){.capa-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.capa-summary-cards{grid-template-columns:repeat(2,1fr)}}.summary-card{display:flex;flex-direction:column;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.summary-card:hover{border-color:var(--primary)}.summary-card.active{border-color:var(--primary);background:#3b82f60d}.summary-card .card-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.summary-card .card-value{font-size:24px;font-weight:700}.summary-card.total .card-value{color:var(--text-primary)}.summary-card.status-open .card-label,.summary-card.status-open .card-value{color:#3b82f6}.summary-card.status-open.active{border-color:#3b82f6;background:#3b82f60d}.summary-card.status-in-progress .card-label,.summary-card.status-in-progress .card-value{color:#d97706}.summary-card.status-in-progress.active{border-color:#d97706;background:#d977060d}.summary-card.status-verification .card-label,.summary-card.status-verification .card-value{color:#7c3aed}.summary-card.status-verification.active{border-color:#7c3aed;background:#7c3aed0d}.summary-card.status-closed .card-label,.summary-card.status-closed .card-value{color:#059669}.summary-card.status-closed.active{border-color:#059669;background:#0596690d}.capa-search-bar{display:flex;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;flex-wrap:wrap}.search-group{display:flex;flex-direction:row;align-items:center;gap:8px}.search-group label{font-size:14px;color:var(--text-secondary);font-weight:500;white-space:nowrap}.search-group select,.search-group input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary)}.search-group.keyword{flex:1;min-width:200px}.search-group.keyword input{width:100%}.btn-search:hover{background:#2563eb}.capa-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.capa-table{width:100%;border-collapse:collapse;font-size:14px}.capa-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.capa-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.capa-table th.text-center{text-align:center}.capa-table td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.capa-table td.text-center{text-align:center}.capa-table tbody tr{transition:background .15s}.capa-table tbody tr:hover{background:var(--bg-secondary)}.capa-table tbody tr.overdue{background:#ef44440d}.capa-table tbody tr.overdue:hover{background:#ef44441a}.capa-table .capa-no{font-weight:500;color:var(--primary);cursor:pointer}.capa-table .capa-no:hover{text-decoration:underline}.capa-table .capa-title-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.status-open{background:#dbeafe;color:#2563eb}.status-badge.status-in-progress{background:#fef3c7;color:#d97706}.status-badge.status-verification{background:#ede9fe;color:#7c3aed}.status-badge.status-closed{background:#d1fae5;color:#059669}.status-badge.status-cancelled{background:#f3f4f6;color:#6b7280}.type-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.type-badge.type-corrective{background:#ffedd5;color:#c2410c}.type-badge.type-preventive{background:#dbeafe;color:#2563eb}.priority-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.priority-badge.priority-critical{background:#fee2e2;color:#dc2626}.priority-badge.priority-high{background:#ffedd5;color:#c2410c}.priority-badge.priority-medium{background:#fef3c7;color:#d97706}.priority-badge.priority-low{background:#d1fae5;color:#059669}.source-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;background:#f3f4f6;color:#6b7280}.source-no{font-size:11px;color:var(--text-secondary);margin-top:4px}.overdue-icon{color:#dc2626;margin-left:4px;vertical-align:middle}.action-progress{font-weight:500}.action-progress.complete{color:#059669}.action-progress.incomplete{color:#d97706}.action-buttons{display:flex;align-items:center;justify-content:center;gap:4px}.action-btn{padding:4px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.action-btn:hover{background:var(--bg-secondary)}.action-btn.view:hover{color:#3b82f6}.action-btn.edit:hover{color:#059669}.capa-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border)}.pagination-info{font-size:14px;color:var(--text-secondary)}.pagination-buttons{display:flex;gap:4px}.pagination-buttons button{padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.pagination-buttons button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.pagination-buttons button:disabled{opacity:.5;cursor:not-allowed}.pagination-buttons button.active{background:var(--primary);border-color:var(--primary);color:#fff}.page-info{padding:6px 12px;color:var(--text-primary)}.capa-dashboard-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px;overflow:auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center}.dashboard-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.dashboard-title h1{margin:0;font-size:20px;font-weight:600}.dashboard-actions{display:flex;gap:8px;flex-shrink:0}.dashboard-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-refresh{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)!important}.btn-refresh:hover{background:var(--bg-secondary)}.spinning{animation:spin 1s linear infinite}.status-summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1024px){.status-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.status-summary-cards{grid-template-columns:repeat(2,1fr)}}.status-card{display:flex;flex-direction:column;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.status-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.status-card .card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;margin-bottom:12px}.status-card .card-label{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.status-card .card-value{font-size:28px;font-weight:700}.status-card.total .card-icon{background:#f3f4f6;color:#6b7280}.status-card.total .card-value{color:var(--text-primary)}.status-card.open .card-icon{background:#dbeafe;color:#3b82f6}.status-card.open .card-value{color:#3b82f6}.status-card.in-progress .card-icon{background:#fef3c7;color:#d97706}.status-card.in-progress .card-value{color:#d97706}.status-card.verification .card-icon{background:#ede9fe;color:#7c3aed}.status-card.verification .card-value{color:#7c3aed}.status-card.closed .card-icon{background:#d1fae5;color:#059669}.status-card.closed .card-value{color:#059669}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.panel-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary)}.panel-action{font-size:13px;color:var(--primary);cursor:pointer}.panel-action:hover{text-decoration:underline}.panel-content{padding:16px}.priority-list{display:flex;flex-direction:column;gap:12px}.priority-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border-radius:6px}.priority-label{display:flex;align-items:center;gap:8px}.priority-dot{width:10px;height:10px;border-radius:50%}.priority-dot.critical{background:#dc2626}.priority-dot.high{background:#f97316}.priority-dot.medium{background:#eab308}.priority-dot.low{background:#22c55e}.priority-name{font-size:14px;color:var(--text-primary)}.priority-count{font-size:18px;font-weight:600}.priority-count.critical{color:#dc2626}.priority-count.high{color:#f97316}.priority-count.medium{color:#eab308}.priority-count.low{color:#22c55e}.overdue-list{display:flex;flex-direction:column;gap:8px}.overdue-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:6px;cursor:pointer;transition:all .15s}.overdue-item:hover{background:#ef44441a;border-color:#ef44444d}.overdue-info{display:flex;flex-direction:column;gap:4px}.overdue-no{font-size:14px;font-weight:500;color:var(--primary)}.overdue-title{font-size:13px;color:var(--text-secondary);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overdue-days{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:#dc2626}.type-chart{display:flex;gap:24px;align-items:center;padding:16px 0}.type-item{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.type-circle{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.type-circle.corrective{background:#ffedd5;color:#c2410c;border:3px solid #f97316}.type-circle.preventive{background:#dbeafe;color:#2563eb;border:3px solid #3b82f6}.type-label{font-size:14px;color:var(--text-secondary)}.activity-list{display:flex;flex-direction:column;gap:8px}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:6px}.activity-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0}.activity-icon.created{background:#dbeafe;color:#3b82f6}.activity-icon.in-progress{background:#fef3c7;color:#d97706}.activity-icon.closed{background:#d1fae5;color:#059669}.activity-content{flex:1}.activity-text{font-size:14px;color:var(--text-primary)}.activity-text .capa-link{color:var(--primary);cursor:pointer}.activity-text .capa-link:hover{text-decoration:underline}.activity-time{font-size:12px;color:var(--text-secondary);margin-top:4px}.empty-state{text-align:center;padding:32px;color:var(--text-secondary)}.empty-state .icon{margin-bottom:8px}.coa-validation-list-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-secondary);gap:16px}.coa-validation-header{display:flex;justify-content:space-between;align-items:center}.coa-validation-title{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.coa-validation-title h1{margin:0;font-size:20px;font-weight:600}.coa-validation-actions{display:flex;gap:8px;flex-shrink:0}.coa-validation-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-config{background:var(--panel);color:var(--text-primary);border:1px solid var(--border)!important}.btn-config:hover{background:var(--bg-secondary)}.coa-validation-summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1200px){.coa-validation-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.coa-validation-summary-cards{grid-template-columns:repeat(2,1fr)}}.summary-card{display:flex;flex-direction:column;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;transition:all .2s}.summary-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.summary-card-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.summary-card-value{font-size:24px;font-weight:700;color:var(--text-primary)}.summary-card-value.pass{color:#22c55e}.summary-card-value.warning{color:#eab308}.summary-card-value.fail{color:#ef4444}.summary-card-value.rate-high{color:#22c55e}.summary-card-value.rate-medium{color:#eab308}.summary-card-value.rate-low{color:#ef4444}.coa-validation-search{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.search-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 1024px){.search-filters{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.search-filters{grid-template-columns:1fr}}.search-group{display:flex;flex-direction:column;gap:4px}.search-group label{font-size:12px;color:var(--text-secondary);font-weight:500}.search-group input,.search-group select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--panel);color:var(--text-primary);width:100%;box-sizing:border-box}.search-group input:focus,.search-group select:focus{outline:none;border-color:var(--primary)}.search-group input::-moz-placeholder{color:var(--text-secondary)}.search-group input::placeholder{color:var(--text-secondary)}.search-actions{display:flex;gap:8px}.btn-search{display:flex;align-items:center;gap:6px;padding:8px 20px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;height:38px}.btn-reset{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:14px;cursor:pointer;height:38px}.coa-validation-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.coa-validation-table{width:100%;border-collapse:collapse;font-size:14px}.coa-validation-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.coa-validation-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.coa-validation-table th.center{text-align:center}.coa-validation-table th.right{text-align:right}.coa-validation-table td{padding:12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.coa-validation-table td.center{text-align:center}.coa-validation-table td.right{text-align:right}.coa-validation-table tbody tr{cursor:pointer;transition:background .15s}.coa-validation-table tbody tr:hover{background:var(--bg-secondary)}.coa-validation-table .validation-no{font-weight:500;color:var(--primary)}.coa-validation-table .lot-no{color:var(--text-primary)}.coa-validation-table .matched{color:#22c55e;font-weight:500;font-family:Roboto Mono,monospace}.coa-validation-table .mismatched{color:#ef4444;font-weight:500;font-family:Roboto Mono,monospace}.coa-validation-table .match-rate{font-weight:600;font-family:Roboto Mono,monospace}.coa-validation-table .match-rate.high{color:#22c55e}.coa-validation-table .match-rate.medium{color:#eab308}.coa-validation-table .match-rate.low{color:#ef4444}.coa-validation-table .date-cell{color:var(--text-secondary);font-size:13px}.loading-cell,.empty-cell{text-align:center;color:var(--text-secondary);padding:48px!important}.result-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.coa-validation-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--border)}.coa-validation-pagination button{padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-primary);font-size:14px}.coa-validation-pagination button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.coa-validation-pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{padding:0 16px;color:var(--text-secondary);font-size:14px}.coa-validation-detail-page{display:flex;flex-direction:column;height:100%;padding:12px 16px;background:var(--bg-secondary);gap:12px}.detail-header{display:flex;align-items:center;justify-content:flex-start;gap:12px}.btn-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s;flex-shrink:0}.btn-back:hover{background:var(--bg-secondary);color:var(--text-primary)}.detail-title{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.detail-summary-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.summary-row{display:grid;gap:16px;padding:14px 20px}.summary-row+.summary-row{border-top:1px solid var(--border)}.summary-row--highlight{grid-template-columns:repeat(3,1fr);background:var(--panel)}.summary-row--info{grid-template-columns:repeat(4,1fr);background:var(--bg-secondary);padding:12px 20px}.summary-row--remarks{grid-template-columns:1fr;background:var(--panel);padding:12px 20px}@media (max-width: 900px){.summary-row--info{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.summary-row--highlight,.summary-row--info{grid-template-columns:1fr}}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item--center{align-items:center;text-align:center}.summary-item--full{grid-column:1 / -1}.summary-label{font-size:12px;color:var(--text-secondary);font-weight:500}.summary-value{font-size:14px;color:var(--text-primary);font-weight:500}.summary-value.large{font-size:24px;font-weight:700}.summary-value.match-high{color:#22c55e}.summary-value.match-medium{color:#eab308}.summary-value.match-low{color:#ef4444}.result-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600}.result-badge.pass{background:#dcfce7;color:#16a34a}.result-badge.warning{background:#fef3c7;color:#d97706}.result-badge.fail{background:#fee2e2;color:#dc2626}.result-badge svg{flex-shrink:0}.detail-filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-tab{display:flex;align-items:center;gap:4px;padding:6px 14px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.filter-tab:hover{border-color:var(--primary)}.filter-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.filter-count{font-size:12px;opacity:.8}.detail-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.detail-table{width:100%;border-collapse:collapse;font-size:14px}.detail-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.detail-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.detail-table th.center{text-align:center}.detail-table th.right{text-align:right}.detail-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.detail-table td.center{text-align:center}.detail-table td.right{text-align:right}.detail-table tbody tr{transition:background .15s}.detail-table tbody tr:hover{background:var(--bg-secondary)}.detail-table tbody tr.mismatch-row{background:#fef2f2}.detail-table tbody tr.mismatch-row:hover{background:#fee2e2}.detail-table .item-name{font-weight:500}.detail-table .value-cell{font-family:Roboto Mono,monospace}.detail-table .spec-cell{color:var(--text-secondary);font-family:Roboto Mono,monospace}.detail-table .deviation-cell{font-weight:600;font-family:Roboto Mono,monospace}.detail-table .deviation-cell.high{color:#ef4444}.detail-table .deviation-cell.medium{color:#f97316}.detail-table .deviation-cell.low{color:#eab308}.detail-table .deviation-cell.normal{color:#22c55e}.detail-table .remarks-cell{color:var(--text-secondary);font-size:13px}.match-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.match-badge.match{background:#dcfce7;color:#16a34a}.match-badge.mismatch{background:#fee2e2;color:#dc2626}.match-badge.skip{background:#f3f4f6;color:#6b7280}.empty-cell{text-align:center;color:var(--text-secondary);padding:48px!important}.loading-container{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.coa-config-page{display:flex;flex-direction:column;height:100%;padding:12px 16px;background:var(--bg-secondary);gap:12px}.config-header{display:flex;justify-content:space-between;align-items:center}.config-title{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.config-title svg{color:var(--text-secondary)}.btn-add-config{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;flex-shrink:0;transition:opacity .2s}.btn-add-config:hover{opacity:.9}.config-search-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.config-search-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:end}@media (max-width: 900px){.config-search-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.config-search-grid{grid-template-columns:1fr}}.config-field{display:flex;flex-direction:column;gap:4px}.config-field-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.config-field-input{width:100%;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-primary);transition:border-color .2s}.config-field-input:focus{outline:none;border-color:var(--primary)}.config-field-input::-moz-placeholder{color:var(--text-secondary);opacity:.7}.config-field-input::placeholder{color:var(--text-secondary);opacity:.7}.config-checkbox-wrapper{display:flex;align-items:center;height:36px}.config-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-primary)}.config-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.config-search-actions{display:flex;gap:8px}.btn-search{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:opacity .2s}.btn-search:hover{opacity:.9}.btn-reset{padding:8px 16px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px;transition:background .2s}.btn-reset:hover{background:var(--bg-secondary)}.config-table-container{flex:1;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px}.config-table{width:100%;border-collapse:collapse;font-size:13px}.config-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.config-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.config-table th.center{text-align:center}.config-table th.right{text-align:right}.config-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.config-table td.center{text-align:center}.config-table td.right{text-align:right}.config-table tbody tr{transition:background .15s}.config-table tbody tr:hover{background:var(--bg-secondary)}.config-table .name-cell{font-weight:500}.config-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.config-badge--mandatory{background:#fee2e2;color:#dc2626}.config-badge--optional{background:#f3f4f6;color:#6b7280}.config-badge--active{background:#dcfce7;color:#16a34a}.config-badge--inactive{background:#f3f4f6;color:#6b7280}.config-actions{display:flex;gap:6px;justify-content:center}.btn-action{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--panel);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.btn-action:hover{background:var(--bg-secondary)}.btn-action--danger:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.config-empty{padding:48px;text-align:center;color:var(--text-secondary)}.config-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.config-modal{background:var(--panel);border-radius:8px;padding:20px;width:560px;max-width:90%;max-height:90vh;overflow-y:auto}.config-modal-title{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.config-modal-body{display:flex;flex-direction:column;gap:14px}.config-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.config-modal-field{display:flex;flex-direction:column;gap:4px}.config-modal-field--full{grid-column:1 / -1}.config-modal-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.config-modal-label .required{color:#ef4444;margin-left:2px}.config-modal-input{width:100%;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-primary)}.config-modal-input:focus{outline:none;border-color:var(--primary)}.config-modal-checkbox-row{display:flex;gap:24px;padding:8px 0}.config-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.btn-cancel{padding:8px 16px;background:var(--panel);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px}.btn-cancel:hover{background:var(--bg-secondary)}.btn-save{padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500}.btn-save:hover{opacity:.9}.plm-dashboard-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-dashboard-page .page-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-dashboard-page .page-header-icon{color:var(--primary)}.plm-dashboard-page .page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.plm-dashboard-page .loading-container{display:flex;justify-content:center;align-items:center;padding:96px 0;color:var(--text-secondary)}.plm-dashboard-page .loading-container svg{color:var(--primary);margin-right:8px}.plm-dashboard-page .error-container{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px}.plm-dashboard-page .error-container .error-icon{color:#ef4444}.plm-dashboard-page .error-container .error-title{font-weight:600;color:#ef4444}.plm-dashboard-page .error-container .error-message{color:var(--text-secondary)}.plm-dashboard-page .summary-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:16px;margin-bottom:24px}@media (min-width: 640px){.plm-dashboard-page .summary-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.plm-dashboard-page .summary-grid{grid-template-columns:repeat(4,1fr)}}.plm-dashboard-page .summary-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:16px;border-left:4px solid;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-dashboard-page .summary-card.blue{border-left-color:#3b82f6}.plm-dashboard-page .summary-card.cyan{border-left-color:#06b6d4}.plm-dashboard-page .summary-card.red{border-left-color:#ef4444}.plm-dashboard-page .summary-card.green{border-left-color:#22c55e}.plm-dashboard-page .summary-card-inner{display:flex;align-items:center;justify-content:space-between}.plm-dashboard-page .summary-card-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:4px}.plm-dashboard-page .summary-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.plm-dashboard-page .summary-card-value.danger{color:#ef4444}.plm-dashboard-page .summary-card-value .unit{font-size:.875rem;font-weight:400;margin-left:4px}.plm-dashboard-page .summary-card-icon{width:40px;height:40px}.plm-dashboard-page .summary-card-icon.blue{color:#3b82f699}.plm-dashboard-page .summary-card-icon.cyan{color:#06b6d499}.plm-dashboard-page .summary-card-icon.red{color:#ef444499}.plm-dashboard-page .summary-card-icon.green{color:#22c55e99}.plm-dashboard-page .two-col-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}@media (min-width: 1024px){.plm-dashboard-page .two-col-grid{grid-template-columns:repeat(2,1fr)}}.plm-dashboard-page .card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-dashboard-page .card-header{padding:12px 16px;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center;background:var(--panel-2)}.plm-dashboard-page .card-title{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.plm-dashboard-page .card-title-icon{width:16px;height:16px;color:var(--text-secondary)}.plm-dashboard-page .card-title-icon.danger{color:#ef4444}.plm-dashboard-page .card-link{font-size:.875rem;color:var(--primary);background:none;border:none;cursor:pointer;padding:0}.plm-dashboard-page .card-link:hover{text-decoration:underline}.plm-dashboard-page .card-body{padding:16px}.plm-dashboard-page .badge-wrapper{display:flex;flex-wrap:wrap;gap:8px}.plm-dashboard-page .stage-badge,.plm-dashboard-page .progress-badge,.plm-dashboard-page .result-badge{display:inline-block;padding:4px 12px;border-radius:9999px;font-size:.875rem;font-weight:500}.plm-dashboard-page .stage-badge.NOT_ASSIGNED{background:#e5e7eb;color:#6b7280}.plm-dashboard-page .stage-badge.RFQ{background:#dbeafe;color:#1e40af}.plm-dashboard-page .stage-badge.NOMINATION,.plm-dashboard-page .stage-badge.NOM{background:#cffafe;color:#0e7490}.plm-dashboard-page .stage-badge.DEVELOP{background:#ede9fe;color:#6d28d9}.plm-dashboard-page .stage-badge.TOOLING{background:#ffedd5;color:#c2410c}.plm-dashboard-page .stage-badge.SAMPLE{background:#fef3c7;color:#b45309}.plm-dashboard-page .stage-badge.PPAP{background:#ecfccb;color:#4d7c0f}.plm-dashboard-page .stage-badge.SOP{background:#d1fae5;color:#047857}.plm-dashboard-page .stage-badge.MASS{background:#e0e7ff;color:#4338ca}.plm-dashboard-page .stage-badge.EOP,.plm-dashboard-page .progress-badge.NOT_STARTED{background:#f3f4f6;color:#4b5563}.plm-dashboard-page .progress-badge.IN_PROGRESS{background:#dbeafe;color:#1e40af}.plm-dashboard-page .progress-badge.DELAYED{background:#fee2e2;color:#991b1b}.plm-dashboard-page .progress-badge.ON_HOLD{background:#fef3c7;color:#b45309}.plm-dashboard-page .progress-badge.COMPLETED{background:#d1fae5;color:#047857}.plm-dashboard-page .progress-badge.CANCELLED{background:#f3f4f6;color:#6b7280}.plm-dashboard-page .result-badge.PASS{background:#d1fae5;color:#047857}.plm-dashboard-page .result-badge.FAIL{background:#fee2e2;color:#991b1b}.plm-dashboard-page .result-badge.CONDITIONAL{background:#fef3c7;color:#b45309}.plm-dashboard-page .result-badge.PENDING{background:#f3f4f6;color:#4b5563}.plm-dashboard-page .table-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.plm-dashboard-page .empty-text{color:var(--text-tertiary)}.plm-dashboard-page .data-table{width:100%;border-collapse:collapse}.plm-dashboard-page .data-table th{padding:8px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;background:#08090a66}.plm-dashboard-page .data-table td{padding:8px 16px;font-size:.875rem;color:var(--text-primary);border-top:1px solid var(--glass-border)}.plm-dashboard-page .data-table tbody tr{transition:background .15s}.plm-dashboard-page .data-table tbody tr:hover{background:#1565c0!important}.plm-dashboard-page .data-table tbody tr:hover td{color:#fff!important}.plm-dashboard-page .data-table tbody tr:hover .stage-badge,.plm-dashboard-page .data-table tbody tr:hover .progress-badge,.plm-dashboard-page .data-table tbody tr:hover .result-badge{background:#fff3!important;color:#fff!important}.plm-dashboard-page .data-table tbody tr.delayed{background:#ef44441a}.plm-dashboard-page .data-table tbody tr.delayed:hover{background:#1565c0!important}.plm-dashboard-page .link-cell{color:var(--primary);font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-dashboard-page .link-cell:hover{text-decoration:underline}.plm-dashboard-page .data-table tbody tr:hover .link-cell{color:#fff!important}.plm-dashboard-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-dashboard-page .text-secondary{color:var(--text-secondary)}.plm-dashboard-page .empty-row td{padding:16px;text-align:center;color:var(--text-tertiary)}.plm-dashboard-page .table-wrapper{overflow-x:auto}.plm-dashboard-page .title-sub{font-size:.875rem;font-weight:400;color:var(--text-secondary);margin-left:8px}.plm-dashboard-page .spinning{animation:spin 1s linear infinite}.plm-project-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-project-list-page .page-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:24px}.plm-project-list-page .page-header-icon{color:var(--primary)}.plm-project-list-page .page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.plm-project-list-page .page-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.plm-project-list-page .status-summary-cards{display:flex;gap:12px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px}.plm-project-list-page .summary-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:90px;padding:14px 18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .2s;border-left:3px solid var(--status-color, var(--glass-border));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-list-page .summary-card:hover{border-color:var(--primary);background:var(--panel-2);transform:translateY(-2px)}.plm-project-list-page .summary-card.active{border-color:var(--primary);background:#6366f126;box-shadow:0 4px 12px #6366f133}.plm-project-list-page .summary-card .summary-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.plm-project-list-page .summary-card .summary-count{font-size:20px;font-weight:600;color:var(--text-primary)}.plm-project-list-page .stage-info{font-size:12px;color:var(--text-tertiary);margin-bottom:16px}.plm-project-list-page .search-bar{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-list-page .search-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.plm-project-list-page .search-field{display:flex;flex-direction:column;gap:6px}.plm-project-list-page .search-field label{font-size:12px;color:var(--text-secondary);font-weight:500}.plm-project-list-page .search-field select,.plm-project-list-page .search-field input{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:14px;background:var(--panel-2);color:var(--text-primary);min-width:150px;transition:all .2s}.plm-project-list-page .search-field select:focus,.plm-project-list-page .search-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.plm-project-list-page .search-field.keyword{flex:1;min-width:200px}.plm-project-list-page .search-field.keyword input{width:100%}.plm-project-list-page .search-actions{display:flex;gap:8px}.plm-project-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.plm-project-list-page .btn-search:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.plm-project-list-page .btn-refresh{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-list-page .btn-refresh:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.plm-project-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-list-page .data-table{width:100%;border-collapse:collapse}.plm-project-list-page .data-table th,.plm-project-list-page .data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.plm-project-list-page .data-table th{background:#08090a66;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.plm-project-list-page .data-table tbody tr{cursor:pointer;transition:all .15s}.plm-project-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-project-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-project-list-page .data-table tbody tr:hover td .stage-badge,.plm-project-list-page .data-table tbody tr:hover td .progress-badge{background:#fff3!important;color:#fff!important}.plm-project-list-page .data-table tbody tr:last-child td{border-bottom:none}.plm-project-list-page .data-table tbody tr.delayed{background:#ef444414}.plm-project-list-page .data-table tbody tr.delayed:hover{background:#1565c0!important}.plm-project-list-page .data-table td{font-size:14px;color:var(--text-primary)}.plm-project-list-page .data-table td.project-no{font-weight:500;color:var(--primary);display:flex;align-items:center;gap:6px}.plm-project-list-page .data-table tbody tr:hover td.project-no{color:#fff!important}.plm-project-list-page .delay-icon{color:#ef4444}.plm-project-list-page .data-table tbody tr:hover .delay-icon{color:#fca5a5!important}.plm-project-list-page .data-table td.truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-project-list-page .data-table td.arrow-cell{width:40px;text-align:center;color:var(--text-tertiary)}.plm-project-list-page .stage-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:500;border-radius:6px;background:color-mix(in srgb,var(--badge-color, #6b7280) 20%,transparent);color:var(--badge-color, #6b7280)}.plm-project-list-page .progress-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:500;border-radius:6px}.plm-project-list-page .progress-badge.NOT_STARTED{background:#6b728033;color:#6b7280}.plm-project-list-page .progress-badge.IN_PROGRESS{background:#3b82f633;color:#3b82f6}.plm-project-list-page .progress-badge.DELAYED{background:#ef444433;color:#ef4444}.plm-project-list-page .progress-badge.ON_HOLD{background:#eab30833;color:#ca8a04}.plm-project-list-page .progress-badge.COMPLETED{background:#22c55e33;color:#22c55e}.plm-project-list-page .progress-badge.CANCELLED{background:#6b728033;color:#9ca3af}.plm-project-list-page .loading-cell,.plm-project-list-page .empty-cell{text-align:center;padding:48px 16px!important;color:var(--text-secondary)}.plm-project-list-page .loading-cell{display:flex;flex-direction:column;align-items:center;gap:12px}.plm-project-list-page .pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-list-page .page-info{font-size:14px;color:var(--text-secondary)}.plm-project-list-page .page-buttons{display:flex;gap:6px}.plm-project-list-page .page-buttons button{padding:8px 14px;background:var(--panel-2);border:1px solid var(--glass-border);border-radius:6px;font-size:14px;cursor:pointer;color:var(--text-primary);transition:all .2s}.plm-project-list-page .page-buttons button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.plm-project-list-page .page-buttons button:disabled{opacity:.5;cursor:not-allowed}.plm-project-list-page .page-buttons button.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.plm-project-list-page .spinning{animation:spin 1s linear infinite}.plm-project-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-project-detail-page .loading-state,.plm-project-detail-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;color:var(--text-secondary)}.plm-project-detail-page .error-state .btn-back{padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.plm-project-detail-page .error-state .btn-back:hover{background:var(--primary-dark, #4f46e5)}.plm-project-detail-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.plm-project-detail-page .page-header-left{display:flex;align-items:center;gap:12px}.plm-project-detail-page .btn-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-detail-page .btn-back:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.plm-project-detail-page .page-header-icon{color:var(--primary)}.plm-project-detail-page .page-header-info{display:flex;flex-direction:column;gap:4px}.plm-project-detail-page .page-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.plm-project-detail-page .page-subtitle{display:flex;align-items:center;gap:8px;font-size:.875rem}.plm-project-detail-page .project-no{color:var(--text-secondary);font-family:monospace}.plm-project-detail-page .page-header-actions{display:flex;gap:8px}.plm-project-detail-page .btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-detail-page .btn-icon:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.plm-project-detail-page .btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-project-detail-page .btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.plm-project-detail-page .stage-badge{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:6px;background:color-mix(in srgb,var(--badge-color, #6b7280) 20%,transparent);color:var(--badge-color, #6b7280)}.plm-project-detail-page .progress-badge{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:6px}.plm-project-detail-page .progress-badge.NOT_STARTED{background:#6b728033;color:#6b7280}.plm-project-detail-page .progress-badge.IN_PROGRESS{background:#3b82f633;color:#3b82f6}.plm-project-detail-page .progress-badge.DELAYED{background:#ef444433;color:#ef4444}.plm-project-detail-page .progress-badge.ON_HOLD{background:#eab30833;color:#ca8a04}.plm-project-detail-page .progress-badge.COMPLETED{background:#22c55e33;color:#22c55e}.plm-project-detail-page .progress-badge.CANCELLED{background:#6b728033;color:#9ca3af}.plm-project-detail-page .detail-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--glass-border);padding-bottom:0}.plm-project-detail-page .tab-btn{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;margin-bottom:-1px}.plm-project-detail-page .tab-btn:hover{color:var(--text-primary);background:var(--panel-2)}.plm-project-detail-page .tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.plm-project-detail-page .detail-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-project-detail-page .info-sections{padding:24px;display:flex;flex-direction:column;gap:28px}.plm-project-detail-page .info-section{padding-bottom:24px;border-bottom:1px solid var(--glass-border)}.plm-project-detail-page .info-section:last-child{border-bottom:none;padding-bottom:0}.plm-project-detail-page .section-title{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.plm-project-detail-page .section-title svg{color:var(--primary)}.plm-project-detail-page .info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.plm-project-detail-page .info-item{display:flex;flex-direction:column;gap:6px}.plm-project-detail-page .info-item label{font-size:.75rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.plm-project-detail-page .info-item span{font-size:.875rem;color:var(--text-primary)}.plm-project-detail-page .info-item span.link{color:var(--primary);cursor:pointer}.plm-project-detail-page .info-item span.link:hover{text-decoration:underline}.plm-project-detail-page .related-list{padding:0}.plm-project-detail-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-tertiary)}.plm-project-detail-page .empty-state svg{opacity:.5}.plm-project-detail-page .data-table{width:100%;border-collapse:collapse}.plm-project-detail-page .data-table th,.plm-project-detail-page .data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.plm-project-detail-page .data-table th{background:#08090a66;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.plm-project-detail-page .data-table tbody tr{cursor:pointer;transition:all .15s}.plm-project-detail-page .data-table tbody tr:hover{background:#1565c0!important}.plm-project-detail-page .data-table tbody tr:hover td{color:#fff!important}.plm-project-detail-page .data-table tbody tr:hover td .status-badge{background:#fff3!important;color:#fff!important}.plm-project-detail-page .data-table tbody tr:last-child td{border-bottom:none}.plm-project-detail-page .data-table td{font-size:.875rem;color:var(--text-primary)}.plm-project-detail-page .data-table td.link{color:var(--primary);font-weight:500}.plm-project-detail-page .data-table tbody tr:hover td.link{color:#fff!important}.plm-project-detail-page .status-badge{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:6px;background:#6b728033;color:#6b7280}.plm-project-detail-page .status-badge.IN_PROGRESS,.plm-project-detail-page .status-badge.TESTING{background:#3b82f633;color:#3b82f6}.plm-project-detail-page .status-badge.COMPLETED,.plm-project-detail-page .status-badge.APPROVED{background:#22c55e33;color:#22c55e}.plm-project-detail-page .status-badge.PENDING{background:#eab30833;color:#ca8a04}.plm-project-detail-page .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.plm-project-detail-page{padding:16px}.plm-project-detail-page .page-header{flex-direction:column;align-items:flex-start}.plm-project-detail-page .page-header-actions{width:100%;justify-content:flex-end}.plm-project-detail-page .info-grid{grid-template-columns:1fr}.plm-project-detail-page .detail-tabs{overflow-x:auto}}.plm-drawing-list-page{padding:16px;height:100%}.plm-drawing-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-drawing-list-page .page-header-title{display:flex;align-items:center;gap:12px}.plm-drawing-list-page .page-header-icon{color:#16a34a}.plm-drawing-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-drawing-list-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-drawing-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.plm-drawing-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;background:transparent}.plm-drawing-list-page .status-badge-item:hover{border-color:#16a34a;background:var(--bg-secondary)}.plm-drawing-list-page .status-badge-item.active{border-width:2px;border-color:#16a34a;background:#16a34a1a}.plm-drawing-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.plm-drawing-list-page .status-badge-value{font-size:13px;font-weight:700;color:var(--text-primary)}.plm-drawing-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.plm-drawing-list-page .main-container{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-drawing-list-page .search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0;flex-wrap:nowrap;overflow-x:auto}.plm-drawing-list-page .search-item{flex-shrink:0}.plm-drawing-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.plm-drawing-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.plm-drawing-list-page .search-input-wrapper .input{padding-left:28px;min-width:200px!important;width:200px!important}.plm-drawing-list-page .search-buttons{display:flex;gap:4px;margin-left:auto}.plm-drawing-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.plm-drawing-list-page .input:focus{outline:none;border-color:#16a34a}.plm-drawing-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.plm-drawing-list-page .input::placeholder{color:var(--text-tertiary)}.plm-drawing-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.plm-drawing-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-drawing-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.plm-drawing-list-page .btn-primary{background:#16a34a;color:#fff;border-color:#16a34a}.plm-drawing-list-page .btn-primary:hover:not(:disabled){background:#15803d}.plm-drawing-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-drawing-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.plm-drawing-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.plm-drawing-list-page .table-container{overflow:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch}.plm-drawing-list-page .data-table{width:100%;min-width:900px;border-collapse:collapse;font-size:12px}.plm-drawing-list-page thead{position:sticky;top:0;z-index:1}.plm-drawing-list-page th{padding:8px 10px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:36px;background:#08090a66;text-align:left}.plm-drawing-list-page th.center{text-align:center}.plm-drawing-list-page .data-table tbody tr{height:40px;background:transparent}.plm-drawing-list-page .data-table td{padding:6px 10px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;color:var(--text-primary)}.plm-drawing-list-page .data-table td.center{text-align:center}.plm-drawing-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-drawing-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-drawing-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.plm-drawing-list-page .data-table tbody tr:hover .link-cell{color:#fff!important;text-decoration:underline}.plm-drawing-list-page .data-table tbody tr:hover .icon-btn{color:#fff!important}.plm-drawing-list-page .link-cell{color:#16a34a;font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-drawing-list-page .link-cell:hover{text-decoration:underline}.plm-drawing-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-drawing-list-page .text-secondary{color:var(--text-secondary)}.plm-drawing-list-page .text-muted{color:var(--text-tertiary)}.plm-drawing-list-page .status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap}.plm-drawing-list-page .status-badge.DRAFT{background:#9ca3af33;color:#9ca3af}.plm-drawing-list-page .status-badge.IN_REVIEW{background:#fbbf2433;color:#fcd34d}.plm-drawing-list-page .status-badge.APPROVED{background:#3b82f633;color:#93c5fd}.plm-drawing-list-page .status-badge.RELEASED{background:#22c55e33;color:#86efac}.plm-drawing-list-page .status-badge.OBSOLETE{background:#ef444433;color:#fca5a5}.plm-drawing-list-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.plm-drawing-list-page .icon-btn:hover{background:var(--bg-secondary);color:#16a34a}.plm-drawing-list-page .icon-btn.download:hover{color:#2563eb}.plm-drawing-list-page .loading-row td,.plm-drawing-list-page .empty-row td{text-align:center;padding:48px 16px;color:var(--text-secondary)}.plm-drawing-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.plm-drawing-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.plm-drawing-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.plm-drawing-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.plm-drawing-list-page .pagination-info{font-size:12px;color:var(--text-secondary)}.plm-drawing-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.plm-drawing-list-page .page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s}.plm-drawing-list-page .page-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:#16a34a}.plm-drawing-list-page .page-btn.active{background:#16a34a;color:#fff;border-color:#16a34a}.plm-drawing-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-drawing-list-page .spinning{animation:spin 1s linear infinite}@media (max-width: 1024px){.plm-drawing-list-page .page-header{flex-direction:column;gap:12px}.plm-drawing-list-page .status-summary-row{width:100%;justify-content:flex-start}}@media (max-width: 768px){.plm-drawing-list-page{padding:8px}.plm-drawing-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.plm-drawing-list-page .search-item{width:100%}.plm-drawing-list-page .search-input-wrapper .input{width:100%!important;min-width:unset!important}.plm-drawing-list-page .search-buttons{margin-left:0;justify-content:flex-end}.plm-drawing-list-page .pagination{flex-direction:column;gap:8px}}.plm-test-management-page{padding:16px;height:100%}.plm-test-management-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-test-management-page .page-header-title{display:flex;align-items:center;gap:12px}.plm-test-management-page .page-header-icon{color:#8b5cf6}.plm-test-management-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-test-management-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-test-management-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-test-management-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-test-management-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:#8b5cf6}.plm-test-management-page .btn-sm{padding:6px 10px;font-size:12px;border-radius:4px}.plm-test-management-page .summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:16px}.plm-test-management-page .summary-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s}.plm-test-management-page .summary-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf626}.plm-test-management-page .summary-card .card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text-primary);font-weight:600;font-size:14px}.plm-test-management-page .summary-card.requests .card-header svg{color:#3b82f6}.plm-test-management-page .summary-card.reports .card-header svg{color:#0891b2}.plm-test-management-page .summary-card .card-total{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.plm-test-management-page .summary-card .card-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.plm-test-management-page .breakdown-item{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-size:12px;background:var(--bg-secondary)}.plm-test-management-page .breakdown-item .label{color:var(--text-secondary)}.plm-test-management-page .breakdown-item .count{font-weight:600;color:var(--text-primary)}.plm-test-management-page .breakdown-item.progress-10{background:#6b728026}.plm-test-management-page .breakdown-item.progress-30,.plm-test-management-page .breakdown-item.progress-35{background:#3b82f626}.plm-test-management-page .breakdown-item.progress-40{background:#f59e0b26}.plm-test-management-page .breakdown-item.progress-50{background:#8b5cf626}.plm-test-management-page .breakdown-item.progress-60{background:#ec489926}.plm-test-management-page .breakdown-item.progress-70{background:#22c55e26}.plm-test-management-page .breakdown-item.progress-99{background:#9ca3af26}.plm-test-management-page .breakdown-item.DRAFT{background:#6b728026}.plm-test-management-page .breakdown-item.REQUESTED{background:#3b82f626}.plm-test-management-page .breakdown-item.IN_PROGRESS{background:#eab30826}.plm-test-management-page .breakdown-item.COMPLETED{background:#22c55e26}.plm-test-management-page .breakdown-item.CANCELLED{background:#9ca3af26}.plm-test-management-page .breakdown-item.PASS{background:#22c55e26}.plm-test-management-page .breakdown-item.PASS svg{color:#22c55e}.plm-test-management-page .breakdown-item.FAIL{background:#ef444426}.plm-test-management-page .breakdown-item.FAIL svg{color:#ef4444}.plm-test-management-page .breakdown-item.CONDITIONAL{background:#fbbf2426}.plm-test-management-page .breakdown-item.CONDITIONAL svg{color:#fbbf24}.plm-test-management-page .breakdown-item.PENDING{background:#9ca3af26}.plm-test-management-page .breakdown-item.PENDING svg{color:#9ca3af}.plm-test-management-page .summary-card .card-action{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:12px;color:#8b5cf6;font-weight:500}.plm-test-management-page .recent-section{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;margin-bottom:16px}.plm-test-management-page .section-header{padding:12px 16px;border-bottom:1px solid var(--glass-border)}.plm-test-management-page .section-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.plm-test-management-page .recent-list{padding:8px}.plm-test-management-page .recent-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.plm-test-management-page .recent-item:hover{background:#1565c0}.plm-test-management-page .recent-item:hover .item-main,.plm-test-management-page .recent-item:hover .item-meta,.plm-test-management-page .recent-item:hover .item-arrow{color:#fff}.plm-test-management-page .recent-item:hover .result-badge{background:#fff3;color:#fff}.plm-test-management-page .recent-item:hover .result-badge svg{color:#fff}.plm-test-management-page .item-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.plm-test-management-page .report-no{font-size:13px;font-weight:500;color:#8b5cf6}.plm-test-management-page .report-title{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-test-management-page .item-meta{display:flex;align-items:center;gap:8px}.plm-test-management-page .result-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500}.plm-test-management-page .result-badge.PASS{background:#22c55e33;color:#86efac}.plm-test-management-page .result-badge.PASS svg{color:#86efac}.plm-test-management-page .result-badge.FAIL{background:#ef444433;color:#fca5a5}.plm-test-management-page .result-badge.FAIL svg{color:#fca5a5}.plm-test-management-page .result-badge.CONDITIONAL{background:#fbbf2433;color:#fcd34d}.plm-test-management-page .result-badge.CONDITIONAL svg{color:#fcd34d}.plm-test-management-page .result-badge.PENDING{background:#9ca3af33;color:#9ca3af}.plm-test-management-page .approved-date{font-size:11px;color:var(--text-tertiary)}.plm-test-management-page .item-arrow{color:var(--text-tertiary)}.plm-test-management-page .loading-state,.plm-test-management-page .empty-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--text-secondary);font-size:13px}.plm-test-management-page .quick-links{display:flex;gap:12px}.plm-test-management-page .quick-link-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s}.plm-test-management-page .quick-link-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.plm-test-management-page .quick-link-btn svg{color:#8b5cf6}.plm-test-management-page .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.plm-test-management-page{padding:8px}.plm-test-management-page .summary-cards{grid-template-columns:1fr}.plm-test-management-page .quick-links{flex-direction:column}}.plm-test-request-list-page{padding:16px;height:100%}.plm-test-request-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-test-request-list-page .page-header-title{display:flex;align-items:center;gap:12px}.plm-test-request-list-page .page-header-icon{color:#9333ea}.plm-test-request-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-test-request-list-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-test-request-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.plm-test-request-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;background:transparent}.plm-test-request-list-page .status-badge-item:hover{border-color:#9333ea;background:var(--bg-secondary)}.plm-test-request-list-page .status-badge-item.active{border-width:2px;border-color:#9333ea;background:#9333ea1a}.plm-test-request-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.plm-test-request-list-page .status-badge-value{font-size:13px;font-weight:700;color:var(--text-primary)}.plm-test-request-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.plm-test-request-list-page .main-container{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-test-request-list-page .search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0;flex-wrap:nowrap;overflow-x:auto}.plm-test-request-list-page .search-item{flex-shrink:0}.plm-test-request-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.plm-test-request-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.plm-test-request-list-page .search-input-wrapper .input{padding-left:28px;min-width:280px!important;width:280px!important}.plm-test-request-list-page .search-buttons{display:flex;gap:4px;margin-left:auto}.plm-test-request-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.plm-test-request-list-page .input:focus{outline:none;border-color:#9333ea}.plm-test-request-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.plm-test-request-list-page .input::placeholder{color:var(--text-tertiary)}.plm-test-request-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.plm-test-request-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-test-request-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.plm-test-request-list-page .btn-primary{background:#9333ea;color:#fff;border-color:#9333ea}.plm-test-request-list-page .btn-primary:hover:not(:disabled){background:#7e22ce}.plm-test-request-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-test-request-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.plm-test-request-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.plm-test-request-list-page .table-container{overflow:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch}.plm-test-request-list-page .data-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:12px}.plm-test-request-list-page thead{position:sticky;top:0;z-index:1}.plm-test-request-list-page th{padding:8px 10px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:36px;background:#08090a66;text-align:left}.plm-test-request-list-page th.center{text-align:center}.plm-test-request-list-page .data-table tbody tr{height:40px;background:transparent}.plm-test-request-list-page .data-table td{padding:6px 10px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;color:var(--text-primary)}.plm-test-request-list-page .data-table td.center{text-align:center}.plm-test-request-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-test-request-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-test-request-list-page .data-table tbody tr:hover .progress-badge{background:#fff3!important;color:#fff!important}.plm-test-request-list-page .data-table tbody tr:hover .link-cell{color:#fff!important;text-decoration:underline}.plm-test-request-list-page .data-table tbody tr:hover .icon-btn{color:#fff!important}.plm-test-request-list-page .link-cell{color:#9333ea;font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-test-request-list-page .link-cell:hover{text-decoration:underline}.plm-test-request-list-page .link-cell.blue{color:#3b82f6}.plm-test-request-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-test-request-list-page .text-secondary{color:var(--text-secondary)}.plm-test-request-list-page .text-muted{color:var(--text-tertiary)}.plm-test-request-list-page .progress-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap}.plm-test-request-list-page .progress-badge.DRAFT{background:#9ca3af33;color:#9ca3af}.plm-test-request-list-page .progress-badge.REQUESTED{background:#3b82f633;color:#93c5fd}.plm-test-request-list-page .progress-badge.IN_PROGRESS{background:#fbbf2433;color:#fcd34d}.plm-test-request-list-page .progress-badge.COMPLETED{background:#22c55e33;color:#86efac}.plm-test-request-list-page .progress-badge.CANCELLED{background:#ef444433;color:#fca5a5}.plm-test-request-list-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.plm-test-request-list-page .icon-btn:hover{background:var(--bg-secondary);color:#9333ea}.plm-test-request-list-page .loading-row td,.plm-test-request-list-page .empty-row td{text-align:center;padding:48px 16px;color:var(--text-secondary)}.plm-test-request-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.plm-test-request-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.plm-test-request-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.plm-test-request-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.plm-test-request-list-page .pagination-info{font-size:12px;color:var(--text-secondary)}.plm-test-request-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.plm-test-request-list-page .page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s}.plm-test-request-list-page .page-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:#9333ea}.plm-test-request-list-page .page-btn.active{background:#9333ea;color:#fff;border-color:#9333ea}.plm-test-request-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-test-request-list-page .spinning{animation:spin 1s linear infinite}@media (max-width: 1024px){.plm-test-request-list-page .page-header{flex-direction:column;gap:12px}.plm-test-request-list-page .status-summary-row{width:100%;justify-content:flex-start}}@media (max-width: 768px){.plm-test-request-list-page{padding:8px}.plm-test-request-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.plm-test-request-list-page .search-item{width:100%}.plm-test-request-list-page .search-input-wrapper .input{width:100%!important;min-width:unset!important}.plm-test-request-list-page .search-buttons{margin-left:0;justify-content:flex-end}.plm-test-request-list-page .pagination{flex-direction:column;gap:8px}}.plm-test-detail-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-primary)}.plm-loading-center,.plm-error-center{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary)}.plm-error-center svg{color:#f87171}.plm-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.plm-detail-title{display:flex;align-items:center;gap:12px}.plm-detail-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary)}.plm-detail-title .subtitle{margin:0;font-size:.875rem;color:var(--text-secondary)}.plm-detail-title .page-icon{color:var(--primary)}.plm-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.plm-test-detail-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-test-detail-page .btn-primary{background:var(--primary);color:var(--on-accent)}.plm-test-detail-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8)}.plm-test-detail-page .btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary)}.plm-test-detail-page .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.plm-test-detail-page .btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary)}.plm-test-detail-page .btn-icon:hover{border-color:var(--primary);color:var(--primary)}.plm-test-detail-page .btn-danger{color:#f87171}.plm-test-detail-page .btn-danger:hover{background:#ef44441a;border-color:#f87171}.plm-detail-tabs{display:flex;gap:4px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px 8px 0 0;padding:8px 8px 0;border-bottom:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0;transition:all .2s;position:relative}.plm-tab:hover{background:var(--panel-2);color:var(--text-primary)}.plm-tab.active{background:var(--panel-2);color:var(--primary)}.plm-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--primary);color:var(--on-accent);font-size:.75rem;border-radius:10px}.plm-detail-content{flex:1;background:var(--glass-bg);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 8px 8px;padding:20px;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-info-tab{display:flex;flex-direction:column;gap:20px}.plm-info-section{padding-bottom:20px;border-bottom:1px solid var(--glass-border)}.plm-info-section:last-child{padding-bottom:0;border-bottom:none}.plm-info-section h3{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.plm-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.info-item span{font-size:.875rem;color:var(--text-primary)}.plm-remark-box{padding:12px;background:var(--panel-2);border-radius:6px;font-size:.875rem;color:var(--text-primary);white-space:pre-wrap}.plm-test-detail-page .status-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:4px;background:#6b728033;color:var(--text-secondary)}.plm-test-detail-page .status-badge.small{padding:2px 6px;font-size:.6875rem}.plm-test-detail-page .result-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:4px}.plm-test-detail-page .result-badge.pass{background:#22c55e33;color:#4ade80}.plm-test-detail-page .result-badge.fail{background:#ef444433;color:#f87171}.plm-test-detail-page .result-badge.conditional{background:#f59e0b33;color:#fbbf24}.plm-test-detail-page .result-badge.pending,.plm-test-detail-page .status-badge.draft{background:#6b728033;color:var(--text-secondary)}.plm-test-detail-page .status-badge.pending{background:#f59e0b33;color:#fbbf24}.plm-test-detail-page .status-badge.reviewing{background:#3b82f633;color:#60a5fa}.plm-test-detail-page .status-badge.approved{background:#22c55e33;color:#4ade80}.plm-test-detail-page .status-badge.rejected{background:#ef444433;color:#f87171}.plm-reports-tab{min-height:200px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);text-align:center}.empty-state svg{margin-bottom:12px;opacity:.5}.empty-state p{margin:0 0 16px}.plm-test-detail-page .data-table{width:100%;border-collapse:collapse}.plm-test-detail-page .data-table th,.plm-test-detail-page .data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--glass-border)}.plm-test-detail-page .data-table th{background:#08090a66;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.plm-test-detail-page .data-table tbody tr{cursor:pointer;transition:all .15s}.plm-test-detail-page .data-table tbody tr:hover{background:#1565c0!important}.plm-test-detail-page .data-table tbody tr:hover td{color:#fff!important}.plm-test-detail-page .data-table tbody tr:hover .status-badge,.plm-test-detail-page .data-table tbody tr:hover .result-badge{background:#fff3!important;color:#fff!important}.plm-test-detail-page .data-table tbody tr:last-child td{border-bottom:none}.plm-test-detail-page .data-table .report-no{color:var(--primary);font-weight:500}.plm-test-detail-page .data-table tbody tr:hover .report-no{color:#fff!important}.plm-history-tab{min-height:200px}.history-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:24px}.history-timeline:before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:var(--glass-border)}.history-item{display:flex;gap:16px;position:relative;padding-bottom:20px}.history-item:last-child{padding-bottom:0}.history-dot{position:absolute;left:-24px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--primary);border:3px solid var(--glass-bg);box-shadow:0 0 0 2px var(--glass-border)}.history-content{flex:1;background:var(--panel-2);border-radius:8px;padding:12px}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.history-type{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.history-time{font-size:.75rem;color:var(--text-tertiary)}.history-body{display:flex;align-items:center;gap:8px;margin-bottom:8px}.history-body .arrow{color:var(--text-tertiary);font-size:.875rem}.history-footer{display:flex;gap:16px;font-size:.75rem;color:var(--text-tertiary)}.history-footer .remarks{color:var(--text-secondary)}.plm-test-detail-page .spinning{animation:spin 1s linear infinite}.plm-request-form-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-primary)}.plm-request-form-page .plm-loading-center{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:var(--text-secondary)}.plm-request-form-page .plm-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--glass-border)}.plm-request-form-page .plm-form-title{display:flex;align-items:center;gap:12px}.plm-request-form-page .plm-form-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary)}.plm-request-form-page .page-icon{color:var(--primary)}.plm-request-form-page .request-no{padding:4px 10px;background:var(--panel-2);border-radius:4px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.plm-request-form-page .btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s}.plm-request-form-page .btn-back:hover{background:var(--panel-2);color:var(--text-primary);border-color:var(--primary)}.plm-request-form-page .plm-form-actions{display:flex;gap:8px}.plm-request-form-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-request-form-page .btn:hover{background:var(--panel-2);border-color:var(--primary)}.plm-request-form-page .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.plm-request-form-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8)}.plm-request-form-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.plm-request-form-page .btn-secondary{background:var(--glass-bg);border-color:var(--glass-border)}.plm-request-form-page .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.plm-request-form-page .btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.plm-request-form-page .btn-sm{padding:4px 10px;font-size:.8125rem}.plm-request-form-page .error-message{padding:12px 16px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:.875rem}.plm-request-form-page .plm-form-content{flex:1;overflow-y:auto}.plm-request-form-page .form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:20px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-request-form-page .form-section h2{margin:0 0 16px;font-size:.9375rem;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.plm-request-form-page .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.plm-request-form-page .form-field{display:flex;flex-direction:column;gap:6px}.plm-request-form-page .form-field.span-2{grid-column:span 2}.plm-request-form-page .form-field.full-width{grid-column:1 / -1}.plm-request-form-page .form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.plm-request-form-page .form-field.required label:after{content:" *";color:#f87171}.plm-request-form-page .form-field input,.plm-request-form-page .form-field select,.plm-request-form-page .form-field textarea{padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.plm-request-form-page .form-field input:focus,.plm-request-form-page .form-field select:focus,.plm-request-form-page .form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-request-form-page .form-field input::-moz-placeholder,.plm-request-form-page .form-field textarea::-moz-placeholder{color:var(--text-tertiary)}.plm-request-form-page .form-field input::placeholder,.plm-request-form-page .form-field textarea::placeholder{color:var(--text-tertiary)}.plm-request-form-page .form-field input[readonly]{background:var(--panel-2);cursor:default;opacity:.7}.plm-request-form-page .form-field textarea{resize:vertical;min-height:100px}.plm-request-form-page .input-with-button{display:flex;gap:4px}.plm-request-form-page .input-with-button input{flex:1}.plm-request-form-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.plm-request-form-page .modal-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-request-form-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--glass-border)}.plm-request-form-page .modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.plm-request-form-page .modal-body{flex:1;padding:20px;overflow-y:auto}.plm-request-form-page .search-box{display:flex;gap:8px;margin-bottom:16px}.plm-request-form-page .search-box input{flex:1;padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary)}.plm-request-form-page .search-box input::-moz-placeholder{color:var(--text-tertiary)}.plm-request-form-page .search-box input::placeholder{color:var(--text-tertiary)}.plm-request-form-page .search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-request-form-page .search-results{min-height:200px}.plm-request-form-page .empty-results{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:.875rem}.plm-request-form-page .results-table{width:100%;border-collapse:collapse}.plm-request-form-page .results-table th,.plm-request-form-page .results-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--glass-border);font-size:.875rem}.plm-request-form-page .results-table th{background:#08090a66;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.plm-request-form-page .results-table tbody tr{cursor:pointer;transition:all .15s}.plm-request-form-page .results-table tbody tr:hover{background:#1565c0!important}.plm-request-form-page .results-table tbody tr:hover td{color:#fff!important}@media (max-width: 768px){.plm-request-form-page .form-grid{grid-template-columns:1fr}.plm-request-form-page .form-field.span-2{grid-column:span 1}.plm-request-form-page .plm-form-header{flex-direction:column;gap:12px;align-items:flex-start}.plm-request-form-page .plm-form-actions{width:100%;justify-content:flex-end}}.plm-request-form-page .spinning{animation:spin 1s linear infinite}.plm-test-report-list-page{padding:16px;height:100%}.plm-test-report-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-test-report-list-page .page-header-title{display:flex;align-items:center;gap:12px}.plm-test-report-list-page .page-header-icon{color:#0891b2}.plm-test-report-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-test-report-list-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-test-report-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.plm-test-report-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;background:transparent}.plm-test-report-list-page .status-badge-item:hover{border-color:#0891b2;background:var(--bg-secondary)}.plm-test-report-list-page .status-badge-item.active{border-width:2px;border-color:#0891b2;background:#0891b21a}.plm-test-report-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.plm-test-report-list-page .status-badge-value{font-size:13px;font-weight:700;color:var(--text-primary)}.plm-test-report-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.plm-test-report-list-page .main-container{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-test-report-list-page .search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0;flex-wrap:nowrap;overflow-x:auto}.plm-test-report-list-page .search-item{flex-shrink:0}.plm-test-report-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.plm-test-report-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.plm-test-report-list-page .search-input-wrapper .input{padding-left:28px;min-width:280px!important;width:280px!important}.plm-test-report-list-page .search-buttons{display:flex;gap:4px;margin-left:auto}.plm-test-report-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.plm-test-report-list-page .input:focus{outline:none;border-color:#0891b2}.plm-test-report-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.plm-test-report-list-page .input::placeholder{color:var(--text-tertiary)}.plm-test-report-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.plm-test-report-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-test-report-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.plm-test-report-list-page .btn-primary{background:#0891b2;color:#fff;border-color:#0891b2}.plm-test-report-list-page .btn-primary:hover:not(:disabled){background:#0e7490}.plm-test-report-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-test-report-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.plm-test-report-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.plm-test-report-list-page .table-container{overflow:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch}.plm-test-report-list-page .data-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:12px}.plm-test-report-list-page thead{position:sticky;top:0;z-index:1}.plm-test-report-list-page th{padding:8px 10px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:36px;background:#08090a66;text-align:left}.plm-test-report-list-page th.center{text-align:center}.plm-test-report-list-page .data-table tbody tr{height:40px;background:transparent}.plm-test-report-list-page .data-table td{padding:6px 10px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;color:var(--text-primary)}.plm-test-report-list-page .data-table td.center{text-align:center}.plm-test-report-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-test-report-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-test-report-list-page .data-table tbody tr:hover .result-badge{background:#fff3!important;color:#fff!important}.plm-test-report-list-page .data-table tbody tr:hover .result-badge svg{color:#fff!important}.plm-test-report-list-page .data-table tbody tr:hover .link-cell{color:#fff!important;text-decoration:underline}.plm-test-report-list-page .data-table tbody tr:hover .icon-btn{color:#fff!important}.plm-test-report-list-page .link-cell{color:#0891b2;font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-test-report-list-page .link-cell:hover{text-decoration:underline}.plm-test-report-list-page .link-cell.blue{color:#3b82f6}.plm-test-report-list-page .link-cell.purple{color:#9333ea}.plm-test-report-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-test-report-list-page .text-secondary{color:var(--text-secondary)}.plm-test-report-list-page .text-muted{color:var(--text-tertiary)}.plm-test-report-list-page .result-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap}.plm-test-report-list-page .result-badge.PASS{background:#22c55e33;color:#86efac}.plm-test-report-list-page .result-badge.PASS svg{color:#86efac}.plm-test-report-list-page .result-badge.FAIL{background:#ef444433;color:#fca5a5}.plm-test-report-list-page .result-badge.FAIL svg{color:#fca5a5}.plm-test-report-list-page .result-badge.CONDITIONAL{background:#fbbf2433;color:#fcd34d}.plm-test-report-list-page .result-badge.CONDITIONAL svg{color:#fcd34d}.plm-test-report-list-page .result-badge.PENDING{background:#9ca3af33;color:#9ca3af}.plm-test-report-list-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.plm-test-report-list-page .icon-btn:hover{background:var(--bg-secondary);color:#0891b2}.plm-test-report-list-page .icon-btn.download:hover{color:#3b82f6}.plm-test-report-list-page .loading-row td,.plm-test-report-list-page .empty-row td{text-align:center;padding:48px 16px;color:var(--text-secondary)}.plm-test-report-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.plm-test-report-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.plm-test-report-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.plm-test-report-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.plm-test-report-list-page .pagination-info{font-size:12px;color:var(--text-secondary)}.plm-test-report-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.plm-test-report-list-page .page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s}.plm-test-report-list-page .page-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:#0891b2}.plm-test-report-list-page .page-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}.plm-test-report-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-test-report-list-page .spinning{animation:spin 1s linear infinite}@media (max-width: 1024px){.plm-test-report-list-page .page-header{flex-direction:column;gap:12px}.plm-test-report-list-page .status-summary-row{width:100%;justify-content:flex-start}}@media (max-width: 768px){.plm-test-report-list-page{padding:8px}.plm-test-report-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.plm-test-report-list-page .search-item{width:100%}.plm-test-report-list-page .search-input-wrapper .input{width:100%!important;min-width:unset!important}.plm-test-report-list-page .search-buttons{margin-left:0;justify-content:flex-end}.plm-test-report-list-page .pagination{flex-direction:column;gap:8px}}.plm-report-detail-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-primary)}.plm-report-detail-page .plm-loading-center,.plm-report-detail-page .plm-error-center{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-secondary)}.plm-report-detail-page .plm-error-center svg{color:#f87171}.plm-report-detail-page .plm-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.plm-report-detail-page .plm-detail-title{display:flex;align-items:center;gap:12px}.plm-report-detail-page .plm-detail-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary)}.plm-report-detail-page .plm-detail-title .subtitle{margin:0;font-size:.875rem;color:var(--text-secondary)}.plm-report-detail-page .plm-detail-title .page-icon{color:var(--primary)}.plm-report-detail-page .plm-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.plm-report-detail-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-report-detail-page .btn-primary{background:var(--primary);color:var(--on-accent)}.plm-report-detail-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8)}.plm-report-detail-page .btn-success{background:#22c55e;color:var(--on-accent)}.plm-report-detail-page .btn-success:hover{background:#16a34a}.plm-report-detail-page .btn-danger-outline{background:transparent;border:1px solid #f87171;color:#f87171}.plm-report-detail-page .btn-danger-outline:hover{background:#ef44441a}.plm-report-detail-page .btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary)}.plm-report-detail-page .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.plm-report-detail-page .btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary)}.plm-report-detail-page .btn-icon:hover{border-color:var(--primary);color:var(--primary)}.plm-report-detail-page .btn-danger{color:#f87171}.plm-report-detail-page .btn-danger:hover{background:#ef44441a;border-color:#f87171}.plm-report-detail-page .btn-sm{padding:4px 10px;font-size:.8125rem}.plm-report-detail-page .plm-detail-tabs{display:flex;gap:4px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px 8px 0 0;padding:8px 8px 0;border-bottom:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-report-detail-page .plm-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0;transition:all .2s;position:relative}.plm-report-detail-page .plm-tab:hover{background:var(--panel-2);color:var(--text-primary)}.plm-report-detail-page .plm-tab.active{background:var(--panel-2);color:var(--primary)}.plm-report-detail-page .plm-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary)}.plm-report-detail-page .plm-detail-content{flex:1;background:var(--glass-bg);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 8px 8px;padding:20px;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-report-detail-page .plm-info-tab{display:flex;flex-direction:column;gap:20px}.plm-report-detail-page .plm-info-section{padding-bottom:20px;border-bottom:1px solid var(--glass-border)}.plm-report-detail-page .plm-info-section:last-child{padding-bottom:0;border-bottom:none}.plm-report-detail-page .plm-info-section h3{margin:0 0 12px;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.plm-report-detail-page .plm-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.plm-report-detail-page .info-item{display:flex;flex-direction:column;gap:4px}.plm-report-detail-page .info-item label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.plm-report-detail-page .info-item span{font-size:.875rem;color:var(--text-primary)}.plm-report-detail-page .link-text{color:var(--primary);cursor:pointer;text-decoration:underline}.plm-report-detail-page .link-text:hover{color:var(--primary-dark, #1d4ed8)}.plm-report-detail-page .plm-remark-box{padding:12px;background:var(--panel-2);border-radius:6px;font-size:.875rem;color:var(--text-primary);white-space:pre-wrap}.plm-report-detail-page .result-summary-box{margin-top:12px;padding:12px;background:var(--panel-2);border-radius:6px}.plm-report-detail-page .result-summary-box label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px}.plm-report-detail-page .result-summary-box p{margin:0;font-size:.875rem;color:var(--text-primary);white-space:pre-wrap}.plm-report-detail-page .file-info-box{display:flex;align-items:center;gap:12px;padding:12px;background:var(--panel-2);border-radius:6px}.plm-report-detail-page .file-info-box svg{color:var(--text-secondary)}.plm-report-detail-page .file-info-box .file-name{flex:1;font-size:.875rem;color:var(--text-primary)}.plm-report-detail-page .status-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:4px;background:#6b728033;color:var(--text-secondary)}.plm-report-detail-page .status-badge.small{padding:2px 6px;font-size:.6875rem}.plm-report-detail-page .result-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:4px}.plm-report-detail-page .result-badge.pass{background:#22c55e33;color:#4ade80}.plm-report-detail-page .result-badge.fail{background:#ef444433;color:#f87171}.plm-report-detail-page .result-badge.conditional{background:#f59e0b33;color:#fbbf24}.plm-report-detail-page .result-badge.pending{background:#6b728033;color:var(--text-secondary)}.plm-report-detail-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);text-align:center}.plm-report-detail-page .empty-state svg{margin-bottom:12px;opacity:.5}.plm-report-detail-page .empty-state p{margin:0 0 16px}.plm-report-detail-page .plm-history-tab{min-height:200px}.plm-report-detail-page .history-timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:24px}.plm-report-detail-page .history-timeline:before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:var(--glass-border)}.plm-report-detail-page .history-item{display:flex;gap:16px;position:relative;padding-bottom:20px}.plm-report-detail-page .history-item:last-child{padding-bottom:0}.plm-report-detail-page .history-dot{position:absolute;left:-24px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--primary);border:3px solid var(--glass-bg);box-shadow:0 0 0 2px var(--glass-border)}.plm-report-detail-page .history-content{flex:1;background:var(--panel-2);border-radius:8px;padding:12px}.plm-report-detail-page .history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.plm-report-detail-page .history-type{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.plm-report-detail-page .history-time{font-size:.75rem;color:var(--text-tertiary)}.plm-report-detail-page .history-body{display:flex;align-items:center;gap:8px;margin-bottom:8px}.plm-report-detail-page .history-body .arrow{color:var(--text-tertiary);font-size:.875rem}.plm-report-detail-page .history-footer{display:flex;gap:16px;font-size:.75rem;color:var(--text-tertiary)}.plm-report-detail-page .history-footer .remarks{color:var(--text-secondary)}.plm-report-detail-page .spinning{animation:spin 1s linear infinite}.plm-report-form-page{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--bg-primary)}.plm-report-form-page .plm-loading-center{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:var(--text-secondary)}.plm-report-form-page .plm-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--glass-border)}.plm-report-form-page .plm-form-title{display:flex;align-items:center;gap:12px}.plm-report-form-page .plm-form-title h1{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary)}.plm-report-form-page .page-icon{color:var(--primary)}.plm-report-form-page .report-no{padding:4px 10px;background:var(--panel-2);border-radius:4px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.plm-report-form-page .btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s}.plm-report-form-page .btn-back:hover{background:var(--panel-2);color:var(--text-primary);border-color:var(--primary)}.plm-report-form-page .plm-form-actions{display:flex;gap:8px}.plm-report-form-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-report-form-page .btn:hover{background:var(--panel-2);border-color:var(--primary)}.plm-report-form-page .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.plm-report-form-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8)}.plm-report-form-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.plm-report-form-page .btn-secondary{background:var(--glass-bg);border-color:var(--glass-border)}.plm-report-form-page .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.plm-report-form-page .btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.plm-report-form-page .btn-sm{padding:4px 10px;font-size:.8125rem}.plm-report-form-page .error-message{padding:12px 16px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:.875rem}.plm-report-form-page .plm-form-content{flex:1;overflow-y:auto}.plm-report-form-page .form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:20px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-report-form-page .form-section h2{margin:0 0 16px;font-size:.9375rem;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.plm-report-form-page .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.plm-report-form-page .form-field{display:flex;flex-direction:column;gap:6px}.plm-report-form-page .form-field.span-2{grid-column:span 2}.plm-report-form-page .form-field.full-width{grid-column:1 / -1}.plm-report-form-page .form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.plm-report-form-page .form-field.required label:after{content:" *";color:#f87171}.plm-report-form-page .form-field input,.plm-report-form-page .form-field select,.plm-report-form-page .form-field textarea{padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.plm-report-form-page .form-field input:focus,.plm-report-form-page .form-field select:focus,.plm-report-form-page .form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-report-form-page .form-field input::-moz-placeholder,.plm-report-form-page .form-field textarea::-moz-placeholder{color:var(--text-tertiary)}.plm-report-form-page .form-field input::placeholder,.plm-report-form-page .form-field textarea::placeholder{color:var(--text-tertiary)}.plm-report-form-page .form-field input[readonly]{background:var(--panel-2);cursor:default;opacity:.7}.plm-report-form-page .form-field textarea{resize:vertical;min-height:100px}.plm-report-form-page .input-with-button{display:flex;gap:4px}.plm-report-form-page .input-with-button input{flex:1}.plm-report-form-page .file-upload-area{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--panel-2);border:1px dashed var(--glass-border);border-radius:8px}.plm-report-form-page .current-file,.plm-report-form-page .selected-file{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;color:var(--text-primary)}.plm-report-form-page .current-file svg,.plm-report-form-page .selected-file svg{color:var(--text-secondary);flex-shrink:0}.plm-report-form-page .selected-file span{flex:1}.plm-report-form-page .file-input-label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s;width:-moz-fit-content;width:fit-content}.plm-report-form-page .file-input-label:hover{border-color:var(--primary);color:var(--primary)}.plm-report-form-page .file-hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.plm-report-form-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.plm-report-form-page .modal-content{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-report-form-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--glass-border)}.plm-report-form-page .modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.plm-report-form-page .modal-body{flex:1;padding:20px;overflow-y:auto}.plm-report-form-page .search-box{display:flex;gap:8px;margin-bottom:16px}.plm-report-form-page .search-box input{flex:1;padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary)}.plm-report-form-page .search-box input::-moz-placeholder{color:var(--text-tertiary)}.plm-report-form-page .search-box input::placeholder{color:var(--text-tertiary)}.plm-report-form-page .search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-report-form-page .search-results{min-height:200px}.plm-report-form-page .empty-results{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:.875rem}.plm-report-form-page .results-table{width:100%;border-collapse:collapse}.plm-report-form-page .results-table th,.plm-report-form-page .results-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--glass-border);font-size:.875rem}.plm-report-form-page .results-table th{background:#08090a66;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.plm-report-form-page .results-table tbody tr{cursor:pointer;transition:all .15s}.plm-report-form-page .results-table tbody tr:hover{background:#1565c0!important}.plm-report-form-page .results-table tbody tr:hover td{color:#fff!important}@media (max-width: 768px){.plm-report-form-page .form-grid{grid-template-columns:1fr}.plm-report-form-page .form-field.span-2{grid-column:span 1}.plm-report-form-page .plm-form-header{flex-direction:column;gap:12px;align-items:flex-start}.plm-report-form-page .plm-form-actions{width:100%;justify-content:flex-end}}.plm-report-form-page .spinning{animation:spin 1s linear infinite}.plm-sample-list-page{padding:16px;height:100%}.plm-sample-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-sample-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-sample-list-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-sample-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.plm-sample-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;background:transparent}.plm-sample-list-page .status-badge-item:hover{border-color:var(--primary);background:var(--bg-secondary)}.plm-sample-list-page .status-badge-item.active{border-width:2px;border-color:var(--primary);background:#3b82f61a}.plm-sample-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.plm-sample-list-page .status-badge-value{font-size:13px;font-weight:700;color:var(--text-primary)}.plm-sample-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.plm-sample-list-page .main-container{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-sample-list-page .search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0;flex-wrap:nowrap;overflow-x:auto}.plm-sample-list-page .search-item{flex-shrink:0}.plm-sample-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.plm-sample-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.plm-sample-list-page .search-input-wrapper .input{padding-left:28px;min-width:200px!important;width:200px!important}.plm-sample-list-page .search-buttons{display:flex;gap:4px;margin-left:auto}.plm-sample-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.plm-sample-list-page .input:focus{outline:none;border-color:var(--primary)}.plm-sample-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.plm-sample-list-page .input::placeholder{color:var(--text-tertiary)}.plm-sample-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.plm-sample-list-page .search-item select.input-sm{min-width:90px;max-width:120px}.plm-sample-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-sample-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.plm-sample-list-page .btn-primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.plm-sample-list-page .btn-primary:hover:not(:disabled){background:var(--primary-hover)}.plm-sample-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-sample-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.plm-sample-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.plm-sample-list-page .toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--glass-border)}.plm-sample-list-page .toolbar-left{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--text-secondary)}.plm-sample-list-page .toolbar-right{display:flex;gap:8px;align-items:center}.plm-sample-list-page .table-container{overflow:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch}.plm-sample-list-page .sample-table{width:100%;min-width:1200px;border-collapse:collapse;font-size:12px}.plm-sample-list-page thead{position:sticky;top:0;z-index:1}.plm-sample-list-page th{padding:8px 10px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:36px;background:#08090a66}.plm-sample-list-page .th-center{text-align:center}.plm-sample-list-page .th-left{text-align:left}.plm-sample-list-page .sample-table tbody tr{height:40px;background:transparent}.plm-sample-list-page .sample-table td{padding:6px 10px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;color:var(--text-primary)}.plm-sample-list-page .td-center{text-align:center}.plm-sample-list-page .td-left{text-align:left}.plm-sample-list-page .td-small{font-size:11px;color:var(--text-secondary)}.plm-sample-list-page .td-ellipsis{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-sample-list-page .td-empty{padding:40px 12px;color:var(--text-secondary);text-align:center}.plm-sample-list-page .td-sample-no{font-weight:500;color:var(--primary);cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-sample-list-page .td-sample-no:hover{text-decoration:underline}.plm-sample-list-page .status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap}.plm-sample-list-page .status-badge.status-10{background:#3b82f633;color:#93c5fd}.plm-sample-list-page .status-badge.status-20{background:#fbbf2433;color:#fcd34d}.plm-sample-list-page .status-badge.status-30,.plm-sample-list-page .status-badge.status-APPROVED{background:#22c55e33;color:#86efac}.plm-sample-list-page .status-badge.status-40{background:#ef444433;color:#fca5a5}.plm-sample-list-page .quality-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500}.plm-sample-list-page .quality-badge.PASS{background:#22c55e33;color:#86efac}.plm-sample-list-page .quality-badge.FAIL{background:#ef444433;color:#fca5a5}.plm-sample-list-page .quality-badge.PENDING{background:#fbbf2433;color:#fcd34d}.plm-sample-list-page tbody tr:hover{background:#1565c0!important}.plm-sample-list-page tbody tr:hover td{color:#fff!important}.plm-sample-list-page tbody tr:hover .status-badge,.plm-sample-list-page tbody tr:hover .quality-badge{background:#fff3!important;color:#fff!important}.plm-sample-list-page tbody tr:hover .td-sample-no{color:#fff!important;text-decoration:underline}.plm-sample-list-page tbody tr:hover svg{color:#fff!important}.plm-sample-list-page .text-muted{color:var(--text-tertiary)}.plm-sample-list-page .btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.plm-sample-list-page .btn-icon:hover{background:var(--bg-secondary);color:var(--primary)}.plm-sample-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.plm-sample-list-page .pagination-info{font-size:12px;color:var(--text-secondary)}.plm-sample-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.plm-sample-list-page .page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s}.plm-sample-list-page .page-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.plm-sample-list-page .page-btn.active{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.plm-sample-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-sample-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.plm-sample-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.plm-sample-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.plm-sample-list-page .animate-spin{animation:spin 1s linear infinite}@media (max-width: 1024px){.plm-sample-list-page .page-header{flex-direction:column;gap:12px}.plm-sample-list-page .status-summary-row{width:100%;justify-content:flex-start}}@media (max-width: 768px){.plm-sample-list-page{padding:8px}.plm-sample-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.plm-sample-list-page .search-item{width:100%}.plm-sample-list-page .search-input-wrapper .input{width:100%!important;min-width:unset!important}.plm-sample-list-page .search-buttons{margin-left:0;justify-content:flex-end}.plm-sample-list-page .toolbar,.plm-sample-list-page .pagination{flex-direction:column;gap:8px}}.plm-eproduct-list-page{padding:16px;height:100%}.plm-eproduct-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px}.plm-eproduct-list-page .page-header-title{display:flex;align-items:center;gap:12px}.plm-eproduct-list-page .page-header-icon{color:#f97316}.plm-eproduct-list-page .page-header-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.plm-eproduct-list-page .page-header-title p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.plm-eproduct-list-page .status-summary-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto}.plm-eproduct-list-page .status-badge-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;background:transparent}.plm-eproduct-list-page .status-badge-item:hover{border-color:#f97316;background:var(--bg-secondary)}.plm-eproduct-list-page .status-badge-item.active{border-width:2px;border-color:#f97316;background:#f973161a}.plm-eproduct-list-page .status-badge-label{font-size:11px;color:var(--text-secondary)}.plm-eproduct-list-page .status-badge-value{font-size:13px;font-weight:700;color:var(--text-primary)}.plm-eproduct-list-page .status-badge-unit{font-size:10px;color:var(--text-secondary)}.plm-eproduct-list-page .main-container{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-eproduct-list-page .search-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--glass-border);background:var(--panel-2);border-radius:8px 8px 0 0;flex-wrap:nowrap;overflow-x:auto}.plm-eproduct-list-page .search-item{flex-shrink:0}.plm-eproduct-list-page .search-input-wrapper{position:relative;display:flex;align-items:center}.plm-eproduct-list-page .search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.plm-eproduct-list-page .search-input-wrapper .input{padding-left:28px;min-width:280px!important;width:280px!important}.plm-eproduct-list-page .search-buttons{display:flex;gap:4px;margin-left:auto}.plm-eproduct-list-page .input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.plm-eproduct-list-page .input:focus{outline:none;border-color:#f97316}.plm-eproduct-list-page .input::-moz-placeholder{color:var(--text-tertiary)}.plm-eproduct-list-page .input::placeholder{color:var(--text-tertiary)}.plm-eproduct-list-page .input-sm{padding:5px 8px;font-size:12px;border-radius:4px}.plm-eproduct-list-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-eproduct-list-page .btn:disabled{opacity:.5;cursor:not-allowed}.plm-eproduct-list-page .btn-primary{background:#f97316;color:#fff;border-color:#f97316}.plm-eproduct-list-page .btn-primary:hover:not(:disabled){background:#ea580c}.plm-eproduct-list-page .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.plm-eproduct-list-page .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.plm-eproduct-list-page .btn-sm{padding:5px 10px;font-size:12px;border-radius:4px}.plm-eproduct-list-page .table-container{overflow:auto;max-height:calc(100vh - 280px);-webkit-overflow-scrolling:touch}.plm-eproduct-list-page .data-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:12px}.plm-eproduct-list-page thead{position:sticky;top:0;z-index:1}.plm-eproduct-list-page th{padding:8px 10px;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--glass-border);white-space:nowrap;font-size:11px;height:36px;background:#08090a66;text-align:left}.plm-eproduct-list-page th.center{text-align:center}.plm-eproduct-list-page .data-table tbody tr{height:40px;background:transparent}.plm-eproduct-list-page .data-table td{padding:6px 10px;border-bottom:1px solid var(--glass-border);vertical-align:middle;line-height:1.5;font-size:12px;color:var(--text-primary)}.plm-eproduct-list-page .data-table td.center{text-align:center}.plm-eproduct-list-page .data-table td.text-right{text-align:right}.plm-eproduct-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-eproduct-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-eproduct-list-page .data-table tbody tr:hover .item-type-badge{background:#fff3!important;color:#fff!important}.plm-eproduct-list-page .data-table tbody tr:hover .link-cell{color:#fff!important;text-decoration:underline}.plm-eproduct-list-page .data-table tbody tr:hover .icon-btn{color:#fff!important}.plm-eproduct-list-page .link-cell{color:#f97316;font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-eproduct-list-page .link-cell:hover{text-decoration:underline}.plm-eproduct-list-page .link-cell.blue{color:#3b82f6}.plm-eproduct-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-eproduct-list-page .text-secondary{color:var(--text-secondary)}.plm-eproduct-list-page .text-muted{color:var(--text-tertiary)}.plm-eproduct-list-page .item-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap;background:#f9731633;color:#fdba74}.plm-eproduct-list-page .icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.plm-eproduct-list-page .icon-btn:hover{background:var(--bg-secondary);color:#f97316}.plm-eproduct-list-page .loading-row td,.plm-eproduct-list-page .empty-row td{text-align:center;padding:48px 16px;color:var(--text-secondary)}.plm-eproduct-list-page .error-container{text-align:center;padding:60px 20px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.plm-eproduct-list-page .error-container h3{margin-top:0;margin-bottom:10px;color:var(--error)}.plm-eproduct-list-page .error-container p{margin-bottom:20px;color:var(--text-secondary)}.plm-eproduct-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--glass-border)}.plm-eproduct-list-page .pagination-info{font-size:12px;color:var(--text-secondary)}.plm-eproduct-list-page .pagination-buttons{display:flex;align-items:center;gap:4px}.plm-eproduct-list-page .page-btn{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .2s}.plm-eproduct-list-page .page-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:#f97316}.plm-eproduct-list-page .page-btn.active{background:#f97316;color:#fff;border-color:#f97316}.plm-eproduct-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-eproduct-list-page .spinning{animation:spin 1s linear infinite}@media (max-width: 1024px){.plm-eproduct-list-page .page-header{flex-direction:column;gap:12px}.plm-eproduct-list-page .status-summary-row{width:100%;justify-content:flex-start}}@media (max-width: 768px){.plm-eproduct-list-page{padding:8px}.plm-eproduct-list-page .search-bar{flex-direction:column;align-items:stretch;gap:6px}.plm-eproduct-list-page .search-item{width:100%}.plm-eproduct-list-page .search-input-wrapper .input{width:100%!important;min-width:unset!important}.plm-eproduct-list-page .search-buttons{margin-left:0;justify-content:flex-end}.plm-eproduct-list-page .pagination{flex-direction:column;gap:8px}}.plm-rfq-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-rfq-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.plm-rfq-list-page .page-header-left{display:flex;align-items:center;gap:10px}.plm-rfq-list-page .page-header-icon{color:var(--primary)}.plm-rfq-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.plm-rfq-list-page .page-header-actions{display:flex;gap:8px}.plm-rfq-list-page .btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-rfq-list-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.plm-rfq-list-page .summary-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-list-page .summary-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.plm-rfq-list-page .summary-badges{display:flex;flex-wrap:wrap;gap:8px}.plm-rfq-list-page .summary-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-rfq-list-page .summary-badge.total{background:var(--panel-2);color:var(--text-primary)}.plm-rfq-list-page .summary-badge.total.active{background:var(--primary);color:var(--on-accent)}.plm-rfq-list-page .summary-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.plm-rfq-list-page .summary-badge.SUBMITTED{background:#3b82f633;color:#60a5fa}.plm-rfq-list-page .summary-badge.REVIEWING{background:#eab30833;color:#facc15}.plm-rfq-list-page .summary-badge.QUOTED{background:#a855f733;color:#c084fc}.plm-rfq-list-page .summary-badge.WON{background:#22c55e33;color:#4ade80}.plm-rfq-list-page .summary-badge.LOST{background:#ef444433;color:#f87171}.plm-rfq-list-page .summary-badge.CANCELLED{background:#6b728033;color:var(--text-tertiary)}.plm-rfq-list-page .summary-badge.N\/A{background:var(--panel-2);color:var(--text-secondary)}.plm-rfq-list-page .summary-badge.active:not(.total){border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.plm-rfq-list-page .search-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-list-page .search-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}@media (max-width: 768px){.plm-rfq-list-page .search-row{grid-template-columns:1fr}}.plm-rfq-list-page .search-input{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.plm-rfq-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.plm-rfq-list-page .search-input::placeholder{color:var(--text-tertiary)}.plm-rfq-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-rfq-list-page .search-actions{display:flex;gap:8px}.plm-rfq-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-rfq-list-page .btn-search:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.plm-rfq-list-page .btn-refresh{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-list-page .btn-refresh:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.plm-rfq-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-list-page .data-table{width:100%;border-collapse:collapse}.plm-rfq-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.plm-rfq-list-page .data-table th.center{text-align:center}.plm-rfq-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.plm-rfq-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.plm-rfq-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-rfq-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-rfq-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.plm-rfq-list-page .data-table tbody tr:last-child td{border-bottom:none}.plm-rfq-list-page .link-cell{color:var(--primary);font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-rfq-list-page .link-cell:hover{text-decoration:underline}.plm-rfq-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.plm-rfq-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-rfq-list-page .text-secondary{color:var(--text-secondary)}.plm-rfq-list-page .text-muted{color:var(--text-tertiary)}.plm-rfq-list-page .center{text-align:center}.plm-rfq-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.plm-rfq-list-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.plm-rfq-list-page .status-badge.SUBMITTED{background:#3b82f633;color:#60a5fa}.plm-rfq-list-page .status-badge.REVIEWING{background:#eab30833;color:#facc15}.plm-rfq-list-page .status-badge.QUOTED{background:#a855f733;color:#c084fc}.plm-rfq-list-page .status-badge.WON{background:#22c55e33;color:#4ade80}.plm-rfq-list-page .status-badge.LOST{background:#ef444433;color:#f87171}.plm-rfq-list-page .status-badge.CANCELLED{background:#6b728033;color:var(--text-tertiary)}.plm-rfq-list-page .info-cell{display:flex;align-items:center;gap:6px;font-size:.875rem}.plm-rfq-list-page .info-cell svg{flex-shrink:0;color:var(--text-tertiary)}.plm-rfq-list-page .data-table tbody tr:hover .info-cell svg{color:#ffffffb3}.plm-rfq-list-page .icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.plm-rfq-list-page .icon-btn:hover{background:var(--panel-2);color:var(--primary)}.plm-rfq-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.plm-rfq-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.plm-rfq-list-page .loading-row td,.plm-rfq-list-page .empty-row td{text-align:center;padding:60px 16px;color:var(--text-secondary)}.plm-rfq-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:1px solid var(--glass-border)}.plm-rfq-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.plm-rfq-list-page .pagination-buttons{display:flex;gap:8px}.plm-rfq-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.plm-rfq-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.plm-rfq-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-rfq-list-page .page-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.plm-rfq-list-page .spinning{animation:spin 1s linear infinite}.plm-rfq-detail-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-rfq-detail-page .loading-state,.plm-rfq-detail-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px;color:var(--text-secondary)}.plm-rfq-detail-page .error-state p{margin:0;font-size:1rem}.plm-rfq-detail-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.plm-rfq-detail-page .page-header-left{display:flex;align-items:center;gap:12px}.plm-rfq-detail-page .btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.plm-rfq-detail-page .btn-back:hover{border-color:var(--primary);color:var(--primary)}.plm-rfq-detail-page .page-icon{color:var(--primary)}.plm-rfq-detail-page .page-title-area{display:flex;flex-direction:column;gap:2px}.plm-rfq-detail-page .page-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.plm-rfq-detail-page .page-subtitle{margin:0;font-size:.875rem;color:var(--text-secondary)}.plm-rfq-detail-page .page-header-actions{display:flex;gap:8px}.plm-rfq-detail-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-rfq-detail-page .btn-primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.plm-rfq-detail-page .btn-primary:hover:not(:disabled){background:var(--primary-dark, #1d4ed8)}.plm-rfq-detail-page .btn-secondary{background:var(--glass-bg);color:var(--text-primary);border-color:var(--glass-border)}.plm-rfq-detail-page .btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.plm-rfq-detail-page .btn:disabled{opacity:.6;cursor:not-allowed}.plm-rfq-detail-page .status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:600}.plm-rfq-detail-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.plm-rfq-detail-page .status-badge.SUBMITTED{background:#3b82f633;color:#60a5fa}.plm-rfq-detail-page .status-badge.REVIEWING{background:#eab30833;color:#facc15}.plm-rfq-detail-page .status-badge.QUOTED{background:#a855f733;color:#c084fc}.plm-rfq-detail-page .status-badge.WON{background:#22c55e33;color:#4ade80}.plm-rfq-detail-page .status-badge.LOST{background:#ef444433;color:#f87171}.plm-rfq-detail-page .status-badge.CANCELLED{background:#6b728033;color:var(--text-tertiary)}.plm-rfq-detail-page .detail-content{display:flex;flex-direction:column;gap:16px}.plm-rfq-detail-page .detail-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-detail-page .section-title{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--glass-border);font-size:.9375rem;font-weight:600;color:var(--text-primary)}.plm-rfq-detail-page .info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.plm-rfq-detail-page .info-item{display:flex;flex-direction:column;gap:4px}.plm-rfq-detail-page .info-item.span-2{grid-column:span 2}@media (max-width: 640px){.plm-rfq-detail-page .info-item.span-2{grid-column:span 1}}.plm-rfq-detail-page .info-label{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.plm-rfq-detail-page .info-label svg{flex-shrink:0;color:var(--text-tertiary)}.plm-rfq-detail-page .info-value{font-size:.9375rem;color:var(--text-primary);word-break:break-word}.plm-rfq-detail-page .info-value.text-secondary{color:var(--text-secondary);font-size:.875rem}.plm-rfq-detail-page .remarks-content{padding:12px 16px;background:var(--panel-2);border-radius:6px;font-size:.875rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.plm-rfq-detail-page .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.plm-rfq-detail-page{padding:16px}.plm-rfq-detail-page .page-header{flex-direction:column;align-items:flex-start}.plm-rfq-detail-page .page-header-actions{width:100%;justify-content:flex-end}}.plm-rfq-form-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-rfq-form-page .loading-state{display:flex;align-items:center;justify-content:center;padding:64px;color:var(--text-secondary)}.plm-rfq-form-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.plm-rfq-form-page .page-header-left{display:flex;align-items:center;gap:12px}.plm-rfq-form-page .btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.plm-rfq-form-page .btn-back:hover{border-color:var(--primary);color:var(--primary)}.plm-rfq-form-page .page-icon{color:var(--primary)}.plm-rfq-form-page .page-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.plm-rfq-form-page .rfq-no-badge{padding:4px 12px;background:var(--panel-2);border-radius:4px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.plm-rfq-form-page .page-header-actions{display:flex;gap:8px}.plm-rfq-form-page .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-rfq-form-page .btn-primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.plm-rfq-form-page .btn-primary:hover:not(:disabled){background:var(--primary-dark, #1d4ed8)}.plm-rfq-form-page .btn-secondary{background:var(--glass-bg);color:var(--text-primary);border-color:var(--glass-border)}.plm-rfq-form-page .btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.plm-rfq-form-page .btn:disabled{opacity:.6;cursor:not-allowed}.plm-rfq-form-page .error-message{padding:12px 16px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:.875rem}.plm-rfq-form-page .form-content{display:flex;flex-direction:column;gap:16px}.plm-rfq-form-page .form-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-rfq-form-page .section-title{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--glass-border);font-size:.9375rem;font-weight:600;color:var(--text-primary)}.plm-rfq-form-page .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.plm-rfq-form-page .form-field{display:flex;flex-direction:column;gap:6px}.plm-rfq-form-page .form-field.span-2{grid-column:span 2}.plm-rfq-form-page .form-field.full-width{grid-column:1 / -1}@media (max-width: 640px){.plm-rfq-form-page .form-field.span-2{grid-column:span 1}}.plm-rfq-form-page .form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.plm-rfq-form-page .form-field label.required:after{content:" *";color:#f87171}.plm-rfq-form-page .form-field input,.plm-rfq-form-page .form-field select,.plm-rfq-form-page .form-field textarea{padding:10px 12px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.plm-rfq-form-page .form-field input:focus,.plm-rfq-form-page .form-field select:focus,.plm-rfq-form-page .form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-rfq-form-page .form-field input::-moz-placeholder,.plm-rfq-form-page .form-field textarea::-moz-placeholder{color:var(--text-tertiary)}.plm-rfq-form-page .form-field input::placeholder,.plm-rfq-form-page .form-field textarea::placeholder{color:var(--text-tertiary)}.plm-rfq-form-page .form-field textarea{resize:vertical;min-height:100px}.plm-rfq-form-page .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.plm-rfq-form-page{padding:16px}.plm-rfq-form-page .page-header{flex-direction:column;align-items:flex-start}.plm-rfq-form-page .page-header-actions{width:100%;justify-content:flex-end}.plm-rfq-form-page .form-grid{grid-template-columns:1fr}}.plm-portfolio-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.plm-portfolio-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.plm-portfolio-list-page .page-header-left{display:flex;align-items:center;gap:10px}.plm-portfolio-list-page .page-header-icon{color:var(--primary)}.plm-portfolio-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.plm-portfolio-list-page .page-description{font-size:.875rem;color:var(--text-secondary);margin:4px 0 0}.plm-portfolio-list-page .btn-create{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-portfolio-list-page .btn-create:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.plm-portfolio-list-page .summary-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-portfolio-list-page .summary-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.plm-portfolio-list-page .summary-badges{display:flex;flex-wrap:wrap;gap:8px}.plm-portfolio-list-page .summary-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.plm-portfolio-list-page .summary-badge.total{background:var(--panel-2);color:var(--text-primary)}.plm-portfolio-list-page .summary-badge.total.active{background:var(--primary);color:var(--on-accent)}.plm-portfolio-list-page .summary-badge.ACTIVE{background:#22c55e33;color:#4ade80}.plm-portfolio-list-page .summary-badge.INACTIVE{background:#6b728033;color:var(--text-secondary)}.plm-portfolio-list-page .summary-badge.COMPLETED{background:#3b82f633;color:#60a5fa}.plm-portfolio-list-page .summary-badge.active:not(.total){border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.plm-portfolio-list-page .search-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-portfolio-list-page .search-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}@media (max-width: 768px){.plm-portfolio-list-page .search-row{grid-template-columns:1fr}}.plm-portfolio-list-page .search-input{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.plm-portfolio-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.plm-portfolio-list-page .search-input::placeholder{color:var(--text-tertiary)}.plm-portfolio-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.plm-portfolio-list-page .search-actions{display:flex;gap:8px}.plm-portfolio-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.plm-portfolio-list-page .btn-search:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.plm-portfolio-list-page .btn-refresh{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-portfolio-list-page .btn-refresh:hover{border-color:var(--primary);color:var(--primary);background:var(--panel-2)}.plm-portfolio-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.plm-portfolio-list-page .data-table{width:100%;border-collapse:collapse}.plm-portfolio-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.plm-portfolio-list-page .data-table th.center{text-align:center}.plm-portfolio-list-page .data-table th.right{text-align:right}.plm-portfolio-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.plm-portfolio-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.plm-portfolio-list-page .data-table tbody tr:hover{background:#1565c0!important}.plm-portfolio-list-page .data-table tbody tr:hover td{color:#fff!important}.plm-portfolio-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.plm-portfolio-list-page .data-table tbody tr:last-child td{border-bottom:none}.plm-portfolio-list-page .link-cell{color:var(--primary);font-weight:500;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.plm-portfolio-list-page .link-cell:hover{text-decoration:underline}.plm-portfolio-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.plm-portfolio-list-page .truncate-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plm-portfolio-list-page .text-secondary{color:var(--text-secondary)}.plm-portfolio-list-page .text-muted{color:var(--text-tertiary)}.plm-portfolio-list-page .center{text-align:center}.plm-portfolio-list-page .right{text-align:right}.plm-portfolio-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.plm-portfolio-list-page .status-badge.ACTIVE{background:#22c55e33;color:#4ade80}.plm-portfolio-list-page .status-badge.INACTIVE{background:#6b728033;color:var(--text-secondary)}.plm-portfolio-list-page .status-badge.COMPLETED{background:#3b82f633;color:#60a5fa}.plm-portfolio-list-page .info-cell{display:flex;align-items:center;gap:6px;font-size:.875rem}.plm-portfolio-list-page .info-cell svg{flex-shrink:0;color:var(--text-tertiary)}.plm-portfolio-list-page .data-table tbody tr:hover .info-cell svg{color:#ffffffb3}.plm-portfolio-list-page .info-cell.right{justify-content:flex-end}.plm-portfolio-list-page .action-buttons{display:flex;align-items:center;justify-content:center;gap:4px}.plm-portfolio-list-page .icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.plm-portfolio-list-page .icon-btn:hover{background:var(--panel-2);color:var(--primary)}.plm-portfolio-list-page .icon-btn.edit:hover{color:#60a5fa;background:#3b82f61a}.plm-portfolio-list-page .icon-btn.delete:hover{color:#f87171;background:#ef44441a}.plm-portfolio-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.plm-portfolio-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.plm-portfolio-list-page .loading-row td,.plm-portfolio-list-page .empty-row td{text-align:center;padding:60px 16px;color:var(--text-secondary)}.plm-portfolio-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:1px solid var(--glass-border)}.plm-portfolio-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.plm-portfolio-list-page .pagination-buttons{display:flex;gap:8px}.plm-portfolio-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.plm-portfolio-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.plm-portfolio-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.plm-portfolio-list-page .page-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.plm-portfolio-list-page .spinning{animation:spin 1s linear infinite}.spec-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.spec-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.spec-list-page .page-header-left{display:flex;align-items:center;gap:10px}.spec-list-page .page-header-icon{color:var(--primary)}.spec-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.spec-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.spec-list-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.spec-list-page .search-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.spec-list-page .search-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.spec-list-page .search-field{flex:1;min-width:200px}.spec-list-page .search-field label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.spec-list-page .search-input-wrapper{position:relative}.spec-list-page .search-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.spec-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.spec-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.spec-list-page .search-input::placeholder{color:var(--text-tertiary)}.spec-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.spec-list-page .filter-field{width:160px}.spec-list-page .filter-select{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.spec-list-page .filter-select:focus{outline:none;border-color:var(--primary)}.spec-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.spec-list-page .btn-search:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.spec-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.spec-list-page .data-table{width:100%;border-collapse:collapse}.spec-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.spec-list-page .data-table th.center{text-align:center}.spec-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.spec-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.spec-list-page .data-table tbody tr:hover{background:#1565c0!important}.spec-list-page .data-table tbody tr:hover td{color:#fff!important}.spec-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.spec-list-page .data-table tbody tr:last-child td{border-bottom:none}.spec-list-page .link-cell{color:var(--primary);font-weight:500}.spec-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.spec-list-page .text-secondary{color:var(--text-secondary)}.spec-list-page .text-muted{color:var(--text-tertiary)}.spec-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.spec-list-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.spec-list-page .status-badge.REVIEW{background:#eab30833;color:#facc15}.spec-list-page .status-badge.APPROVED{background:#22c55e33;color:#4ade80}.spec-list-page .status-badge.OBSOLETE{background:#ef444433;color:#f87171}.spec-list-page .icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.spec-list-page .icon-btn:hover{background:var(--panel-2);color:var(--primary)}.spec-list-page .icon-btn.danger:hover{color:#f87171;background:#ef44441a}.spec-list-page .icon-btn.success:hover{color:#4ade80;background:#22c55e1a}.spec-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.spec-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.spec-list-page .loading-row td,.spec-list-page .empty-row td{text-align:center;padding:60px 16px;color:var(--text-secondary)}.spec-list-page .pagination{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.spec-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.spec-list-page .pagination-buttons{display:flex;align-items:center;gap:8px}.spec-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.spec-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.spec-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.spec-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.part-dev-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.part-dev-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.part-dev-list-page .page-header-left{display:flex;align-items:center;gap:10px}.part-dev-list-page .page-header-icon{color:var(--primary)}.part-dev-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.part-dev-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.part-dev-list-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.part-dev-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.part-dev-list-page .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.part-dev-list-page .filter-field{display:flex;flex-direction:column;gap:6px}.part-dev-list-page .filter-field.flex-1{flex:1;min-width:200px}.part-dev-list-page .filter-field.w-40{width:160px}.part-dev-list-page .filter-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.part-dev-list-page .search-wrapper{position:relative}.part-dev-list-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.part-dev-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.part-dev-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.part-dev-list-page .search-input::placeholder{color:var(--text-tertiary)}.part-dev-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.part-dev-list-page .filter-select{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.part-dev-list-page .filter-select:focus{outline:none;border-color:var(--primary)}.part-dev-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.part-dev-list-page .btn-search:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.part-dev-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.part-dev-list-page .data-table{width:100%;border-collapse:collapse}.part-dev-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.part-dev-list-page .data-table th.center{text-align:center}.part-dev-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.part-dev-list-page .data-table tbody tr{transition:all .15s}.part-dev-list-page .data-table tbody tr:hover{background:#1565c0!important}.part-dev-list-page .data-table tbody tr:hover td{color:#fff!important}.part-dev-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.part-dev-list-page .data-table tbody tr:last-child td{border-bottom:none}.part-dev-list-page .link-cell{color:var(--primary);font-weight:500}.part-dev-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.part-dev-list-page .text-secondary{color:var(--text-secondary)}.part-dev-list-page .status-badge{display:inline-flex;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.part-dev-list-page .status-badge.PLANNING{background:#6b728033;color:var(--text-secondary)}.part-dev-list-page .status-badge.DESIGNING{background:#3b82f633;color:#60a5fa}.part-dev-list-page .status-badge.PROTOTYPING{background:#eab30833;color:#facc15}.part-dev-list-page .status-badge.TESTING{background:#a855f733;color:#c084fc}.part-dev-list-page .status-badge.APPROVED{background:#22c55e33;color:#4ade80}.part-dev-list-page .status-badge.PRODUCTION{background:#14b8a633;color:#2dd4bf}.part-dev-list-page .icon-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.part-dev-list-page .icon-btn:hover{background:var(--panel-2);color:var(--primary)}.part-dev-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.part-dev-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.part-dev-list-page .icon-btn.success:hover{color:#4ade80;background:#22c55e1a}.part-dev-list-page .icon-btn.danger:hover{color:#f87171;background:#ef44441a}.part-dev-list-page .action-buttons{display:flex;align-items:center;justify-content:center;gap:4px}.part-dev-list-page .loading-state,.part-dev-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.part-dev-list-page .pagination{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.part-dev-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.part-dev-list-page .pagination-buttons{display:flex;align-items:center;gap:8px}.part-dev-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.part-dev-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.part-dev-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.part-dev-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.ecr-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.ecr-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.ecr-list-page .page-header-left{display:flex;align-items:center;gap:10px}.ecr-list-page .page-header-icon{color:var(--primary)}.ecr-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.ecr-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.ecr-list-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.ecr-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.ecr-list-page .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.ecr-list-page .filter-field{display:flex;flex-direction:column;gap:6px}.ecr-list-page .filter-field.flex-1{flex:1;min-width:200px}.ecr-list-page .filter-field.w-36{width:150px}.ecr-list-page .filter-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.ecr-list-page .search-wrapper{position:relative}.ecr-list-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.ecr-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.ecr-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.ecr-list-page .search-input::placeholder{color:var(--text-tertiary)}.ecr-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.ecr-list-page .filter-select{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.ecr-list-page .filter-select:focus{outline:none;border-color:var(--primary)}.ecr-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.ecr-list-page .btn-search:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.ecr-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.ecr-list-page .data-table{width:100%;border-collapse:collapse}.ecr-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.ecr-list-page .data-table th.center{text-align:center}.ecr-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.ecr-list-page .data-table tbody tr{transition:all .15s}.ecr-list-page .data-table tbody tr:hover{background:#1565c0!important}.ecr-list-page .data-table tbody tr:hover td{color:#fff!important}.ecr-list-page .data-table tbody tr:hover .status-badge,.ecr-list-page .data-table tbody tr:hover .priority-text{background:#fff3!important;color:#fff!important}.ecr-list-page .data-table tbody tr:last-child td{border-bottom:none}.ecr-list-page .link-cell{color:var(--primary);font-weight:500}.ecr-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.ecr-list-page .text-secondary{color:var(--text-secondary)}.ecr-list-page .status-badge{display:inline-flex;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:500}.ecr-list-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.ecr-list-page .status-badge.SUBMITTED{background:#3b82f633;color:#60a5fa}.ecr-list-page .status-badge.REVIEW{background:#eab30833;color:#facc15}.ecr-list-page .status-badge.APPROVED{background:#22c55e33;color:#4ade80}.ecr-list-page .status-badge.REJECTED{background:#ef444433;color:#f87171}.ecr-list-page .status-badge.CANCELLED{background:#6b728033;color:var(--text-tertiary)}.ecr-list-page .priority-text{font-weight:500;padding:4px 8px;border-radius:4px}.ecr-list-page .priority-text.LOW{color:var(--text-secondary)}.ecr-list-page .priority-text.MEDIUM{color:#60a5fa}.ecr-list-page .priority-text.HIGH{color:#fb923c}.ecr-list-page .priority-text.URGENT{color:#f87171}.ecr-list-page .eco-link{display:flex;align-items:center;gap:4px;color:#4ade80;background:none;border:none;font-size:.875rem;cursor:pointer}.ecr-list-page .eco-link:hover{text-decoration:underline}.ecr-list-page .data-table tbody tr:hover .eco-link{color:#fff!important}.ecr-list-page .eco-rejected{display:flex;align-items:center;gap:4px;color:#f87171;font-size:.875rem}.ecr-list-page .icon-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.ecr-list-page .icon-btn:hover{background:var(--panel-2);color:var(--primary)}.ecr-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.ecr-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.ecr-list-page .icon-btn.success:hover{color:#4ade80;background:#22c55e1a}.ecr-list-page .icon-btn.danger:hover{color:#f87171;background:#ef44441a}.ecr-list-page .action-buttons{display:flex;align-items:center;justify-content:center;gap:4px}.ecr-list-page .loading-state,.ecr-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.ecr-list-page .pagination{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.ecr-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.ecr-list-page .pagination-buttons{display:flex;align-items:center;gap:8px}.ecr-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.ecr-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.ecr-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.ecr-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.eco-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.eco-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eco-list-page .page-header-left{display:flex;align-items:center;gap:10px}.eco-list-page .page-header-icon{color:#4ade80}.eco-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.eco-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.eco-list-page .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.eco-list-page .filter-field{display:flex;flex-direction:column;gap:6px}.eco-list-page .filter-field.flex-1{flex:1;min-width:200px}.eco-list-page .filter-field.w-36{width:150px}.eco-list-page .filter-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.eco-list-page .search-wrapper{position:relative}.eco-list-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.eco-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.eco-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.eco-list-page .search-input::placeholder{color:var(--text-tertiary)}.eco-list-page .search-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.eco-list-page .filter-select{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.eco-list-page .filter-select:focus{outline:none;border-color:#22c55e}.eco-list-page .btn-search{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.eco-list-page .btn-search:hover{background:var(--glass-bg);border-color:#22c55e;color:#4ade80}.eco-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.eco-list-page .data-table{width:100%;border-collapse:collapse}.eco-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.eco-list-page .data-table th.center{text-align:center}.eco-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.eco-list-page .data-table tbody tr{transition:all .15s}.eco-list-page .data-table tbody tr:hover{background:#1565c0!important}.eco-list-page .data-table tbody tr:hover td{color:#fff!important}.eco-list-page .data-table tbody tr:hover .status-badge,.eco-list-page .data-table tbody tr:hover .priority-text{background:#fff3!important;color:#fff!important}.eco-list-page .data-table tbody tr:last-child td{border-bottom:none}.eco-list-page .link-cell{color:#4ade80;font-weight:500}.eco-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.eco-list-page .text-secondary{color:var(--text-secondary)}.eco-list-page .status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:500}.eco-list-page .status-badge.OPEN{background:#3b82f633;color:#60a5fa}.eco-list-page .status-badge.IN_PROGRESS{background:#eab30833;color:#facc15}.eco-list-page .status-badge.VERIFICATION{background:#a855f733;color:#c084fc}.eco-list-page .status-badge.COMPLETED{background:#22c55e33;color:#4ade80}.eco-list-page .status-badge.CANCELLED{background:#6b728033;color:var(--text-tertiary)}.eco-list-page .priority-text{font-weight:500;padding:4px 8px;border-radius:4px}.eco-list-page .priority-text.LOW{color:var(--text-secondary)}.eco-list-page .priority-text.MEDIUM{color:#60a5fa}.eco-list-page .priority-text.HIGH{color:#fb923c}.eco-list-page .priority-text.URGENT{color:#f87171}.eco-list-page .ecr-link{color:var(--primary);background:none;border:none;font-size:.875rem;cursor:pointer}.eco-list-page .ecr-link:hover{text-decoration:underline}.eco-list-page .data-table tbody tr:hover .ecr-link{color:#fff!important}.eco-list-page .icon-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.eco-list-page .icon-btn:hover{background:#22c55e1a;color:#4ade80}.eco-list-page .data-table tbody tr:hover .icon-btn{color:#ffffffb3}.eco-list-page .data-table tbody tr:hover .icon-btn:hover{color:#fff;background:#ffffff26}.eco-list-page .action-buttons{display:flex;align-items:center;justify-content:center}.eco-list-page .loading-state,.eco-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.eco-list-page .pagination{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.eco-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.eco-list-page .pagination-buttons{display:flex;align-items:center;gap:8px}.eco-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.eco-list-page .page-btn:hover:not(:disabled){border-color:#22c55e;color:#4ade80;background:var(--glass-bg)}.eco-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.eco-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.bom-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.bom-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.bom-list-page .page-header-left{display:flex;align-items:center;gap:10px}.bom-list-page .page-header-icon{color:var(--primary)}.bom-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.bom-list-page .page-count{font-size:.875rem;color:var(--text-secondary)}.bom-list-page .header-buttons{display:flex;gap:8px}.bom-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.bom-list-page .btn-primary:hover{background:var(--primary-dark, #1d4ed8);transform:translateY(-1px)}.bom-list-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.bom-list-page .btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bom-list-page .btn-secondary:hover{background:var(--panel-2);border-color:var(--primary)}.bom-list-page .btn-compare{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.bom-list-page .btn-compare:hover{background:#6d28d9;transform:translateY(-1px)}.bom-list-page .btn-compare:disabled{opacity:.5;cursor:not-allowed}.bom-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bom-list-page .filter-row{display:flex;flex-wrap:wrap;gap:16px}.bom-list-page .search-wrapper{flex:1;min-width:200px;position:relative}.bom-list-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.bom-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.bom-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.bom-list-page .search-input::placeholder{color:var(--text-tertiary)}.bom-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.bom-list-page .filter-select{padding:10px 16px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.bom-list-page .filter-select:focus{outline:none;border-color:var(--primary)}.bom-list-page .btn-search{padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.bom-list-page .btn-search:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.bom-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bom-list-page .data-table{width:100%;border-collapse:collapse}.bom-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.bom-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.bom-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.bom-list-page .data-table tbody tr:hover{background:#1565c0!important}.bom-list-page .data-table tbody tr:hover td{color:#fff!important}.bom-list-page .data-table tbody tr:hover .type-badge,.bom-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.bom-list-page .data-table tbody tr.selected{background:#7c3aed26}.bom-list-page .data-table tbody tr:last-child td{border-bottom:none}.bom-list-page .link-cell{display:flex;align-items:center;gap:8px}.bom-list-page .link-cell-icon{color:var(--text-tertiary)}.bom-list-page .link-cell-text{color:var(--primary);font-weight:500}.bom-list-page .data-table tbody tr:hover .link-cell-text,.bom-list-page .data-table tbody tr:hover .link-cell-icon{color:#fff!important}.bom-list-page .text-secondary{color:var(--text-secondary)}.bom-list-page .type-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.bom-list-page .type-badge.E-BOM{background:#3b82f633;color:#60a5fa}.bom-list-page .type-badge.M-BOM{background:#f9731633;color:#fb923c}.bom-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.bom-list-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.bom-list-page .status-badge.ACTIVE{background:#22c55e33;color:#4ade80}.bom-list-page .status-badge.OBSOLETE{background:#ef444433;color:#f87171}.bom-list-page .checkbox{width:18px;height:18px;accent-color:#7c3aed}.bom-list-page .loading-state,.bom-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.bom-list-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--glass-border)}.bom-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.bom-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.bom-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.bom-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.prototype-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.prototype-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.prototype-list-page .page-header-left{display:flex;align-items:center;gap:10px}.prototype-list-page .page-header-icon{color:#a855f7}.prototype-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.prototype-list-page .page-count{font-size:.875rem;color:var(--text-secondary)}.prototype-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#9333ea;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.prototype-list-page .btn-primary:hover{background:#7e22ce;transform:translateY(-1px)}.prototype-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.prototype-list-page .filter-row{display:flex;flex-wrap:wrap;gap:16px}.prototype-list-page .search-wrapper{flex:1;min-width:200px;position:relative}.prototype-list-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.prototype-list-page .search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.prototype-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.prototype-list-page .search-input::placeholder{color:var(--text-tertiary)}.prototype-list-page .search-input:focus{outline:none;border-color:#9333ea;box-shadow:0 0 0 3px #9333ea26}.prototype-list-page .filter-select{padding:10px 16px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.prototype-list-page .filter-select:focus{outline:none;border-color:#9333ea}.prototype-list-page .btn-search{padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.prototype-list-page .btn-search:hover{background:var(--glass-bg);border-color:#9333ea;color:#a855f7}.prototype-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.prototype-list-page .data-table{width:100%;border-collapse:collapse}.prototype-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.prototype-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.prototype-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.prototype-list-page .data-table tbody tr:hover{background:#1565c0!important}.prototype-list-page .data-table tbody tr:hover td{color:#fff!important}.prototype-list-page .data-table tbody tr:hover .type-badge,.prototype-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.prototype-list-page .data-table tbody tr:last-child td{border-bottom:none}.prototype-list-page .link-cell{display:flex;align-items:center;gap:8px}.prototype-list-page .link-cell-icon{color:#a855f7}.prototype-list-page .link-cell-text{color:#a855f7;font-weight:500}.prototype-list-page .data-table tbody tr:hover .link-cell-text,.prototype-list-page .data-table tbody tr:hover .link-cell-icon{color:#fff!important}.prototype-list-page .text-secondary{color:var(--text-secondary)}.prototype-list-page .type-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.prototype-list-page .type-badge.A-SAMPLE{background:#3b82f633;color:#60a5fa}.prototype-list-page .type-badge.B-SAMPLE{background:#a855f733;color:#c084fc}.prototype-list-page .type-badge.C-SAMPLE{background:#22c55e33;color:#4ade80}.prototype-list-page .type-badge.PILOT{background:#f9731633;color:#fb923c}.prototype-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.prototype-list-page .status-badge.PLANNING{background:#6b728033;color:var(--text-secondary)}.prototype-list-page .status-badge.IN_PRODUCTION{background:#3b82f633;color:#60a5fa}.prototype-list-page .status-badge.COMPLETED{background:#22c55e33;color:#4ade80}.prototype-list-page .status-badge.CANCELLED{background:#ef444433;color:#f87171}.prototype-list-page .loading-state,.prototype-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.prototype-list-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--glass-border)}.prototype-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.prototype-list-page .page-btn:hover:not(:disabled){border-color:#9333ea;color:#a855f7;background:var(--glass-bg)}.prototype-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.prototype-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.requirement-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.requirement-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.requirement-list-page .page-header-left{display:flex;align-items:center;gap:10px}.requirement-list-page .page-header-icon{color:var(--primary)}.requirement-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.requirement-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--primary);color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.requirement-list-page .btn-primary:hover{background:var(--primary-dark, #4f46e5);transform:translateY(-1px)}.requirement-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.requirement-list-page .filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;align-items:flex-end}@media (max-width: 768px){.requirement-list-page .filter-grid{grid-template-columns:1fr}}.requirement-list-page .search-wrapper{display:flex;gap:8px}.requirement-list-page .search-input{flex:1;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.requirement-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.requirement-list-page .search-input::placeholder{color:var(--text-tertiary)}.requirement-list-page .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.requirement-list-page .btn-search{display:flex;align-items:center;justify-content:center;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .2s}.requirement-list-page .btn-search:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--primary)}.requirement-list-page .filter-select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.requirement-list-page .filter-select:focus{outline:none;border-color:var(--primary)}.requirement-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.requirement-list-page .data-table{width:100%;border-collapse:collapse}.requirement-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.requirement-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.requirement-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.requirement-list-page .data-table tbody tr:hover{background:#1565c0!important}.requirement-list-page .data-table tbody tr:hover td{color:#fff!important}.requirement-list-page .data-table tbody tr:hover .status-badge,.requirement-list-page .data-table tbody tr:hover .priority-badge{background:#fff3!important;color:#fff!important}.requirement-list-page .data-table tbody tr:last-child td{border-bottom:none}.requirement-list-page .link-cell{color:var(--primary);font-weight:500}.requirement-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.requirement-list-page .text-secondary{color:var(--text-secondary)}.requirement-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.requirement-list-page .status-badge.DRAFT{background:#6b728033;color:var(--text-secondary)}.requirement-list-page .status-badge.APPROVED{background:#3b82f633;color:#60a5fa}.requirement-list-page .status-badge.VERIFIED{background:#22c55e33;color:#4ade80}.requirement-list-page .status-badge.CLOSED{background:#a855f733;color:#c084fc}.requirement-list-page .priority-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.requirement-list-page .priority-badge.HIGH{background:#ef444433;color:#f87171}.requirement-list-page .priority-badge.MEDIUM{background:#eab30833;color:#facc15}.requirement-list-page .priority-badge.LOW{background:#22c55e33;color:#4ade80}.requirement-list-page .loading-state,.requirement-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.requirement-list-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--glass-border)}.requirement-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.requirement-list-page .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--glass-bg)}.requirement-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.requirement-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.dvp-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.dvp-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dvp-list-page .page-header-left{display:flex;align-items:center;gap:10px}.dvp-list-page .page-header-icon{color:#14b8a6}.dvp-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.dvp-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#0d9488;color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.dvp-list-page .btn-primary:hover{background:#0f766e;transform:translateY(-1px)}.dvp-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.dvp-list-page .filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;align-items:flex-end}@media (max-width: 768px){.dvp-list-page .filter-grid{grid-template-columns:1fr}}.dvp-list-page .search-wrapper{display:flex;gap:8px}.dvp-list-page .search-input{flex:1;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);transition:all .2s}.dvp-list-page .search-input::-moz-placeholder{color:var(--text-tertiary)}.dvp-list-page .search-input::placeholder{color:var(--text-tertiary)}.dvp-list-page .search-input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a626}.dvp-list-page .btn-search{display:flex;align-items:center;justify-content:center;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .2s}.dvp-list-page .btn-search:hover{background:var(--glass-bg);border-color:#14b8a6;color:#14b8a6}.dvp-list-page .filter-select{padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.dvp-list-page .filter-select:focus{outline:none;border-color:#14b8a6}.dvp-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.dvp-list-page .data-table{width:100%;border-collapse:collapse}.dvp-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.dvp-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.dvp-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.dvp-list-page .data-table tbody tr:hover{background:#1565c0!important}.dvp-list-page .data-table tbody tr:hover td{color:#fff!important}.dvp-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.dvp-list-page .data-table tbody tr:last-child td{border-bottom:none}.dvp-list-page .link-cell{color:#14b8a6;font-weight:500}.dvp-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.dvp-list-page .text-secondary{color:var(--text-secondary)}.dvp-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.dvp-list-page .status-badge.PLANNED{background:#6b728033;color:var(--text-secondary)}.dvp-list-page .status-badge.IN_PROGRESS{background:#3b82f633;color:#60a5fa}.dvp-list-page .status-badge.COMPLETED{background:#22c55e33;color:#4ade80}.dvp-list-page .status-badge.CANCELLED{background:#ef444433;color:#f87171}.dvp-list-page .loading-state,.dvp-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.dvp-list-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;border-top:1px solid var(--glass-border)}.dvp-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.dvp-list-page .page-btn:hover:not(:disabled){border-color:#14b8a6;color:#14b8a6;background:var(--glass-bg)}.dvp-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.dvp-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.rnd-issue-list-page{padding:24px;background:var(--bg-primary);min-height:100%}.rnd-issue-list-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.rnd-issue-list-page .page-header-left{display:flex;align-items:center;gap:10px}.rnd-issue-list-page .page-header-icon{color:#ef4444}.rnd-issue-list-page .page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.rnd-issue-list-page .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#dc2626;color:var(--on-accent);border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.rnd-issue-list-page .btn-primary:hover{background:#b91c1c;transform:translateY(-1px)}.rnd-issue-list-page .dashboard-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}@media (max-width: 768px){.rnd-issue-list-page .dashboard-cards{grid-template-columns:repeat(2,1fr)}}.rnd-issue-list-page .dashboard-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.rnd-issue-list-page .dashboard-card.red{border-left:4px solid #ef4444}.rnd-issue-list-page .dashboard-card.blue{border-left:4px solid #3b82f6}.rnd-issue-list-page .dashboard-card.green{border-left:4px solid #22c55e}.rnd-issue-list-page .dashboard-card.orange{border-left:4px solid #f97316}.rnd-issue-list-page .dashboard-card-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:4px}.rnd-issue-list-page .dashboard-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.rnd-issue-list-page .dashboard-card-value.red{color:#ef4444}.rnd-issue-list-page .dashboard-card-value.blue{color:#3b82f6}.rnd-issue-list-page .dashboard-card-value.green{color:#22c55e}.rnd-issue-list-page .dashboard-card-value.orange{color:#f97316}.rnd-issue-list-page .filter-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:18px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.rnd-issue-list-page .filter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media (max-width: 768px){.rnd-issue-list-page .filter-grid{grid-template-columns:1fr}}.rnd-issue-list-page .filter-select,.rnd-issue-list-page .filter-input{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:8px;font-size:.875rem;background:var(--panel-2);color:var(--text-primary);cursor:pointer;transition:all .2s}.rnd-issue-list-page .filter-input::-moz-placeholder{color:var(--text-tertiary)}.rnd-issue-list-page .filter-input::placeholder{color:var(--text-tertiary)}.rnd-issue-list-page .filter-select:focus,.rnd-issue-list-page .filter-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.rnd-issue-list-page .btn-search{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;background:var(--panel-2);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .2s}.rnd-issue-list-page .btn-search:hover{background:var(--glass-bg);border-color:#ef4444;color:#ef4444}.rnd-issue-list-page .table-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.rnd-issue-list-page .data-table{width:100%;border-collapse:collapse}.rnd-issue-list-page .data-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#08090a66;border-bottom:1px solid var(--glass-border)}.rnd-issue-list-page .data-table td{padding:14px 16px;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--glass-border)}.rnd-issue-list-page .data-table tbody tr{transition:all .15s;cursor:pointer}.rnd-issue-list-page .data-table tbody tr:hover{background:#1565c0!important}.rnd-issue-list-page .data-table tbody tr:hover td{color:#fff!important}.rnd-issue-list-page .data-table tbody tr:hover .severity-badge,.rnd-issue-list-page .data-table tbody tr:hover .status-badge{background:#fff3!important;color:#fff!important}.rnd-issue-list-page .data-table tbody tr:last-child td{border-bottom:none}.rnd-issue-list-page .link-cell{color:#ef4444;font-weight:500}.rnd-issue-list-page .data-table tbody tr:hover .link-cell{color:#fff!important}.rnd-issue-list-page .text-secondary{color:var(--text-secondary)}.rnd-issue-list-page .severity-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.rnd-issue-list-page .severity-badge.CRITICAL{background:#ef444433;color:#f87171}.rnd-issue-list-page .severity-badge.MAJOR{background:#f9731633;color:#fb923c}.rnd-issue-list-page .severity-badge.MINOR{background:#eab30833;color:#facc15}.rnd-issue-list-page .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.rnd-issue-list-page .status-badge.OPEN{background:#ef444433;color:#f87171}.rnd-issue-list-page .status-badge.IN_PROGRESS{background:#3b82f633;color:#60a5fa}.rnd-issue-list-page .status-badge.RESOLVED{background:#22c55e33;color:#4ade80}.rnd-issue-list-page .status-badge.CLOSED{background:#6b728033;color:var(--text-secondary)}.rnd-issue-list-page .status-badge.DEFERRED{background:#eab30833;color:#facc15}.rnd-issue-list-page .loading-state,.rnd-issue-list-page .empty-state{padding:60px 16px;text-align:center;color:var(--text-secondary)}.rnd-issue-list-page .pagination{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:1px solid var(--glass-border)}.rnd-issue-list-page .pagination-info{font-size:.875rem;color:var(--text-secondary)}.rnd-issue-list-page .pagination-buttons{display:flex;align-items:center;gap:8px}.rnd-issue-list-page .page-btn{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--panel-2);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.rnd-issue-list-page .page-btn:hover:not(:disabled){border-color:#ef4444;color:#ef4444;background:var(--glass-bg)}.rnd-issue-list-page .page-btn:disabled{opacity:.5;cursor:not-allowed}.rnd-issue-list-page .page-info{font-size:.875rem;color:var(--text-secondary)}.document-list-page{padding:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s}.search-filter-section{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.5rem;flex:1;min-width:300px;padding:.5rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.search-box svg{color:var(--text-secondary)}.search-box input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--text-primary);outline:none}.search-box input::-moz-placeholder{color:var(--text-secondary)}.search-box input::placeholder{color:var(--text-secondary)}.search-box button{padding:.375rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:opacity .2s}.search-box button:hover{opacity:.9}.filter-box{display:flex;align-items:center;gap:.5rem}.filter-box svg{color:var(--text-secondary)}.filter-box select{padding:.5rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text-primary);cursor:pointer}.table-container{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.document-table{width:100%;border-collapse:collapse}.document-table thead{background:var(--bg-secondary)}.document-table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border)}.document-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s}.document-table tbody tr:hover{background:var(--bg-secondary)}.document-table tbody tr:last-child{border-bottom:none}.document-table td{padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary)}.empty-cell{text-align:center;color:var(--text-secondary);padding:3rem 1rem}.link-button{background:none;border:none;color:var(--primary);font-size:.875rem;cursor:pointer;text-align:left;padding:0;text-decoration:underline}.link-button:hover{opacity:.8}.action-buttons{display:flex;gap:.5rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s}.btn-icon:hover{background:var(--primary);border-color:var(--primary);color:#fff}.btn-icon.delete:hover{background:#dc2626;border-color:#dc2626;color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}.pagination button{padding:.5rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:.875rem;color:var(--text-primary)}@media (max-width: 768px){.search-filter-section{flex-direction:column}.search-box{min-width:100%}.table-container{overflow-x:auto}.document-table{min-width:800px}}.document-detail-page{padding:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.header-left h1{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.document-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.document-no{font-size:.875rem;color:var(--text-secondary);font-family:monospace}.version-badge{display:inline-block;padding:.25rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;font-size:.75rem;font-weight:500;color:var(--text-primary)}.header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-secondary,.btn-primary,.btn-success,.btn-danger{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-secondary:hover{opacity:.8}.btn-primary:hover{opacity:.9}.btn-success{background:#059669;color:#fff}.btn-success:hover{opacity:.9}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{opacity:.9}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.status-badge.draft{background:#f3f4f6;color:#6b7280}.status-badge.review{background:#fef3c7;color:#d97706}.status-badge.approved{background:#d1fae5;color:#059669}.status-badge.obsolete{background:#fee2e2;color:#dc2626}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:2px solid transparent;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-content{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.info-section{max-width:1200px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.info-value{font-size:.875rem;color:var(--text-primary);word-break:break-all}.revisions-section{max-width:800px}.revisions-list{display:flex;flex-direction:column;gap:1rem}.revision-item{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px}.revision-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.revision-version{font-size:1rem;font-weight:600;color:var(--primary)}.revision-meta{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary)}.revision-note{margin-bottom:.75rem;padding:.75rem;background:var(--panel);border-left:3px solid var(--primary);font-size:.875rem;color:var(--text-primary);line-height:1.5}.revision-file{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--panel);border-radius:4px;font-size:.875rem;color:var(--text-primary)}.revision-file .file-size{margin-left:auto;color:var(--text-secondary)}.logs-section{max-width:1000px}.table-container{overflow-x:auto}.logs-table{width:100%;border-collapse:collapse}.logs-table thead{background:var(--bg-secondary)}.logs-table th{padding:.75rem 1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border)}.logs-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s}.logs-table tbody tr:hover{background:var(--bg-secondary)}.logs-table tbody tr:last-child{border-bottom:none}.logs-table td{padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary)}.empty-message{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-size:.875rem}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px;color:var(--text-secondary);font-size:.875rem}.error-message{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}@media (max-width: 1024px){.info-grid{grid-template-columns:1fr}}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-start}.tabs{overflow-x:auto}.tab{white-space:nowrap}.revision-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.document-upload-form{padding:1.5rem;max-width:800px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.error-message{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem;margin-bottom:1.5rem}.upload-form{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:2rem}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.section-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.file-drop-area{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:2rem;background:var(--bg-secondary);border:2px dashed var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.file-drop-area:hover{border-color:var(--primary);background:var(--panel)}.file-drop-area.drag-active{border-color:var(--primary);background:var(--panel);transform:scale(1.02)}.file-drop-area.has-file{min-height:auto;padding:1.5rem}.file-input{display:none}.drop-prompt{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.drop-prompt svg{color:var(--text-secondary)}.prompt-text{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0}.prompt-hint{font-size:.875rem;color:var(--text-secondary);margin:0}.file-preview{display:flex;align-items:center;gap:1rem;width:100%}.file-preview svg{flex-shrink:0;color:var(--primary)}.file-info{flex:1;min-width:0}.file-name{font-size:.875rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.remove-file-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.remove-file-btn:hover{background:#fee2e2;border-color:#dc2626;color:#dc2626}.upload-progress{margin-top:1rem}.progress-bar{height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:var(--primary);transition:width .3s ease}.progress-text{text-align:center;font-size:.75rem;color:var(--text-secondary)}.form-select,.form-input{width:100%;padding:.625rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text-primary);transition:border-color .2s}.form-select:focus,.form-input:focus{outline:none;border-color:var(--primary)}.form-select:disabled,.form-input:disabled{opacity:.6;cursor:not-allowed}.reference-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.form-input::-moz-placeholder{color:var(--text-secondary);opacity:.6}.form-input::placeholder{color:var(--text-secondary);opacity:.6}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.btn-secondary,.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){opacity:.8}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.document-upload-form{padding:1rem}.upload-form{padding:1.5rem}.reference-inputs{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-secondary,.btn-primary{width:100%;justify-content:center}}.rolling-plan-page{padding:20px 24px;background:var(--bg-secondary, #f8fafc);min-height:100%}.rp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.rp-title{display:flex;align-items:center;gap:10px;color:var(--text-primary, #1e293b)}.rp-title h1{font-size:20px;font-weight:600;margin:0}.rp-subtitle{color:var(--text-secondary, #64748b);font-size:13px;margin-left:8px}.month-nav{display:flex;align-items:center;gap:4px;margin-right:8px}.month-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.month-nav-btn:hover{border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6);background:#3b82f60d}.month-nav-btn:active{background:#3b82f61a}.rp-actions{display:flex;align-items:center;gap:8px}.expand-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border, #e2e8f0);border-radius:6px;background:var(--panel, #ffffff);color:var(--text-secondary, #64748b);font-size:13px;cursor:pointer;transition:all .15s}.expand-btn:hover{border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.expand-btn.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.filter-company-tabs{display:flex;gap:0;flex-shrink:0}.filter-company-tabs .company-tab{padding:6px 14px;border:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #64748b);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.filter-company-tabs .company-tab:first-child{border-radius:5px 0 0 5px}.filter-company-tabs .company-tab:last-child{border-radius:0 5px 5px 0}.filter-company-tabs .company-tab:not(:first-child){margin-left:-1px}.filter-company-tabs .company-tab:hover{background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.filter-company-tabs .company-tab.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff;z-index:1;position:relative}.filter-divider{width:1px;height:24px;background:var(--border, #e2e8f0);margin:0 4px;flex-shrink:0}.rp-filter-bar{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);flex-wrap:nowrap!important}.filter-group{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;color:var(--text-secondary, #64748b);flex-wrap:nowrap!important;flex-shrink:0}.filter-group select{display:inline-flex;padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:5px;font-size:13px;background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b);cursor:pointer;flex-shrink:0}.filter-group select:focus{outline:none;border-color:var(--primary, #3b82f6)}.legend-group{display:flex;align-items:center;gap:16px;margin-left:auto;font-size:12px;color:var(--text-secondary, #64748b)}.legend-item{display:flex;align-items:center;gap:6px}.legend-item .dot{width:10px;height:10px;border-radius:2px}.legend-item .dot.target{background:#f59e0b}.legend-item .dot.forecast{background:#3b82f6}.legend-item .dot.actual{background:#10b981}.rp-chart-section{background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);padding:16px;margin-bottom:16px}.chart-header{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:16px}.chart-grid{display:flex;gap:8px;overflow-x:auto}.chart-labels{display:flex;flex-direction:column;min-width:70px;padding-right:8px;border-right:1px solid var(--border, #e2e8f0)}.chart-label-header{height:28px}.chart-label-row{height:20px;display:flex;align-items:center;font-size:11px;font-weight:600;margin-bottom:6px}.chart-label-row.target{color:#f59e0b}.chart-label-row.forecast{color:#3b82f6}.chart-label-row.actual{color:#10b981}.chart-cell{flex:1;min-width:140px;max-width:200px;padding:10px 12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;border:1px solid var(--border, #e2e8f0);overflow:hidden}.chart-cell.current{background:#3b82f614;border-color:#3b82f64d}.chart-cell-label{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:8px;text-align:center;height:20px}.chart-cell.current .chart-cell-label{color:var(--primary, #3b82f6)}.chart-cell-data{display:flex;flex-direction:column;gap:6px}.chart-cell-row{display:flex;align-items:center;gap:8px;height:20px;overflow:hidden}.chart-mini-bar{height:10px;border-radius:3px;min-width:4px;max-width:calc(100% - 60px);flex-shrink:0;transition:width .2s ease}.chart-mini-bar.target{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.chart-mini-bar.forecast{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.chart-mini-bar.actual{background:linear-gradient(90deg,#10b981,#34d399)}.chart-cell-value{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;min-width:50px;text-align:right;margin-left:auto;flex-shrink:0}.chart-cell-value.target{color:#f59e0b}.chart-cell-value.forecast{color:#3b82f6}.chart-cell-value.actual{color:#10b981}.rp-table-section{background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);overflow-x:auto}.rp-loading,.rp-error,.rp-empty{padding:60px 20px;text-align:center;color:var(--text-secondary, #64748b)}.rp-error{color:#ef4444}.rp-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.rp-table th,.rp-table td{padding:10px 8px;border-bottom:1px solid var(--border, #e2e8f0);text-align:center;vertical-align:middle;box-sizing:border-box}.rp-table thead th{background:var(--bg-secondary, #f8fafc);font-weight:600;font-size:12px;color:var(--text-secondary, #64748b);position:sticky;top:0;z-index:10}.col-salesperson{text-align:left!important;width:140px;position:sticky;left:0;background:var(--panel, #ffffff);z-index:5}thead .col-salesperson{background:var(--bg-secondary, #f8fafc);z-index:15}.salesperson-info{display:flex;flex-direction:column;gap:2px}.salesperson-info .dept{font-size:10px;color:var(--text-secondary, #94a3b8)}.salesperson-info .name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.col-month{width:110px}.col-month.current{background:#3b82f60f!important}thead .col-month.current{background:#3b82f61f!important;color:var(--primary, #3b82f6)}.cell-data{display:flex;flex-direction:column;gap:3px;width:100%}.cell-row{display:flex;align-items:center;justify-content:flex-start;gap:6px;height:14px}.mini-bar{height:6px;border-radius:2px;min-width:2px;flex-shrink:0;transition:width .2s ease}.mini-bar.target{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.mini-bar.forecast{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.mini-bar.actual{background:linear-gradient(90deg,#10b981,#34d399)}.cell-value{font-size:10px;font-weight:500;font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.cell-value.target{color:#f59e0b}.cell-value.forecast{color:#3b82f6}.cell-value.actual{color:#10b981}.col-total{width:100px;background:var(--bg-secondary, #f8fafc)}.total-values{display:flex;flex-direction:column;gap:4px;text-align:right}.total-target{font-size:11px;font-weight:600;color:#f59e0b}.total-forecast{font-size:11px;font-weight:600;color:#3b82f6}.total-actual{font-size:11px;font-weight:600;color:#10b981}.total-values.grand .total-rolling,.total-values.grand .total-actual{font-size:13px;font-weight:700}.col-action{width:40px;color:var(--text-secondary, #94a3b8)}.data-row{cursor:pointer;transition:background .1s}.data-row:hover,.data-row:hover .col-salesperson{background:var(--bg-secondary, #f8fafc)}.data-row:hover .col-month.current{background:#3b82f61a!important}.total-row .col-salesperson{background:var(--bg-secondary, #f8fafc)}.total-row .col-month.current{background:#3b82f61f!important}@media (max-width: 1024px){.rolling-plan-page{padding:16px}.rp-header{flex-direction:column;align-items:flex-start;gap:12px}.rp-filter-bar{flex-wrap:wrap}.legend-group{width:100%;margin-left:0;margin-top:8px}.chart-grid{overflow-x:auto}.chart-cell{min-width:100px}}@media (max-width: 768px){.rp-filter-bar{flex-direction:column;align-items:flex-start;gap:12px}.filter-group{width:100%}.filter-group select{flex:1}.chart-grid{gap:8px}.chart-cell{min-width:90px;padding:10px}.chart-cell-value{font-size:12px;min-width:40px}}[data-theme=dark] .rolling-plan-page{background:var(--bg-secondary)}[data-theme=dark] .rp-filter-bar{background:var(--panel);border-color:var(--border)}[data-theme=dark] .filter-group select{background:var(--bg-secondary);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .filter-group select option{background:var(--panel);color:var(--text-primary)}[data-theme=dark] .filter-company-tabs .company-tab{background:var(--bg-secondary);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .filter-company-tabs .company-tab:hover{background:var(--panel);color:var(--text-primary)}[data-theme=dark] .filter-company-tabs .company-tab.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}[data-theme=dark] .month-nav-btn{background:var(--panel);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .month-nav-btn:hover{background:var(--bg-secondary);border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}[data-theme=dark] .expand-btn{background:var(--panel);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .expand-btn:hover{border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}[data-theme=dark] .expand-btn.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}[data-theme=dark] .rp-chart-section{background:var(--panel);border-color:var(--border)}[data-theme=dark] .chart-labels{border-color:var(--border)}[data-theme=dark] .chart-cell{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .chart-cell.current{background:#3b82f626;border-color:#3b82f666}[data-theme=dark] .rp-table-section{background:var(--panel);border-color:var(--border)}[data-theme=dark] .rp-table th{background:var(--bg-secondary);color:var(--text-secondary)}[data-theme=dark] .rp-table td{border-color:var(--border)}[data-theme=dark] .col-salesperson{background:var(--panel)}[data-theme=dark] thead .col-salesperson{background:var(--bg-secondary)}[data-theme=dark] .col-month.current{background:#3b82f61f!important}[data-theme=dark] thead .col-month.current{background:#3b82f633!important}[data-theme=dark] .col-total,[data-theme=dark] .data-row:hover,[data-theme=dark] .data-row:hover .col-salesperson{background:var(--bg-secondary)}[data-theme=dark] .data-row:hover .col-month.current{background:#3b82f62e!important}[data-theme=dark] .total-row{background:var(--bg-secondary)}[data-theme=dark] .total-row td{border-color:var(--border)}[data-theme=dark] .total-row .col-salesperson{background:var(--bg-secondary)}.rolling-plan-detail-page{padding:24px;background:var(--bg-secondary, #f8fafc);height:100vh;max-height:100vh;overflow:hidden;display:flex;flex-direction:column}.page-header{display:flex;align-items:center;gap:24px;margin-bottom:20px;flex-wrap:wrap;flex-shrink:0}.back-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:6px;color:var(--text-secondary, #64748b);cursor:pointer;font-size:14px;transition:all .15s}.back-button:hover{background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b)}.header-info{flex:1}.header-info h1{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 8px}.info-badges{display:flex;gap:12px}.badge{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:13px;color:var(--text-secondary, #64748b)}.header-actions{display:flex;gap:8px}.btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);color:var(--text-primary, #1e293b)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary, #f8fafc)}.btn-primary{background:var(--primary, #3b82f6);border:1px solid var(--primary, #3b82f6);color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.period-selector{display:flex;gap:16px;margin-bottom:20px;padding:16px;background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0)}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}.filter-group select{padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:14px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.table-container{background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);overflow-x:auto}.loading-state,.error-state,.empty-state{padding:48px;text-align:center;color:var(--text-secondary, #64748b)}.error-state{color:#ef4444}.detail-table{width:100%;border-collapse:collapse;font-size:13px;min-width:1200px}.detail-table th,.detail-table td{padding:8px 10px;border-bottom:1px solid var(--border, #e2e8f0);text-align:right}.detail-table th{background:var(--bg-secondary, #f8fafc);font-weight:600;color:var(--text-secondary, #64748b);position:sticky;top:0;z-index:10;white-space:nowrap}.sticky-col.col-customer{position:sticky;left:0;background:var(--panel, #ffffff);z-index:5;text-align:left;min-width:150px;font-weight:500;vertical-align:middle}th.sticky-col{z-index:15;background:var(--bg-secondary, #f8fafc)}.status-badge{display:inline-block;margin-left:8px;padding:2px 6px;font-size:11px;border-radius:4px;font-weight:500}.status-badge.confirmed{background:#dcfce7;color:#16a34a}.col-type{min-width:50px;text-align:center;font-weight:500}.type-plan{background:#eff6ff;color:#3b82f6}.type-actual{background:#f0fdf4;color:#16a34a}.col-amount{min-width:70px;font-variant-numeric:tabular-nums}.amount-input{width:100%;padding:6px 8px;border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:13px;text-align:right;font-variant-numeric:tabular-nums;background:var(--panel, #ffffff)}.amount-input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.amount-input:disabled{background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #64748b)}.actual-value{color:var(--text-secondary, #64748b);font-style:italic}.readonly-month{background:var(--bg-secondary, #f8fafc)}.readonly-value{display:block;padding:6px 8px;color:var(--text-secondary, #94a3b8);text-align:right;font-variant-numeric:tabular-nums}.col-total{min-width:80px;font-weight:600;background:var(--bg-secondary, #f8fafc);font-variant-numeric:tabular-nums}.col-history{width:50px;text-align:center;vertical-align:middle}.history-btn{padding:6px;background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:4px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.history-btn:hover{background:var(--bg-secondary, #f8fafc);color:var(--primary, #3b82f6)}.plan-row td,.actual-row td{border-bottom:1px solid var(--border, #e2e8f0)}.actual-row td{background:var(--bg-secondary, #f8fafc)}.plan-row .sticky-col{border-bottom:none}.total-row{background:var(--bg-secondary, #f8fafc)}.total-row td{border-top:2px solid var(--border, #e2e8f0);font-weight:600}.total-row .sticky-col{background:var(--bg-secondary, #f8fafc)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--panel, #ffffff);border-radius:12px;max-width:90vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.modal-header h2{font-size:16px;font-weight:600;margin:0;color:var(--text-primary, #1e293b)}.close-btn{padding:4px;background:transparent;border:none;color:var(--text-secondary, #64748b);cursor:pointer;border-radius:4px}.close-btn:hover{background:var(--bg-secondary, #f8fafc)}.modal-body{padding:20px;overflow:auto}.no-history{text-align:center;color:var(--text-secondary, #64748b);padding:24px}.history-table{width:100%;border-collapse:collapse;font-size:12px}.history-table th,.history-table td{padding:8px 10px;border:1px solid var(--border, #e2e8f0);text-align:right;white-space:nowrap}.history-table th{background:var(--bg-secondary, #f8fafc);font-weight:600;color:var(--text-secondary, #64748b)}.history-table td:first-child,.history-table td:nth-child(2),.history-table td:nth-child(3){text-align:left}.three-column-layout{display:grid;grid-template-columns:420px 1fr 780px;gap:16px;flex:1;min-height:0;overflow:hidden}.left-panel,.center-panel,.right-panel{background:var(--panel, #ffffff);border-radius:8px;border:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:hidden;height:100%}.left-panel>.panel-header,.center-panel>.panel-header,.right-panel>.panel-header{flex:0 0 auto}.left-panel>.search-box,.right-panel>.search-box{flex:0 0 auto}.left-panel>.customer-list,.right-panel>.rolling-list,.center-panel>.rolling-input-grid,.center-panel>.empty-selection{flex:1 1 auto;min-height:0;overflow-y:auto}.left-panel>.customer-list::-webkit-scrollbar,.right-panel>.rolling-list::-webkit-scrollbar,.center-panel>.multi-customer-input::-webkit-scrollbar{width:6px}.left-panel>.customer-list::-webkit-scrollbar-track,.right-panel>.rolling-list::-webkit-scrollbar-track,.center-panel>.multi-customer-input::-webkit-scrollbar-track{background:transparent}.left-panel>.customer-list::-webkit-scrollbar-thumb,.right-panel>.rolling-list::-webkit-scrollbar-thumb,.center-panel>.multi-customer-input::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:3px}.left-panel>.customer-list::-webkit-scrollbar-thumb:hover,.right-panel>.rolling-list::-webkit-scrollbar-thumb:hover,.center-panel>.multi-customer-input::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}.input-body::-webkit-scrollbar{width:6px}.input-body::-webkit-scrollbar-track{background:transparent}.input-body::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:3px}.input-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);flex:0 0 auto}.panel-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.panel-header span{font-size:12px;color:var(--text-secondary, #64748b)}.panel-header .confirm-all-btn{margin-left:auto;display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .15s}.panel-header .confirm-all-btn:hover:not(:disabled){background:#059669}.panel-header .confirm-all-btn:disabled{opacity:.5;cursor:not-allowed}.sales-period-legend{padding:8px 16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);font-size:11px;color:var(--text-secondary, #64748b);flex:0 0 auto}.search-box{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);flex:0 0 auto}.search-box svg{color:var(--text-secondary, #94a3b8);flex-shrink:0}.search-box input{flex:1;padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:13px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b)}.search-box input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.search-box input::-moz-placeholder{color:var(--text-secondary, #94a3b8)}.search-box input::placeholder{color:var(--text-secondary, #94a3b8)}.customer-list{flex:1 1 auto;overflow-y:auto;min-height:0}.customer-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border, #e2e8f0);cursor:pointer;transition:background .15s}.customer-item:hover{background:var(--bg-secondary, #f8fafc)}.customer-item.selected{background:var(--primary-bg, rgba(59, 130, 246, .1));border-left:3px solid var(--primary, #3b82f6);padding-left:13px}.customer-checkbox{flex-shrink:0}.checkbox-icon{color:var(--text-secondary, #94a3b8)}.checkbox-icon.checked{color:var(--primary, #3b82f6)}.customer-item .customer-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.customer-item .customer-name-row{display:flex;align-items:center;justify-content:flex-start;gap:6px;text-align:left}.customer-item .company-type-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}.customer-item .company-type-icon.tnt{background:#3b82f6;color:#fff}.customer-item .company-type-icon.dys{background:#10b981;color:#fff}.customer-item .customer-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.customer-item .customer-sales{font-size:11px;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.center-panel .panel-header{flex-wrap:wrap;gap:8px}.center-panel .panel-header h3{display:flex;align-items:center;gap:8px;flex:0 0 auto}.center-panel .panel-header .month-nav{flex:1;justify-content:center}.center-panel .panel-header .customer-name{color:var(--primary, #3b82f6);font-weight:600}.panel-actions{display:flex;align-items:center;gap:8px}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:6px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.btn-icon:hover{background:var(--bg-secondary, #f8fafc);color:var(--primary, #3b82f6)}.btn-sm{padding:6px 12px;font-size:13px}.header-select{padding:8px 12px;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:14px;background:var(--panel, #ffffff);color:var(--text-primary, #1e293b);cursor:pointer}.empty-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary, #64748b);min-height:0}.empty-selection svg{margin-bottom:16px;opacity:.5}.empty-selection p{margin:0;font-size:14px}.empty-selection .hint{margin-top:8px;font-size:12px;color:var(--text-secondary, #94a3b8)}.multi-customer-input{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.input-header-row{display:grid;grid-template-columns:minmax(140px,1.5fr) repeat(3,1fr) 70px;gap:8px;padding:10px 16px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);position:sticky;top:0;z-index:1}.input-header-row .cell{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-align:center}.input-header-row .cell.customer-cell{text-align:left}.input-body{flex:1;overflow-y:auto}.input-data-row{display:grid;grid-template-columns:minmax(140px,1.5fr) repeat(3,1fr) 70px;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border, #e2e8f0);align-items:center}.input-data-row:hover{background:var(--bg-secondary, #f8fafc)}.input-data-row .cell.customer-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.input-data-row .customer-cell .customer-name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-data-row .customer-cell .customer-sales{font-size:11px;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.input-data-row .cell.input-cell{text-align:center}.input-data-row .cell.input-cell input{width:100%;max-width:90px;padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:13px;text-align:right;font-variant-numeric:tabular-nums;background:var(--panel, #ffffff)}.input-data-row .cell.input-cell input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.input-data-row .cell.input-cell input:disabled{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #94a3b8);cursor:not-allowed}.input-data-row .cell.action-cell{display:flex;gap:4px;justify-content:flex-end}.input-data-row .btn-icon{width:28px;height:28px}.input-data-row .btn-icon.remove:hover{background:#fee2e2;border-color:#fecaca;color:#ef4444}.rolling-input-grid{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.input-row{display:grid;grid-template-columns:60px 1fr 80px;gap:12px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.input-row.header-row{background:var(--bg-secondary, #f8fafc);font-weight:600;font-size:12px;color:var(--text-secondary, #64748b);position:sticky;top:0;z-index:1}.input-row.current-month{background:#eff6ff}.input-row.readonly{background:var(--bg-secondary, #f8fafc)}.input-row .cell{font-size:13px}.input-row .month-cell{font-weight:500;color:var(--text-primary, #1e293b)}.input-row .input-cell input{width:100%;padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:13px;text-align:right;font-variant-numeric:tabular-nums;background:var(--panel, #ffffff)}.input-row .input-cell input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.input-row .input-cell input:disabled{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #94a3b8);cursor:not-allowed}.input-row .input-cell .readonly-value{text-align:right;color:var(--text-secondary, #94a3b8);font-variant-numeric:tabular-nums}.input-row .actual-cell{text-align:right;color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.input-row.total-row{background:var(--bg-secondary, #f8fafc);border-top:2px solid var(--border, #e2e8f0);font-weight:600;position:sticky;bottom:0}.input-row .total-value{text-align:right;color:var(--primary, #3b82f6);font-variant-numeric:tabular-nums}.input-row .actual-total{text-align:right;color:#10b981;font-variant-numeric:tabular-nums}.panel-header .count{font-size:12px;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f1f5f9);padding:2px 8px;border-radius:10px}.right-panel .panel-header{display:flex;align-items:center;gap:8px}.right-panel .panel-header h3{flex:1}.month-nav{display:flex;gap:4px}.month-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:4px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.month-nav-btn:hover{background:var(--bg-secondary, #f8fafc);border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.month-nav-btn.today{width:auto;padding:0 10px;font-size:11px;font-weight:500;margin-left:4px;background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.month-nav-btn.today:hover{background:#2563eb;border-color:#2563eb}.month-range{font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);padding:0 8px;white-space:nowrap}.right-month-header{display:grid;grid-template-columns:minmax(100px,1.2fr) repeat(4,1fr);gap:4px;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0);position:sticky;top:0;z-index:1}.month-header-cell{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-align:center;padding:4px 2px}.month-header-cell.customer{text-align:left}.month-header-cell.current{color:var(--primary, #3b82f6);background:#3b82f61a;border-radius:4px}.rolling-list{flex:1 1 auto;overflow-y:auto;min-height:0}.rolling-list.monthly-view{padding:0}.rolling-item-monthly{display:grid;grid-template-columns:minmax(100px,1.2fr) repeat(4,1fr);gap:4px;padding:8px 12px;border-bottom:1px solid var(--border, #e2e8f0);align-items:center}.rolling-item-monthly:hover{background:var(--bg-secondary, #f8fafc)}.rolling-item-monthly .customer-cell{min-width:0}.rolling-item-monthly .customer-cell .customer-name{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rolling-item-monthly .customer-cell .confirmed-icon{color:#10b981;flex-shrink:0}.month-value-cell{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;text-align:right;color:var(--text-primary, #1e293b);padding:4px 6px}.month-value-cell.current{background:#3b82f61a;border-radius:4px;color:var(--primary, #3b82f6);font-weight:600}.rolling-item{padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);cursor:pointer;transition:background .15s}.rolling-item:hover{background:var(--bg-secondary, #f8fafc)}.rolling-item.selected{background:var(--primary-bg, rgba(59, 130, 246, .1));border-left:3px solid var(--primary, #3b82f6);padding-left:13px}.rolling-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rolling-item-header .name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.rolling-item-header .customer-name{display:flex;align-items:center;gap:6px}.rolling-item-header .customer-name .confirmed-icon{color:#10b981}.rolling-item-header .total{font-size:12px;font-weight:600;color:var(--primary, #3b82f6);font-variant-numeric:tabular-nums}.rolling-item-chart{display:flex;flex-direction:column;gap:4px}.chart-row{display:grid;grid-template-columns:40px 1fr 60px;gap:8px;align-items:center;font-size:11px}.chart-row .chart-label{color:var(--text-secondary, #64748b)}.chart-bar-container{height:14px;background:var(--bg-secondary, #f1f5f9);border-radius:2px;overflow:hidden}.chart-bar{height:100%;border-radius:2px;transition:width .3s ease}.chart-bar.target{background:#94a3b8}.chart-bar.rolling{background:var(--primary, #3b82f6)}.chart-bar.actual{background:#10b981}.chart-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary, #64748b)}.chart-value.highlight,.chart-value.forecast{font-weight:700;color:var(--primary, #3b82f6);font-size:12px}.chart-label.target{color:#94a3b8}.chart-label.forecast{color:var(--primary, #3b82f6);font-weight:600}.chart-label.actual{color:#10b981}.chart-bar.forecast{background:var(--primary, #3b82f6)}.empty-list{padding:48px 24px;text-align:center;color:var(--text-secondary, #64748b)}.empty-list svg{margin-bottom:12px;opacity:.5}.empty-list p{margin:0;font-size:13px}.three-column{padding:16px 24px}.right-panel.wide{min-width:500px}.rolling-item-months{display:flex;gap:6px;padding:4px 0}.month-chart-cell{flex:1;display:flex;flex-direction:column;gap:4px;padding:6px 8px;min-width:100px;border-radius:6px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border, #e2e8f0);transition:all .15s;overflow:hidden}.month-chart-cell.current{background:#3b82f614;border-color:#3b82f64d}.month-chart-cell .month-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-align:center;white-space:nowrap;margin-bottom:4px}.month-chart-cell.current .month-label{color:var(--primary, #3b82f6)}.month-chart-cell .month-bars{display:flex;flex-direction:column;gap:4px}.month-chart-cell .bar-row{display:flex;align-items:center;gap:4px;height:16px;overflow:hidden}.month-chart-cell .mini-bar{height:8px;border-radius:2px;min-width:2px;max-width:calc(100% - 40px);flex-shrink:0;transition:width .2s ease}.month-chart-cell .mini-bar.target{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.month-chart-cell .mini-bar.forecast{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.month-chart-cell .mini-bar.actual{background:linear-gradient(90deg,#10b981,#34d399)}.month-chart-cell .bar-value{font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;min-width:32px;text-align:right;margin-left:auto;flex-shrink:0}.month-chart-cell .bar-value.target{color:#f59e0b}.month-chart-cell .bar-value.forecast{color:#3b82f6}.month-chart-cell .bar-value.actual{color:#10b981}.rolling-item.editable{cursor:default;transition:all .15s}.rolling-item.editable:hover{background:#3b82f608}.rolling-item.locked{cursor:not-allowed;opacity:.85}.rolling-item.editing{background:#3b82f614;border-left:3px solid var(--primary, #3b82f6);padding-left:13px}.rolling-item-header .status-icon{margin-right:6px;flex-shrink:0}.rolling-item-header .status-icon.draft{color:#f59e0b}.rolling-item-header .status-icon.confirmed{color:#10b981}.rolling-item-header .company-type-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:9px;font-weight:700;flex-shrink:0;margin-right:4px}.rolling-item-header .company-type-icon.tnt{background:#3b82f6;color:#fff}.rolling-item-header .company-type-icon.dys{background:#10b981;color:#fff}.rolling-item-header .header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.rolling-item-header .editing-badge{font-size:10px;font-weight:500;padding:2px 6px;background:var(--primary, #3b82f6);color:#fff;border-radius:4px}.rolling-item-header .edit-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:4px;color:var(--primary, #3b82f6);cursor:pointer;transition:all .15s}.rolling-item-header .edit-btn:hover{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.rolling-item-header .edit-btn svg{flex-shrink:0}@media (max-width: 1920px){.three-column-layout{grid-template-columns:380px 1fr 720px}}@media (max-width: 1600px){.three-column-layout{grid-template-columns:340px 1fr 640px}}@media (max-width: 1400px){.three-column-layout{grid-template-columns:300px 1fr 560px}.month-chart-cell .bar-row{height:14px}.month-chart-cell .mini-bar{height:6px}.month-chart-cell .bar-value{font-size:9px;min-width:28px}}@media (max-width: 1200px){.three-column-layout{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.left-panel{grid-column:1;grid-row:1}.center-panel{grid-column:2;grid-row:1 / 3}.right-panel{grid-column:1;grid-row:2}}@media (max-width: 768px){.rolling-plan-detail-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%}.header-actions .btn{flex:1;justify-content:center}.period-selector{flex-direction:column;gap:12px}.filter-group{width:100%}.filter-group select{flex:1}.three-column-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto}.left-panel,.center-panel,.right-panel{grid-column:1;max-height:400px}}.center-customer-card{background:var(--panel, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:12px;margin-bottom:12px}.center-customer-card:last-child{margin-bottom:0}.center-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border, #e2e8f0)}.center-card-header .customer-info{display:flex;flex-direction:column;gap:2px}.center-card-header .customer-name-row{display:flex;align-items:center;gap:6px}.center-card-header .company-type-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}.center-card-header .company-type-icon.tnt{background:#3b82f6;color:#fff}.center-card-header .company-type-icon.dys{background:#10b981;color:#fff}.center-card-header .customer-name{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.center-card-header .customer-sales{font-size:11px;color:var(--text-secondary, #64748b)}.center-card-header .card-actions{display:flex;gap:4px}.center-chart-area{display:flex;gap:8px;margin-bottom:12px}.center-chart-cell{flex:1;padding:8px;min-width:100px;background:var(--bg-secondary, #f8fafc);border-radius:6px;border:1px solid var(--border, #e2e8f0);overflow:hidden}.center-chart-cell .chart-month-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-align:center;margin-bottom:6px}.center-chart-cell .chart-bars{display:flex;flex-direction:column;gap:4px}.center-chart-cell .bar-row{display:flex;align-items:center;gap:4px;height:16px;overflow:hidden}.center-chart-cell .mini-bar{height:8px;border-radius:2px;min-width:2px;max-width:calc(100% - 40px);flex-shrink:0;transition:width .2s ease}.center-chart-cell .mini-bar.target{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.center-chart-cell .mini-bar.forecast{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.center-chart-cell .mini-bar.actual{background:linear-gradient(90deg,#10b981,#34d399)}.center-chart-cell .bar-value{font-size:10px;font-weight:600;min-width:28px;text-align:right;margin-left:auto;flex-shrink:0}.center-chart-cell .bar-value.target{color:#f59e0b}.center-chart-cell .bar-value.forecast{color:#3b82f6}.center-chart-cell .bar-value.actual{color:#10b981}.center-input-area{padding-top:12px;border-top:1px solid var(--border, #e2e8f0)}.center-input-area .input-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);margin-bottom:8px}.center-input-area .input-fields{display:flex;gap:8px}.center-input-area .input-field-group{flex:1;display:flex;flex-direction:column;gap:4px}.center-input-area .input-field-group label{font-size:10px;color:var(--text-secondary, #64748b);text-align:center}.center-input-area .input-field-group input{width:100%;padding:8px;border:1px solid var(--border, #e2e8f0);border-radius:4px;font-size:13px;text-align:center;background:var(--panel, #ffffff)}.center-input-area .input-field-group input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.center-input-area .input-field-group input:disabled{background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #64748b);cursor:not-allowed}.center-input-area .input-field-group.readonly{opacity:.6}.center-input-area .input-field-group.readonly label{color:var(--text-secondary, #94a3b8)}[data-theme=dark] .rolling-plan-detail-page{background:var(--bg-secondary)}[data-theme=dark] .left-panel,[data-theme=dark] .center-panel,[data-theme=dark] .right-panel{background:var(--panel);border-color:var(--border)}[data-theme=dark] .panel-header{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .customer-item{border-color:var(--border)}[data-theme=dark] .customer-item.selected,[data-theme=dark] .rolling-item.selected{background:#3b82f626}[data-theme=dark] .center-input-area .input-field-group input{background:var(--panel);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .center-input-area .input-field-group input:disabled{background:var(--bg-secondary);color:var(--text-secondary)}[data-theme=dark] .rolling-item{border-color:var(--border)}[data-theme=dark] .month-nav-btn{background:var(--panel);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .month-nav-btn:hover:not(:disabled){background:var(--bg-secondary)}[data-theme=dark] .btn-secondary{background:var(--panel);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}[data-theme=dark] .back-button{background:var(--panel);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .back-button:hover{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .badge{background:var(--bg-secondary);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .input-header,[data-theme=dark] .input-body{background:var(--panel)}[data-theme=dark] .customer-input-card{background:var(--panel);border-color:var(--border)}[data-theme=dark] .customer-input-card .card-header{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .filter-group select,[data-theme=dark] .header-select{background:var(--bg-secondary);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .filter-group select option,[data-theme=dark] .header-select option{background:var(--panel);color:var(--text-primary)}[data-theme=dark] .period-selector{background:var(--panel);border-color:var(--border)}[data-theme=dark] .search-box input{background:var(--panel);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .search-box input::-moz-placeholder{color:var(--text-secondary)}[data-theme=dark] .search-box input::placeholder{color:var(--text-secondary)}[data-theme=dark] .center-customer-card{background:var(--panel);border-color:var(--border)}[data-theme=dark] .center-card-header{border-color:var(--border)}[data-theme=dark] .center-chart-cell{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .center-input-area{border-color:var(--border)}[data-theme=dark] .month-chart-cell{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .month-chart-cell.current{background:#3b82f626;border-color:#3b82f666}[data-theme=dark] .rolling-item-monthly{border-color:var(--border)}[data-theme=dark] .rolling-item-monthly:hover{background:var(--bg-secondary)}[data-theme=dark] .right-month-header,[data-theme=dark] .input-header-row{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .input-data-row{border-color:var(--border)}[data-theme=dark] .input-data-row:hover{background:var(--bg-secondary)}[data-theme=dark] .input-data-row .cell.input-cell input{background:var(--panel);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .input-data-row .cell.input-cell input:disabled{background:var(--bg-secondary);color:var(--text-secondary)}[data-theme=dark] .modal-content{background:var(--panel)}[data-theme=dark] .modal-header{border-color:var(--border)}[data-theme=dark] .history-table th{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .history-table td{border-color:var(--border)}:root{--sidebar-width: 230px;--right-panel-width: 280px;--header-height: 65px;--app-radius: 10px;--app-shadow: 0 12px 40px rgba(0,0,0,.35)}[data-theme=light]{--app-bg: var(--bg-base);--sidebar-bg: var(--glass-bg);--sidebar-border: var(--glass-border);--header-bg: rgba(255, 255, 255, .6);--header-border: var(--glass-border);--panel-bg: rgba(255, 255, 255, .9);--card-bg: var(--glass-bg);--domain-bg: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--domain-border: var(--border);--menu-hover-bg: var(--hover-bg);--menu-active-bg: linear-gradient(135deg, rgba(59, 130, 246, .12) 0%, rgba(139, 92, 246, .08) 100%);--menu-active-border: var(--accent);--accent: #3b82f6;--accent2: #8b5cf6;--accent3: #10b981;--accent-gradient: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--pill-bg: rgba(241, 245, 249, .8);--pill-border: var(--border);--text-primary: var(--text-primary);--text-secondary: var(--text-secondary);--text-muted: var(--muted);--view-col-bg: #ffffff;--view-track-bg: #f8fafc;--view-track-border: rgba(0, 0, 0, .04);--table-border: var(--border);--table-hover-bg: var(--hover-bg);--progress-bg: rgba(0, 0, 0, .04);--gantt-grid-color: rgba(0, 0, 0, .04);--gantt-bar-text: #1e293b;--roadmap-block-text: #ffffff;--shadow-sm: var(--shadow-sm);--shadow-md: var(--shadow-md);--shadow-lg: var(--shadow-lg);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15)}[data-theme=dark]{--app-bg: var(--bg-base);--sidebar-bg: rgba(8, 9, 10, .6);--sidebar-border: var(--glass-border);--header-bg: rgba(8, 9, 10, .6);--header-border: var(--glass-border);--panel-bg: transparent;--card-bg: var(--glass-bg);--domain-bg: var(--glass-bg);--domain-border: var(--glass-border);--menu-hover-bg: rgba(255, 255, 255, .05);--menu-active-bg: linear-gradient(135deg, rgba(6, 182, 212, .15) 0%, rgba(59, 130, 246, .1) 100%);--menu-active-border: var(--accent-cyan);--accent: var(--accent-cyan);--accent2: var(--accent-blue);--accent3: #34d399;--accent-gradient: linear-gradient(135deg, var(--accent-cyan) 0%, var(--accent-blue) 100%);--pill-bg: rgba(255, 255, 255, .08);--pill-border: rgba(255, 255, 255, .15);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--view-col-bg: rgba(30, 41, 59, .9);--view-track-bg: rgba(15, 23, 42, .4);--view-track-border: var(--glass-border);--table-border: var(--glass-border);--table-hover-bg: rgba(255, 255, 255, .05);--progress-bg: rgba(255, 255, 255, .04);--gantt-grid-color: rgba(255, 255, 255, .03);--gantt-bar-text: #ffffff;--roadmap-block-text: #0a0f1a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 25px rgba(6, 182, 212, .2)}.app-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr var(--right-panel-width);grid-template-rows:var(--header-height) 1fr;min-height:100vh;background-color:var(--app-bg);background-image:radial-gradient(circle at 10% 20%,color-mix(in oklch,var(--accent-blue),transparent 85%) 0%,transparent 40%),radial-gradient(circle at 90% 80%,color-mix(in oklch,var(--accent-cyan),transparent 90%) 0%,transparent 40%);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:13px;color:var(--text-primary);position:relative}.app-layout:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--noise);opacity:.03;pointer-events:none;z-index:9999}.app-layout:not(:has(.app-right-panel)){grid-template-columns:var(--sidebar-width) 1fr}.app-layout.no-right-panel{grid-template-columns:var(--sidebar-width) 1fr}.app-header{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:0 20px;height:var(--header-height);min-height:65px;background:var(--header-bg);border-bottom:1px solid var(--header-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.app-header .logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--text-primary);min-width:200px}.app-header .logo img{height:42px;width:auto;max-width:180px;-o-object-fit:contain;object-fit:contain}.app-header .logo-text{display:flex;flex-direction:column;line-height:1.3}.app-header .logo-text span{font-size:18px;font-weight:700}.app-header .logo-text small{font-size:12px;font-weight:400;color:var(--text-muted)}.pill{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--pill-bg);border:1px solid var(--pill-border);border-radius:999px;font-size:12px;color:var(--text-secondary)}.pill.search{flex:1;max-width:400px;padding:2px 10px;height:28px;cursor:text}.pill.search input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:12px}.pill.search input::-moz-placeholder{color:var(--text-secondary)}.pill.search input::placeholder{color:var(--text-secondary)}.pill svg{width:14px;height:14px;color:var(--text-secondary)}.btn-quick{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--accent-gradient);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:12px;cursor:pointer;box-shadow:0 4px 15px #3b82f64d;transition:all .2s ease;position:relative;overflow:hidden}.btn-quick:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-quick:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.btn-quick:hover:before{left:100%}.btn-quick:active{transform:translateY(0)}.header-user{display:flex;align-items:center;gap:12px;margin-left:auto}.header-user .avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#64748b,#94a3b8);border:2px solid var(--pill-border)}.header-user .user-info{font-size:13px;font-weight:500;line-height:1.3;color:var(--text-primary)}.header-user .user-info small{color:var(--text-secondary);font-size:11px;font-weight:400}.header-user .theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--pill-bg);border:1px solid var(--pill-border);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.header-user .theme-toggle:hover{background:var(--menu-hover-bg);color:var(--accent);border-color:var(--accent)}.header-user .logout-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;background:var(--pill-bg);border:1px solid var(--pill-border);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.header-user .logout-btn:hover{background:var(--menu-hover-bg);border-color:var(--accent);color:var(--accent)}.header-user .logout-btn svg{width:14px;height:14px}.app-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);padding:12px;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));overflow-y:auto;overflow-x:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.app-sidebar::-webkit-scrollbar{width:4px}.app-sidebar::-webkit-scrollbar-track{background:transparent}.app-sidebar::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px;opacity:.5}.app-sidebar::-webkit-scrollbar-thumb:hover{background:var(--accent)}.sidebar-title{margin:12px 0 8px;padding:0 8px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.sidebar-title:first-child{margin-top:0}.sidebar-menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.sidebar-menu li{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;border:1px solid transparent;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .12s ease}.sidebar-menu li:hover{background:var(--menu-hover-bg);border-color:var(--accent)}.sidebar-menu li.active{background:var(--menu-active-bg);border-color:var(--menu-active-border)}.sidebar-menu li .icon{width:18px;height:18px;margin-right:8px;color:var(--text-muted)}.sidebar-menu li.active .icon{color:var(--accent)}.sidebar-menu .badge,.domain-list .badge{background:linear-gradient(135deg,var(--accent2),#ec4899);color:#fff;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:600;box-shadow:0 2px 6px #8b5cf64d;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.8}}.domain-hub{margin-top:8px}.domain-hub-header{display:flex;justify-content:space-between;align-items:center;padding:0 8px;margin-bottom:8px}.domain-hub-header .sidebar-title{margin:0;padding:0}.domain-hub-header .toggle-link{font-size:11px;color:var(--accent);cursor:pointer;transition:all .2s ease;padding:4px 10px;border-radius:6px;background:transparent}.domain-hub-header .toggle-link:hover{color:var(--accent2);background:var(--menu-hover-bg)}.domain-block{background:var(--domain-bg);border:1px solid var(--domain-border);border-radius:12px;margin-bottom:8px;overflow:hidden;transition:all .2s ease;box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.domain-block:hover{border-color:#3b82f633;box-shadow:var(--shadow-md)}.domain-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:transparent;border:none;color:var(--text-primary);font-weight:600;font-size:13px;cursor:pointer;transition:all .15s ease}.domain-toggle:hover{background:var(--menu-hover-bg)}.domain-toggle .domain-icon{display:flex;align-items:center;gap:10px}.domain-toggle .domain-icon svg{width:18px;height:18px;transition:transform .2s ease}.domain-toggle:hover .domain-icon svg{transform:scale(1.1)}.domain-toggle .chevron{width:14px;height:14px;color:var(--text-muted);transition:transform .25s ease}.domain-toggle.open .chevron{transform:rotate(180deg)}.domain-list{list-style:none;padding:0 8px;margin:0;display:flex;flex-direction:column;gap:2px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.domain-list.open{max-height:1000px;padding-bottom:10px}.domain-list li{padding:9px 12px;border-radius:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;display:flex;justify-content:space-between;align-items:center;position:relative}.domain-list li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--accent-gradient);border-radius:0 2px 2px 0;transition:height .15s ease}.domain-list li:hover{background:var(--menu-hover-bg);color:var(--text-primary);padding-left:16px}.domain-list li:hover:before{height:60%}.domain-list li.active{background:var(--menu-active-bg);color:var(--accent);padding-left:16px;font-weight:500}.domain-list li.active:before{height:70%}.app-main{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.app-main .main-view{flex:1;min-height:0;display:flex;flex-direction:column}.app-main .main-view .standard-map{flex:1;min-height:600px}.chain-breadcrumb{display:flex;gap:8px;flex-wrap:wrap}.chain-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:#38bdf81a;border:1px solid rgba(56,189,248,.25);border-radius:999px;font-size:12px;color:var(--text-primary)}.view-switcher{display:flex;gap:6px;flex-wrap:wrap}.view-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--sidebar-border);background:var(--card-bg);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .15s}.view-btn:hover{border-color:var(--accent)}.view-btn.active{border-color:var(--accent);background:var(--menu-active-bg);box-shadow:0 0 0 1px #38bdf84d}.view-area{flex:1;background:transparent;border:none;padding:0;min-height:400px}[data-theme=light] .view-area{background:#fff}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.summary-card{background:var(--card-bg);border:1px solid var(--sidebar-border);border-radius:var(--app-radius);padding:14px;box-shadow:var(--app-shadow)}.summary-card strong{display:block;font-size:13px;color:var(--text-primary);margin-bottom:4px}.summary-card p{margin:0;font-size:12px;color:var(--text-muted)}.app-right-panel{background:var(--panel-bg);border-left:1px solid var(--sidebar-border);padding:16px;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));overflow-y:auto}.app-right-panel>*{width:100%;box-sizing:border-box}.right-section{margin-bottom:20px}.right-section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}.right-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:12px;color:var(--text-primary);border-bottom:1px solid var(--sidebar-border)}.right-item:last-child{border-bottom:none}.right-item .badge{font-size:10px;padding:3px 8px;border-radius:999px;background:var(--accent2);color:#fff}.right-item .badge.urgent{background:#ef4444}.right-item .badge.link{background:var(--card-bg);color:var(--accent);border:1px solid var(--sidebar-border);cursor:pointer}.right-item .badge.link:hover{background:var(--menu-hover-bg)}.app-layout-resizable{display:flex;flex-direction:column;min-height:100vh;background-color:var(--app-bg);background-image:radial-gradient(circle at 10% 20%,color-mix(in oklch,var(--accent-blue),transparent 85%) 0%,transparent 40%),radial-gradient(circle at 90% 80%,color-mix(in oklch,var(--accent-cyan),transparent 90%) 0%,transparent 40%);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:13px;color:var(--text-primary);position:relative}.app-layout-resizable:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--noise);opacity:.03;pointer-events:none;z-index:9999}.app-layout-resizable .app-body{display:flex;flex:1;overflow:hidden}.app-layout-resizable .app-sidebar{height:calc(100vh - var(--header-height));overflow-y:auto;overflow-x:hidden;flex-shrink:0}.app-layout-resizable .app-main{height:calc(100vh - var(--header-height));overflow-y:auto;overflow-x:hidden}.app-layout-resizable .app-right-panel{height:calc(100vh - var(--header-height));overflow-y:auto;flex-shrink:0}.app-layout-resizable .app-left-list-panel{height:calc(100vh - var(--header-height));overflow-y:auto;overflow-x:hidden;flex-shrink:0}.resize-handle{position:relative;background:transparent;transition:background .15s ease}.resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;border-radius:2px;background:var(--border);opacity:.5;transition:opacity .15s ease,background .15s ease}.resize-handle:hover{background:var(--menu-hover-bg)!important}.resize-handle:hover:after{opacity:.8!important;background:var(--accent)!important}.resize-handle:hover .resize-handle-indicator{opacity:.6!important}@media (min-width: 1600px){:root{--sidebar-width: 250px;--right-panel-width: 320px}}@media (min-width: 1400px) and (max-width: 1599px){:root{--sidebar-width: 230px;--right-panel-width: 280px}}@media (min-width: 1200px) and (max-width: 1399px){:root{--sidebar-width: 210px;--right-panel-width: 260px}}@media (min-width: 1024px) and (max-width: 1199px){:root{--sidebar-width: 200px;--right-panel-width: 240px}.domain-toggle{padding:10px 12px;font-size:12px}.domain-list li{padding:8px 10px;font-size:12px}.sidebar-menu li{padding:6px 8px;font-size:12px}}@media (min-width: 768px) and (max-width: 1023px){:root{--sidebar-width: 200px}.app-layout{grid-template-columns:var(--sidebar-width) 1fr}.app-right-panel{display:none}.domain-toggle{padding:10px 12px;font-size:12px}.domain-list li{padding:8px 10px;font-size:12px}.sidebar-menu li{padding:6px 8px;font-size:12px}}@media (min-width: 600px) and (max-width: 767px){:root{--sidebar-width: 60px}.app-layout{grid-template-columns:var(--sidebar-width) 1fr}.app-sidebar{padding:8px}.app-sidebar .sidebar-title,.app-sidebar .domain-toggle span:not(.chevron),.app-sidebar .domain-list li span:first-child,.app-sidebar .sidebar-menu li span{display:none}.app-sidebar .domain-toggle{justify-content:center;padding:10px}.app-sidebar .domain-toggle .domain-icon{gap:0}.app-sidebar .domain-toggle .chevron{display:none}.app-sidebar .domain-list li,.app-sidebar .sidebar-menu li{justify-content:center;padding:8px}.app-sidebar .sidebar-menu li .icon{margin-right:0}.app-right-panel,.app-header .logo-text{display:none}}@media (max-width: 599px){.app-layout{grid-template-columns:1fr}.app-sidebar,.app-right-panel{display:none}.app-header{padding:0 12px}.app-header .logo{min-width:auto}.app-header .logo-text{display:none}.pill.search{max-width:none;flex:1}.btn-quick{padding:8px 12px;font-size:11px}.header-user .user-info{display:none}.app-main{padding:12px}}:root[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f7fa;--bg-tertiary: #e9ecef;--bg-hover: #f8f9fa;--text-primary: #212529;--text-secondary: #6c757d;--text-muted: #adb5bd;--text-inverse: #ffffff;--border-color: #dee2e6;--border-light: #e9ecef;--sidebar-bg: linear-gradient(180deg, #1e3a8a 0%, #1e293b 100%);--sidebar-text: #e2e8f0;--sidebar-text-active: #ffffff;--sidebar-hover: rgba(255, 255, 255, .1);--sidebar-active: rgba(59, 130, 246, .3);--header-bg: #ffffff;--header-border: #e5e7eb;--header-shadow: 0 1px 3px rgba(0, 0, 0, .1);--card-bg: #ffffff;--card-border: #e5e7eb;--card-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--btn-primary-bg: #3b82f6;--btn-primary-hover: #2563eb;--btn-primary-text: #ffffff;--btn-secondary-bg: #6b7280;--btn-secondary-hover: #4b5563;--btn-danger-bg: #ef4444;--btn-danger-hover: #dc2626;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--badge-admin-bg: #dbeafe;--badge-admin-text: #1e40af;--badge-user-bg: #e0e7ff;--badge-user-text: #3730a3;--badge-manager-bg: #fef3c7;--badge-manager-text: #92400e;--table-header-bg: #f9fafb;--table-row-hover: #f3f4f6;--table-border: #e5e7eb;--input-bg: #ffffff;--input-border: #d1d5db;--input-focus: #3b82f6;--input-placeholder: #9ca3af}:root[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #3d3d3d;--bg-hover: #404040;--text-primary: #e5e5e5;--text-secondary: #a3a3a3;--text-muted: #737373;--text-inverse: #1a1a1a;--border-color: #404040;--border-light: #333333;--sidebar-bg: linear-gradient(180deg, #0f172a 0%, #020617 100%);--sidebar-text: #94a3b8;--sidebar-text-active: #f1f5f9;--sidebar-hover: rgba(255, 255, 255, .05);--sidebar-active: rgba(59, 130, 246, .2);--header-bg: #262626;--header-border: #404040;--header-shadow: 0 1px 3px rgba(0, 0, 0, .3);--card-bg: #262626;--card-border: #404040;--card-shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .4);--btn-primary-bg: #2563eb;--btn-primary-hover: #1d4ed8;--btn-primary-text: #ffffff;--btn-secondary-bg: #525252;--btn-secondary-hover: #404040;--btn-danger-bg: #dc2626;--btn-danger-hover: #b91c1c;--success: #059669;--warning: #d97706;--danger: #dc2626;--info: #2563eb;--badge-admin-bg: #1e3a8a;--badge-admin-text: #93c5fd;--badge-user-bg: #4338ca;--badge-user-text: #c7d2fe;--badge-manager-bg: #92400e;--badge-manager-text: #fcd34d;--table-header-bg: #1f1f1f;--table-row-hover: #333333;--table-border: #404040;--input-bg: #2d2d2d;--input-border: #525252;--input-focus: #3b82f6;--input-placeholder: #737373}*{transition:background-color .2s ease,color .2s ease,border-color .2s ease}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:""}}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-\[-8px\]{top:-8px;right:-8px;bottom:-8px;left:-8px}.inset-\[-15px\]{top:-15px;right:-15px;bottom:-15px;left:-15px}.top-1\/2{top:50%}.top-\[-20\%\]{top:-20%}.right-\[-10\%\]{right:-10%}.bottom-\[-10\%\]{bottom:-10%}.bottom-\[15\%\]{bottom:15%}.left-1\/2{left:50%}.left-\[-20\%\]{left:-20%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-full{grid-column:1/-1}.row-2{grid-row:2}.\!container{width:100%!important}.container{width:100%}.mx-auto{margin-inline:auto}.-mb-px{margin-bottom:-1px}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-\[60\%\]{height:60%}.h-\[80\%\]{height:80%}.h-\[136px\]{height:136px}.h-\[150px\]{height:150px}.h-\[200px\]{height:200px}.h-\[800px\]{height:800px}.h-auto{height:auto}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-2\/3{width:66.6667%}.w-\[60\%\]{width:60%}.w-\[80\%\]{width:80%}.w-\[136px\]{width:136px}.w-\[150px\]{width:150px}.w-\[800px\]{width:800px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-\[90vw\]{max-width:90vw}.max-w-full{max-width:100%}.min-w-\[220px\]{min-width:220px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--btn-border\)\]{border-color:var(--btn-border)}.border-\[var\(--error\)\]{border-color:var(--error)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#F8FAFC\]{background-color:#f8fafc}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--btn-bg\)\]{background-color:var(--btn-bg)}.bg-\[var\(--error\)\]{background-color:var(--error)}.bg-\[var\(--input-bg\)\]{background-color:var(--input-bg)}.bg-\[var\(--panel\)\]{background-color:var(--panel)}.bg-\[var\(--panel-2\)\]{background-color:var(--panel-2)}.bg-transparent{background-color:#0000}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[url\(\'https\:\/\/www\.transparenttextures\.com\/patterns\/concrete-wall\.png\'\)\]{background-image:url(https://www.transparenttextures.com/patterns/concrete-wall.png)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--btn-text\)\]{color:var(--btn-text)}.text-\[var\(--error\)\]{color:var(--error)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--on-accent\)\]{color:var(--on-accent)}.text-\[var\(--success\)\]{color:var(--success)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-transparent{color:#0000}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.placeholder-\[var\(--muted\)\]::-moz-placeholder{color:var(--muted)}.placeholder-\[var\(--muted\)\]::placeholder{color:var(--muted)}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-\[0\.03\]{opacity:.03}.mix-blend-multiply{mix-blend-mode:multiply}.shadow-\[0_8px_30px_rgba\(245\,158\,11\,0\.15\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#f59e0b26);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_20px_rgba\(14\,165\,233\,0\.1\)\]{--tw-shadow:0 10px 20px var(--tw-shadow-color,#0ea5e91a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_15px_35px_-5px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 15px 35px -5px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_40px_-10px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 20px 40px -10px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_50px_-12px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 20px 50px -12px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_30px_60px_-15px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 30px 60px -15px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow\)\]{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-accent\)\]{--tw-shadow:var(--shadow-accent);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-error\)\]{--tw-shadow:var(--shadow-error);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-md\)\]{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-success\)\]{--tw-shadow:var(--shadow-success);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-\[100px\]{--tw-blur:blur(100px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,ease)!important;transition-duration:var(--tw-duration,0s)!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-1000{--tw-duration:1s;transition-duration:1s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:shadow-\[0_30px_60px_-12px_rgba\(16\,185\,129\,0\.15\)\]:is(:where(.group):hover *){--tw-shadow:0 30px 60px -12px var(--tw-shadow-color,#10b98126);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\:shadow-\[0_40px_80px_-20px_rgba\(0\,0\,0\,0\.15\)\]:is(:where(.group):hover *){--tw-shadow:0 40px 80px -20px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peer-checked\:bg-\[var\(--accent\)\]:is(:where(.peer):checked~*){background-color:var(--accent)}.peer-focus\:ring-2:is(:where(.peer):focus~*){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-focus\:ring-\[var\(--accent\)\]:is(:where(.peer):focus~*){--tw-ring-color:var(--accent)}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.01\]:hover{scale:1.01}.hover\:border-\[var\(--btn-border-hover\)\]:hover{border-color:var(--btn-border-hover)}.hover\:bg-\[var\(--accent-hover\)\]:hover{background-color:var(--accent-hover)}.hover\:bg-\[var\(--btn-bg-hover\)\]:hover{background-color:var(--btn-bg-hover)}.hover\:bg-\[var\(--hover-bg\)\]:hover{background-color:var(--hover-bg)}.hover\:bg-\[var\(--panel-2\)\]:hover{background-color:var(--panel-2)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[var\(--shadow-lg\)\]:hover{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:brightness-90:hover{--tw-brightness:brightness(90%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--accent\)\]:focus{--tw-ring-color:var(--accent)}.focus\:ring-\[var\(--btn-border\)\]:focus{--tw-ring-color:var(--btn-border)}.focus\:ring-\[var\(--error\)\]:focus{--tw-ring-color:var(--error)}.focus\:ring-\[var\(--muted\)\]:focus{--tw-ring-color:var(--muted)}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-0:focus{outline-style:var(--tw-outline-style);outline-width:0}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-\[var\(--panel-2\)\]:disabled{background-color:var(--panel-2)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.\[\&\:\:-webkit-calendar-picker-indicator\]\:cursor-pointer::-webkit-calendar-picker-indicator{cursor:pointer}@media (prefers-color-scheme:dark){.\[\&\:\:-webkit-calendar-picker-indicator\]\:dark\:opacity-70::-webkit-calendar-picker-indicator{opacity:.7}.\[\&\:\:-webkit-calendar-picker-indicator\]\:dark\:invert::-webkit-calendar-picker-indicator{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}:root{--bg-base:#eef2f6;--glass-bg:#ffffffa6;--glass-border:#fff6;--glass-refraction:#ffffff4d;--glass-shadow:0 8px 32px 0 #1f268712;--accent-cyan:oklch(60% .15 200);--accent-blue:oklch(55% .2 250);--text-primary:#1e293b;--text-secondary:#475569;--card-radius:20px;--noise:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");--bg:var(--bg-base);--panel:#fff;--panel-2:#f1f5f9;--text:var(--text-primary);--text-tertiary:#94a3b8;--text-muted:#64748b;--muted:#64748b;--label-muted:#94a3b8;--accent:#3b82f6;--accent-hover:#2563eb;--on-accent:#fff;--accent-alpha-5:#3b82f60d;--accent-alpha-10:#3b82f61a;--accent-alpha-20:#3b82f633;--accent-alpha-30:#3b82f64d;--accent-alpha-40:#3b82f666;--accent-alpha-50:#3b82f680;--error-alpha-10:#ef44441a;--error-alpha-30:#ef44444d;--primary:#3b82f6;--secondary:#64748b;--bg-primary:#fff;--bg-secondary:#f1f5f9;--sum-accent:#1d4ed8;--border:#e2e8f0;--border-light:#f1f5f9;--border-input:#c7d2fe;--resizer:#cbd5e1;--header:#fff;--input-bg:#fff;--table-header:#f8fafc;--hover-bg:#f1f5f9;--sheet-bg:#eff6ff;--success:#10b981;--success-bg:#dcfce7;--warning:#f59e0b;--warning-bg:#fef3c7;--error:#ef4444;--error-bg:#fee2e2;--info:#3b82f6;--accent-bg:#eff6ff;--btn-bg:#f1f5f9;--btn-border:#e2e8f0;--btn-text:#334155;--btn-bg-hover:#e2e8f0;--btn-border-hover:#cbd5e1;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;--shadow-md:0 10px 15px -3px #0000000d,0 4px 6px -4px #0000000d;--shadow-lg:0 20px 25px -5px #0000000d,0 8px 10px -6px #0000000d;--shadow-xl:0 25px 50px -12px #00000026;--animate-fast:.15s;--animate-normal:.3s;--animate-slow:.5s}[data-theme=dark]{--bg-base:#08090a;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-refraction:#ffffff1f;--accent-cyan:oklch(75% .15 200);--accent-blue:oklch(60% .2 250);--text-primary:#fff;--text-secondary:#ffffffbf;--bg:var(--bg-base);--panel:#121212;--panel-2:#1e1e1e;--text:var(--text-primary);--text-tertiary:#64748b;--text-muted:#94a3b8;--muted:#94a3b8;--label-muted:#64748b;--border:var(--glass-border);--border-light:#ffffff0d;--border-input:#6366f180;--resizer:#475569;--header:#08090acc;--input-bg:#ffffff0d;--table-header:#ffffff05;--hover-bg:#ffffff0d;--sheet-bg:#0f172a;--btn-bg:#ffffff0d;--btn-border:var(--glass-border);--btn-text:#f1f5f9;--btn-bg-hover:#ffffff1a;--btn-border-hover:#fff3;--accent:#60a5fa;--accent-hover:#3b82f6;--accent-bg:#3b82f626;--on-accent:#fff;--sum-accent:#60a5fa;--accent-alpha-5:#60a5fa0d;--accent-alpha-10:#60a5fa1a;--accent-alpha-20:#60a5fa33;--accent-alpha-30:#60a5fa4d;--accent-alpha-40:#60a5fa66;--accent-alpha-50:#60a5fa80;--error-alpha-10:#ef444426;--error-alpha-30:#ef444459;--success-bg:#10b98133;--warning-bg:#f59e0b33;--error-bg:#ef444433;--primary:#60a5fa;--secondary:#94a3b8;--bg-primary:var(--panel);--bg-secondary:var(--panel-2);--glow-cyan:0 0 20px #06b6d426;--glow-blue:0 0 20px #3b82f626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--animate-normal)ease-out forwards}.animate-slide-up{animation:slideUp var(--animate-normal)ease-out forwards}.animate-scale-in{animation:scaleIn var(--animate-fast)ease-out forwards}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}[data-theme=dark]{--bg:#0f172a;--panel:#1e293b;--panel-2:#0b1120;--text:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#64748b;--muted:#94a3b8;--label-muted:#64748b;--accent:#60a5fa;--accent-hover:#3b82f6;--on-accent:#fff;--sum-accent:#60a5fa;--border:#334155;--border-input:#6366f1;--resizer:#475569;--header:#1e293b;--input-bg:#0f172a;--table-header:#0f172a;--hover-bg:#334155;--sheet-bg:#172554;--btn-bg:#334155;--btn-border:#475569;--btn-text:#f1f5f9;--btn-bg-hover:#475569;--btn-border-hover:#64748b;--primary:#60a5fa;--secondary:#94a3b8;--bg-primary:#1e293b;--bg-secondary:#334155;--text-primary:#f8fafc}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b899}::-webkit-scrollbar-corner{background:0 0}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#64748b80}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#64748bb3}*{scrollbar-width:thin;scrollbar-color:#94a3b866 transparent}[data-theme=dark] *{scrollbar-color:#64748b80 transparent}input,textarea,select,button{font:inherit}input,textarea,select{border-color:var(--border-input)}input:focus,textarea:focus,select:focus{border-color:var(--accent)}.input{border:1px solid var(--border-input);background:var(--input-bg);color:var(--text);border-radius:8px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}.select{border:1px solid var(--border-input);background:var(--input-bg);color:var(--text);cursor:pointer;border-radius:8px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .2s,box-shadow .2s}.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}.table-container{scrollbar-width:thin}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:0 0}.table-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.slim-scrollbar{scrollbar-width:thin}.slim-scrollbar::-webkit-scrollbar{width:6px;height:6px}.slim-scrollbar::-webkit-scrollbar-track{background:0 0}.slim-scrollbar::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.slim-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-root{flex-direction:column;height:100%;display:flex}.resizable-container{width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.resizable-container .col{height:100%;overflow:auto}.resizable-container .left{background:var(--panel);border-right:1px solid var(--border)}.resizable-container .center{background:var(--panel-2);flex:auto;min-width:0;overflow:hidden}.resizable-container .right{background:var(--panel);border-left:1px solid var(--border)}.resizable-container .resizer{cursor:col-resize;background:var(--resizer);opacity:.8;z-index:2;flex:0 0 3px;width:3px}.resizable-container .resizer:hover{opacity:1}.pane{flex-direction:column;height:100%;display:flex}.pane.center{overflow:hidden}.pane-header{background:var(--header);border-bottom:1px solid var(--border);flex:0 0 44px;align-items:center;height:44px;min-height:44px;padding:0 12px;font-weight:600;display:flex}.pane.center{font-size:.95em}.pane.center .page-title h2{font-size:18px}.pane.center .table{font-size:13px}.pane.center .field input[type=text],.pane.center .field textarea,.pane.center .field select,.pane.center .subject-input,.pane.right .field input[type=text],.pane.right .field textarea,.pane.right .field select,.pane.right .subject-input{font-size:12px}.search-input{border:1px solid var(--border);color:var(--text);background:var(--panel);border-radius:12px;font-size:12px;line-height:20px;height:30px!important;padding:4px 12px!important}.search-input::-moz-placeholder{color:var(--text-secondary);opacity:.7}.search-input::placeholder{color:var(--text-secondary);opacity:.7}textarea.search-input{min-height:30px;line-height:1.5;height:auto!important;padding:8px 12px!important}.pane.right{overflow:hidden}.pane.right .pane-header,.pane.right h1,.pane.right h2,.pane.right h3,.pane.right p,.pane.right li,.pane.right .badge,.pane.right .card,.pane.right .muted,.pane.right .placeholder,.pane.right .table th,.pane.right .table td{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pane.right,.pane.right *{min-width:0}.menu{padding:8px}.menu ul{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.menu ul::-webkit-scrollbar{display:none}.menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:.9em;display:inline-flex}.menu button span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.menu button:hover{background:var(--hover-bg)}.menu button.active{font-weight:600}.menu .submenu{flex-direction:column;gap:6px;margin:6px 0 0 8px;display:flex}.menu .submenu button{padding:4px 8px;font-size:.85em}.main-view{padding:3px}.pane.center .main-view{flex-direction:column;height:100%;min-height:0;display:flex}.main-view h1{margin:0 0 8px;font-size:20px}.empty-state{color:var(--muted);border:1px dashed var(--border);border-radius:8px;margin-top:12px;padding:12px}.placeholder{color:var(--muted);padding:12px}.btn{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.btn:hover{filter:brightness(1.05)}.muted{color:var(--muted)}.count-text{font-size:12px}.count-row{justify-content:flex-end;align-items:center;display:flex}.row-parent{background:#3b82f61a}.table-container{border:1px solid var(--border);border-radius:8px;max-height:60vh;margin-top:12px;overflow:auto}.table{border-collapse:collapse;width:-moz-max-content;width:max-content;min-width:100%;font-size:13px}.table th,.table td{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;padding:6px 8px;overflow:hidden}.table thead th{background:var(--table-header);text-align:left;z-index:2;position:sticky;top:0}.table tfoot{z-index:3;position:sticky;bottom:0}.btn.secondary{border-color:var(--btn-border);color:var(--btn-text);background:0 0}.receivables-page{flex-direction:column;gap:16px;padding:12px 16px;display:flex}.receivables-page .page-title h1{margin:0;font-size:22px}.receivables-page .page-title p{color:var(--muted);margin:4px 0 0}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.filters-grid .field{flex-direction:column;gap:4px;display:flex}.filters-grid .field.actions{grid-column:span 2;align-items:center;gap:8px;display:flex}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.summary-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:flex-start;padding:12px 16px;display:flex}.summary-card strong{font-size:1.2em}.summary-card.highlight{background:#f8fafccc;border-color:#3b82f666}.table-panel{flex-direction:column;gap:12px;display:flex}.table-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.pagination-controls{align-items:center;gap:8px;display:flex}.table-container.receivables-table{max-height:48vh}.receivables-table .highlight-cell{color:var(--sum-accent);font-weight:600}.json-modal-backdrop{z-index:100;background:#0f172aa6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.json-modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:12px;width:min(90vw,640px);max-width:min(90vw,640px);max-height:80vh;padding:16px;display:flex}.json-modal pre{background:var(--panel-2);white-space:pre-wrap;border-radius:8px;max-height:50vh;padding:12px;font-family:Pretendard Variable,Pretendard,Consolas,Courier New,monospace;font-size:13px;overflow:auto}.json-modal-actions{justify-content:flex-end;display:flex}.special-notes{flex-direction:column;gap:12px;display:flex}.special-notes-header{flex-shrink:0;justify-content:flex-end;display:flex}.special-notes-list{flex-direction:column;gap:12px;display:flex}.special-note-card{border:1px solid var(--border);background:var(--panel);border-radius:12px;flex-direction:column;gap:10px;width:100%;min-width:0;padding:14px;display:flex;position:relative}.note-actions{gap:6px;display:flex;position:absolute;top:10px;right:10px}.note-top{align-items:center;gap:10px;display:flex}.importance-dot{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:600;display:inline-flex}.importance-dot.level-high{background:#ef4444}.importance-dot.level-medium{background:#f97316}.importance-dot.level-low{background:#10b981}.importance-dot.level-unknown{background:var(--border)}.note-meta-info{flex-direction:column;gap:4px;display:flex}.note-type{font-weight:600}.note-title{margin:0;font-size:15px;font-weight:700}.note-date{color:var(--muted);font-size:14px}.note-edit-button{background:var(--panel-2);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:background .2s;display:flex}.note-edit-button:hover{background:var(--hover-bg)}.note-delete-button{background:var(--panel-2);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:inline-flex}.note-delete-button:hover{background:var(--hover-bg)}.note-content{margin:0;font-size:14px;line-height:1.4}.special-note-meta{flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.meta-pill{background:var(--panel-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.meta-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:inline-flex}.meta-pill span,.meta-pill strong{font-weight:600}.edit-icon{background:var(--sum-accent)}.user-icon{background:var(--accent)}.overlay-modal{z-index:120;background:#0f172aa6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.overlay-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:min(520px,90vw);padding:24px;position:relative}.overlay-card h4{margin:0 0 8px}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:12px;right:12px}.special-note-form{flex-direction:column;gap:10px;display:flex}.special-note-form label{flex-direction:column;gap:4px;font-size:.9em;font-weight:600;display:flex}.special-note-form input,.special-note-form select,.special-note-form textarea{border:1px solid var(--border);font:inherit;background:var(--input-bg);border-radius:8px;padding:10px 12px}.special-note-form textarea{min-height:160px}.special-note-form footer{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.confirm-overlay{z-index:130;background:#0f172aa6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.confirm-card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:12px;width:min(360px,90vw);padding:18px}.confirm-card p{margin:0 0 16px;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.toast-message{background:var(--panel);border:1px solid var(--border);z-index:140;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:inline-flex;position:fixed;top:12px;right:12px;box-shadow:0 8px 18px #0f172a40}.toast-message button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:16px}.table tfoot tr td{background:var(--table-header)}@supports (color:color-mix(in lab,red,red)){.table tfoot tr td{background:color-mix(in oklab,var(--table-header),black 12%)}}[data-theme=light] .table tfoot tr.sum-row-apply td,[data-theme=light] .table tfoot tr.sum-row-current td{background:var(--table-header)}@supports (color:color-mix(in lab,red,red)){[data-theme=light] .table tfoot tr.sum-row-apply td,[data-theme=light] .table tfoot tr.sum-row-current td{background:color-mix(in oklab,var(--table-header),black 12%)}}.table tfoot tr.sum-row-current td{border-top:2px solid var(--accent)}.table tfoot tr.sum-row-apply td{border-top:0}[data-theme=dark] .table tfoot tr td{background:var(--table-header)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .table tfoot tr td{background:color-mix(in oklab,var(--table-header),white 8%)}}.table tfoot tr.sum-row td{border-top:2px solid var(--accent)}.sum-head,.sum-cell>div:first-child,.sum-cell .muted{color:var(--sum-accent);font-weight:700}.req-dot{vertical-align:middle;background:#ef4444;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.stage-badge{box-sizing:border-box;border:1px solid var(--accent);width:12px;height:12px;color:var(--accent);background:var(--panel-2);vertical-align:middle;text-align:center;justify-content:center;align-items:center;font-size:8px;line-height:1;display:inline-flex;overflow:hidden;border-radius:50%!important;padding:0!important}[data-theme=dark] .stage-badge{background:var(--panel-2)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark] .stage-badge{background:color-mix(in oklab,var(--panel-2),white 4%)}}.table tbody tr{cursor:pointer;transition:background-color .12s,color .12s}.table tbody tr:hover{background:var(--accent);color:var(--on-accent)}.table tbody tr:hover td{color:var(--on-accent)}.table tbody tr.selected{border-left:3px solid var(--accent);background:#3b82f62e}[data-theme=dark] .table tbody tr.selected{border-left:3px solid var(--accent);background:#3b82f647}.inv-row td{color:#2563eb}[data-theme=dark] .inv-row td{color:#60a5fa}.transactions tbody tr.group-start td{border-top:1px solid var(--warn)}.transactions tbody tr.same-invoice td.col-invno,.transactions tbody tr.same-invoice td.col-invdate,.transactions tbody tr.no-bottom td{border-bottom-color:#0000}.transactions tbody tr.sep-row td{border:0;border-top:1px solid var(--warn);padding:0}.context-menu{z-index:9999;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:4px;position:fixed;box-shadow:0 10px 30px #00000059}.context-item{text-align:left;width:100px;color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px;display:block;overflow:hidden}.context-item:hover{background:var(--hover-bg);border-color:var(--accent)}.error{color:#fca5a5;margin-top:10px}.progress{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;width:100%;height:10px;overflow:hidden}.progress-bar{background:var(--accent);width:0%;height:100%;transition:width .2s}.tabs{border-bottom:1px solid var(--border);gap:8px;display:flex}.tab{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-bottom:none;border-radius:8px 8px 0 0;padding:4px 10px}.tab.active{background:var(--panel-2);border-color:var(--accent)}.c360-tabs .tab{font-size:12px;font-weight:400}.c360-tabs .tab.active{font-weight:700}.c360-panel{flex-direction:column;flex:1;min-height:0;max-height:calc(100vh - 220px);display:flex}.c360-panel .c360-tab-panel-wrapper{scrollbar-width:thin;flex:1;min-height:0;max-height:none;padding-bottom:16px;padding-right:6px;overflow-y:auto}.c360-panel .c360-tab-panel-wrapper::-webkit-scrollbar{width:0;height:0}.c360-tab-panel{flex-direction:column;display:flex}.activity-edit-panel{flex-direction:column;padding:6px;display:flex}.activity-edit-panel .tabs{gap:4px;margin-bottom:4px}.activity-edit-panel .tab{padding:3px 8px;font-size:11px}.activity-form-wrapper{padding:4px 0 0}.activity-form-wrapper .field{gap:2px}.activity-form-wrapper .form-grid{gap:4px}.activity-form-wrapper label{font-size:10px;font-weight:600}.activity-form-wrapper input,.activity-form-wrapper select,.activity-form-wrapper textarea{min-height:24px;padding:3px 5px;font-size:10px}.activity-form-wrapper textarea{resize:none;min-height:32px;max-height:32px}.activity-form-wrapper .controls{margin-top:6px}.activity-form-wrapper .btn{height:26px;padding:3px 10px;font-size:10px}.activity-form-wrapper .checkbox-accent{width:14px;height:14px}.activity-form-wrapper .datetime-wrapper{position:relative}.activity-form-wrapper .datetime-placeholder{font-size:10px}.sales-activity-panel{flex-direction:column;max-height:calc(100vh - 350px);display:flex}.sales-activity-content{scrollbar-width:thin;padding-top:12px;padding-right:6px;overflow-y:auto}.sales-activity-content::-webkit-scrollbar{width:6px}.sales-activity-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sales-activity-panel .field{gap:4px}.sales-activity-panel label{font-size:11px}.sales-activity-panel input,.sales-activity-panel select,.sales-activity-panel textarea{min-height:28px;padding:4px 6px;font-size:11px}.sales-activity-panel textarea{resize:vertical;min-height:60px}.activity-plan-page{flex-direction:column;gap:8px;height:calc(100vh - 16px);max-height:calc(100vh - 16px);padding:8px;display:flex;overflow:hidden}.activity-plan-page>.card{flex-shrink:0;margin-bottom:0!important}.activity-kpi-grid{flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.kpi-card{padding:6px 10px!important}.kpi-label{color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:600}.kpi-value{align-items:baseline;gap:4px;display:flex}.kpi-number{color:var(--accent);font-size:22px;font-weight:700}.kpi-unit{color:var(--text-muted);font-size:14px}.kpi-desc{color:var(--text-muted);margin-top:2px;font-size:9px}.kpi-stats{align-items:center;gap:8px;display:flex}.kpi-stat-label{margin-bottom:2px;font-size:9px}.kpi-stat-value{font-size:18px;font-weight:700}.kpi-arrow{color:var(--text-muted);font-size:16px}.kpi-progress{background:var(--border);border-radius:999px;height:3px;margin-top:6px;overflow:hidden}.kpi-progress>div{height:100%;transition:width .3s}.activity-plan-page>.card:last-child{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden!important}.c360-demand-scroll{max-height:none}.c360-demand-stack{flex-direction:column;gap:12px;padding-bottom:12px;display:flex}.sales-activities-panel{flex:1;min-height:0;padding-bottom:12px;padding-right:6px;overflow-y:auto}.sales-activities-panel::-webkit-scrollbar{width:6px}.sales-activities-panel::-webkit-scrollbar-track{background:0 0}.sales-activities-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.page-title{background:var(--panel);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;min-height:58px;margin-bottom:12px;padding:14px 18px;display:flex;box-shadow:0 10px 30px #00000014}.page-title h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;overflow:hidden}.meta{color:var(--muted);gap:8px;font-size:12px;display:flex}.badge{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.badge-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.badge-success{background:var(--success);border-color:var(--success);color:var(--on-accent)}.badge-warning{background:var(--warning);border-color:var(--warning);color:var(--on-accent)}.badge-error{background:var(--error);border-color:var(--error);color:var(--on-accent)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-top:8px;padding:10px;box-shadow:0 10px 30px #00000040}.activity-form-card{min-height:240px}.card:has(.form-grid),.card:has(.field){background:var(--panel-2)}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.inline-field{grid-template-columns:140px minmax(0,1fr);align-items:center;-moz-column-gap:8px;column-gap:8px;display:grid}.inline-field label{margin:0}.inline-field input,.inline-field select,.inline-field textarea{width:100%}.inline-four{grid-template-columns:140px minmax(0,1fr) 140px minmax(0,1fr);align-items:center;-moz-column-gap:8px;column-gap:8px;display:grid}.inline-four label{margin:0}.field label,.inline-field label,label .muted{color:var(--muted);font-size:12px}.field input[type=text],.field input[type=number],.field input[type=date],.field input[type=time],.field input[type=datetime-local],.field textarea,.field select{background:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:12px;outline:none;padding:12px 14px;font-size:12px;transition:border-color .2s,box-shadow .2s;display:block}.field input[type=text],.field input[type=number],.field input[type=date],.field input[type=time],.field input[type=datetime-local],.field select{padding:8px 12px}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb40}.row-2{grid-column:span 2}.controls{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.cal-events{flex-direction:column;gap:4px;display:flex}.cal-pill{border:1px solid var(--accent);color:var(--text);cursor:pointer;background:#3b82f626;border-radius:6px;align-items:center;gap:6px;min-width:0;padding:2px 6px;font-size:12px;display:inline-flex}.cal-pill .time{color:var(--muted)}.cal-pill .subj{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.cal-pill.status-scheduled{border-color:var(--accent);background:#3b82f626}.cal-pill.status-completed{background:#10b98126;border-color:#10b981}.cal-pill.status-canceled{background:#ef444426;border-color:#ef4444}.cal-pill.status-no_show{background:#f59e0b26;border-color:#f59e0b}.cal-pill.status-region{background:#10b9812e;border-color:#10b981a6}.cal-pill.category-CLAIM{background:#ef444426;border-color:#ef4444}.cal-pill.category-IQC{background:#3b82f626;border-color:#3b82f6}.cal-pill.category-PRODUCTION{background:#22c55e26;border-color:#22c55e}.cal-pill.category-DEVELOPMENT{background:#a855f726;border-color:#a855f7}.qa-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.qa-status-dot.status-PLANNED{background:#6b7280}.qa-status-dot.status-IN_PROGRESS{background:#3b82f6}.qa-status-dot.status-COMPLETED{background:#22c55e}.qa-status-dot.status-CANCELED{background:#6b7280}.qa-status-dot.status-OVERDUE{background:#ef4444}.card input,.card textarea,.card select{background:var(--input-bg);color:var(--text)}input[readonly],input:disabled,select:disabled,textarea[readonly],textarea:disabled,.subject-input[readonly],.subject-input:disabled{color:var(--muted);border-color:var(--border);cursor:not-allowed;background:var(--panel-2)!important}.card .field.row-2 input[type=text]{background:var(--input-bg);border:1px solid var(--border);border-radius:12px}.btn{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--btn-text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:.9em;display:inline-flex}.btn:hover{background:var(--btn-bg-hover);border-color:var(--btn-border-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.btn-primary:hover{filter:brightness(1.1)}.btn-secondary{background:var(--bg-secondary);border-color:var(--border);color:var(--text)}.btn-secondary:hover{background:var(--hover-bg)}.btn-error{background:var(--error);border-color:var(--error);color:var(--on-accent)}.btn-error:hover{filter:brightness(1.1)}.btn-icon{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.icon{width:16px;height:16px}.icon-lg{width:24px;height:24px}.icon-button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.icon-button:focus-visible{border-radius:999px;outline:none;box-shadow:0 0 0 3px #93c5fd73}.icon-button[aria-disabled=true]{opacity:.5;pointer-events:none}[data-theme=dark] .icon-button .icon{background:var(--panel);border:1px solid var(--panel);border-radius:4px}.calendar-scroll{-ms-overflow-style:none;scrollbar-width:none;overflow:hidden auto}.calendar-scroll::-webkit-scrollbar{width:0;height:0;display:none}.btn-plain{color:var(--btn-text);cursor:pointer;background:0 0;border:none}.btn-plain:hover{opacity:.8}.btn-plain:focus-visible{border-radius:999px;outline:none;box-shadow:0 0 0 3px #93c5fd73}.no-focus-ring:focus-visible{box-shadow:none!important;outline:none!important}.btn-ghost{border:1px solid var(--btn-border);color:var(--btn-text);background:0 0}.btn-ghost:hover{background:var(--btn-bg-hover)}.assign-input{background:var(--input-bg);height:28px;color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;padding:4px 8px;font-size:12px}.assign-input:focus{border-color:#cbd5e1;box-shadow:0 0 0 2px #94a3b840}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-accent:hover{filter:brightness(1.05)}.btn-3d{--_c:var(--btn-3d-color,var(--accent));--_text:var(--btn-3d-text,var(--on-accent));--_border:var(--_c)}@supports (color:color-mix(in lab,red,red)){.btn-3d{--_border:color-mix(in oklab,var(--_c),black 12%)}}.btn-3d{--_shadow:var(--_c)}@supports (color:color-mix(in lab,red,red)){.btn-3d{--_shadow:color-mix(in oklab,var(--_c),black 40%)}}.btn-3d{background-color:var(--_c);color:var(--_text);border-color:var(--_border);box-shadow:0 6px 0 var(--_shadow),0 10px 20px #00000026;background-image:linear-gradient(#ffffff1a,#0000000f);transition:transform 50ms,box-shadow 50ms,filter .2s;transform:translateY(0)}.btn-3d:hover{filter:brightness(1.03)}.btn-3d:active{box-shadow:0 4px 0 var(--_shadow),0 6px 12px #00000026;transform:translateY(2px)}.btn-cta{--btn-3d-color:var(--cta);--btn-3d-text:var(--on-cta);background-color:var(--cta);color:var(--on-cta);border-color:var(--cta)}@supports (color:color-mix(in lab,red,red)){.btn-cta{border-color:color-mix(in oklab,var(--cta),black 12%)}}.btn-card{--btn-3d-color:var(--panel);--btn-3d-text:var(--text);background-color:var(--panel);color:var(--text);border-color:var(--border)}.btn-card.btn-3d{box-shadow:0 12px 28px -8px #00000040,0 8px 12px -6px #0000002e}.btn-card.btn-3d:active{box-shadow:0 10px 22px -10px #00000038,0 6px 10px -8px #0000002e}.segmented{border:1px solid var(--border);border-radius:999px;align-items:center;gap:0;display:inline-flex;overflow:hidden}.segmented .seg{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.segmented .seg input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:0;height:0;margin:0}.segmented .seg.selected{background:var(--btn-bg-hover);border-left:1px solid var(--border);border-right:1px solid var(--border);font-weight:700}.success{color:#10b981;font-size:12px}.form-msg{margin-top:8px;font-size:12px}.toast{z-index:5000;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:inline-flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000002e}.toast-success{color:#10b981}.context-menu,.context-menu .table{font-size:11px}.field input[type=text],.field input[type=datetime-local],.field select{height:36px}.subject-input{background:var(--input-bg);width:100%;height:36px;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:8px 12px}.datetime-wrapper{position:relative}.datetime-wrapper .datetime-placeholder{color:var(--muted);pointer-events:none;font-size:12px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.datetime-wrapper input.empty::-webkit-datetime-edit{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-year-field{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-month-field{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-day-field{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-hour-field{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-minute-field{color:#0000}.datetime-wrapper input.empty::-webkit-datetime-edit-ampm-field{color:#0000}.compact-form .subject-input,.compact-form .field input[type=text],.compact-form .field select{height:26px;padding:6px 10px;font-size:12px}.compact-form .field{flex-direction:row;align-items:center;gap:8px}.compact-form .field label{white-space:nowrap;text-align:right;min-width:110px}.compact-form .field .subject-input,.compact-form .field input[type=text],.compact-form .field select{flex:auto}.plan-compact .subject-input{height:28px;padding:6px 10px;font-size:12px}.plan-compact .field input[type=text],.plan-compact .field input[type=datetime-local],.plan-compact .field select{height:28px;padding:4px 8px;font-size:12px}.plan-compact .field{gap:6px}.plan-compact .field label{font-size:12px}.plan-compact-card{padding:8px!important}.plan-compact-card .controls .btn{padding:6px 10px;font-size:12px}.checkbox-accent{accent-color:var(--accent)}.week-cell{transition:background-color .12s}.week-cell:hover{background:var(--hover-bg)}.theme-toggle{border:1px solid var(--border);background:var(--panel-2);cursor:pointer;border-radius:999px;justify-content:flex-start;align-items:center;width:56px;height:28px;padding:0;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:relative}.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #93c5fd73}.theme-toggle .thumb{background:var(--accent);width:24px;height:24px;color:var(--on-accent);border-radius:999px;justify-content:center;align-items:center;transition:transform .2s;display:inline-flex;position:absolute;top:2px;left:2px}.theme-toggle .icon{width:14px;height:14px}[data-theme=dark] .theme-toggle .thumb{transform:translate(28px)}.mobile-drawer{z-index:50;position:fixed;top:0;right:0;bottom:0;left:0}.mobile-drawer-backdrop{background:#00000059;position:absolute;top:0;right:0;bottom:0;left:0}.mobile-drawer-panel{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;width:85vw;max-width:340px;height:100%;animation:.2s slideIn;display:flex;position:absolute;top:0;left:0;box-shadow:0 10px 30px #00000059}@keyframes slideIn{0%{opacity:.8;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@media (max-width:768px){.page-title{border-left:none;border-right:none;border-radius:0;margin:0}.form-grid{grid-template-columns:1fr}.row-2{grid-column:span 1}.table-container{max-height:50vh}}.compact{font-size:11px}.compact .page-title h2{font-size:12px}.compact .table{font-size:10px}.compact .table th,.compact .table td{padding:3px 5px}.compact .assign-input{width:60px;height:22px;padding:2px 4px}.compact .search-input{width:60px;height:24px;font-size:.6em}.compact .search-input option{font-size:inherit}.compact .btn{padding:3px 6px;font-size:11px}.compact .muted{font-size:10px!important}.compact .form-label{font-size:12px!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
