:root{--color-darkest: #121212;--color-dark-accent: #181b20;--border-color: #262a31;--text-primary: #e6e9ef;--text-secondary: #868b95;--color-orange: #dd5118;--color-orange-light: #ffc07a;--color-yellow-bright: #ffd5a8;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--text-primary);background-color:var(--color-darkest);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-orange-light);text-decoration:inherit}a:hover{color:var(--color-yellow-bright)}body{margin:0;min-width:320px;min-height:100vh;height:100vh;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid #3a3a3a;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#2a2a2a;color:var(--text-primary);cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease}button:hover{border-color:#525252;box-shadow:0 2px 8px #0006;background:#323232}button:focus,button:focus-visible{outline:3px solid rgba(221,81,24,.45);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-dark-accent)}::-webkit-scrollbar-thumb{background-color:#4f4f4f;border-radius:20px;border:3px solid var(--color-dark-accent)}::-webkit-scrollbar-thumb:hover{background-color:#6a6a6a}.dashboard-controls-dropdown{position:relative;display:flex;align-items:center;height:100%}.dashboard-menu-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-surface-secondary, #2d3139);border:1px solid var(--color-border, #3a3f4a);border-radius:6px 0;color:var(--color-text-secondary, #a8b2c1);cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500;font-family:inherit}.dashboard-menu-btn:hover{background:var(--color-surface-hover, #353a44);border-color:var(--color-primary, #e17621);color:var(--color-text, #e6e9ef)}.dashboard-menu-btn:active{background:var(--color-primary, #e17621);color:#fff}.dashboard-dropdown-menu{position:absolute;top:100%;right:0;min-width:200px;background:var(--color-surface, #242831);border:1px solid var(--color-border, #3a3f4a);border-radius:8px;box-shadow:0 8px 32px #0006;z-index:1000;margin-top:4px;overflow:hidden}.dropdown-section{padding:8px 0}.dropdown-title{padding:8px 16px;font-size:11px;font-weight:600;color:var(--color-text-secondary, #a8b2c1);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border, #3a3f4a);margin-bottom:4px}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;background:transparent;border:none;color:var(--color-text-secondary, #a8b2c1);cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500;font-family:inherit;text-align:left}.dropdown-item:hover{background:var(--color-surface-hover, #353a44);color:var(--color-text, #e6e9ef)}.dropdown-item.active{background:var(--color-primary, #e17621);color:#fff}.dropdown-item.active:hover{background:var(--color-primary-light, #f08a4a)}.widget-icon{font-size:14px;width:16px;text-align:center}.widget-label{flex:1;font-size:12px}.toggle-indicator{font-size:12px;font-weight:700;opacity:.7}.dropdown-item.active .toggle-indicator{opacity:1}.dropdown-divider{height:1px;background:var(--color-border, #3a3f4a);margin:4px 0}.dropdown-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:999;background:transparent}.dashboard-dropdown-menu{animation:dropdownSlideIn .2s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.dashboard-menu-btn{padding:6px 10px;font-size:12px}.dashboard-dropdown-menu{min-width:180px}.widget-label{font-size:11px}}.datum-spinner{position:relative;border-radius:50%;background:radial-gradient(circle at 50% 50%,#ffffff29,#ffffff0f 40%,#0000 41%),conic-gradient(from calc(var(--phase, 0deg) + 0deg),transparent 0deg 90deg,rgba(255,255,255,.75) 90deg 90.8deg,transparent 90.8deg 180deg),conic-gradient(from calc(var(--phase, 0deg) + 180deg),transparent 0deg 90deg,rgba(255,255,255,.75) 90deg 90.8deg,transparent 90.8deg 180deg),conic-gradient(from calc(var(--phase, 0deg) - 90deg),rgba(221,81,24,.92) 0deg calc(90deg * (1 - var(--t, 0))),transparent calc(90deg * (1 - var(--t, 0))) 90deg),conic-gradient(from var(--phase, 0deg),rgba(228,135,64,.95) 0deg calc(90deg * var(--t, 0)),transparent calc(90deg * var(--t, 0)) 90deg),conic-gradient(from calc(var(--phase, 0deg) + 90deg),rgba(221,81,24,.92) 0deg calc(90deg * (1 - var(--t, 0))),transparent calc(90deg * (1 - var(--t, 0))) 90deg),conic-gradient(from calc(var(--phase, 0deg) + 180deg),rgba(226,158,60,.94) 0deg calc(90deg * var(--t, 0)),transparent calc(90deg * var(--t, 0)) 90deg) border-box;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px)) padding-box,linear-gradient(#000,#000);mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px)) padding-box,linear-gradient(#000,#000);-webkit-mask-composite:destination-out;mask-composite:exclude;filter:drop-shadow(0 0 7px rgba(221,81,24,.35));animation:datumSpill 5.6s cubic-bezier(.25,0,.1,1) infinite}.datum-spinner--small{width:16px;height:16px}.datum-spinner--medium{width:29px;height:29px}.datum-spinner--large{width:30px;height:3ch}.datum-spinner--xlarge{width:60px;height:60px}.datum-spinner:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 50%,#ffffff1a,#ffffff0a 40%,#0000 41%),conic-gradient(from calc(var(--phase, 0deg) - 90deg),rgba(221,81,24,.14) 0deg calc(90deg * (1 - var(--t, 0))),transparent calc(90deg * (1 - var(--t, 0))) 90deg),conic-gradient(from var(--phase, 0deg),rgba(228,135,64,.17) 0deg calc(90deg * var(--t, 0)),transparent calc(90deg * var(--t, 0)) 90deg),conic-gradient(from calc(var(--phase, 0deg) + 90deg),rgba(221,81,24,.14) 0deg calc(90deg * (1 - var(--t, 0))),transparent calc(90deg * (1 - var(--t, 0))) 90deg),conic-gradient(from calc(var(--phase, 0deg) + 180deg),rgba(226,158,60,.17) 0deg calc(90deg * var(--t, 0)),transparent calc(90deg * var(--t, 0)) 90deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px)) padding-box,linear-gradient(#000,#000);mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px)) padding-box,linear-gradient(#000,#000);-webkit-mask-composite:destination-out;mask-composite:exclude;pointer-events:none}.datum-spinner:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:168%;height:168%;background:linear-gradient(90deg,#0000 calc(50% - .75px),#ffffffb3 calc(50% - .75px) calc(50% + .75px),#0000 calc(50% + .75px)),linear-gradient(0deg,#0000 calc(50% - .75px),#ffffffb3 calc(50% - .75px) calc(50% + .75px),#0000 calc(50% + .75px));pointer-events:none}.datum-spinner--small:after{display:none}@property --phase{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --t{syntax: "<number>"; inherits: false; initial-value: 0;}@keyframes datumSpill{0%{--phase: 0deg;--t: 0}12%{--phase: 0deg;--t: 0}32%{--phase: 0deg;--t: 1}36%{--phase: 90deg;--t: 0}56%{--phase: 90deg;--t: 1}60%{--phase: 180deg;--t: 0}80%{--phase: 180deg;--t: 1}84%{--phase: 270deg;--t: 0}to{--phase: 270deg;--t: 1}}.global-progress-bar{position:relative;flex:1;max-width:600px;margin:0 auto;min-width:0;display:flex;justify-content:center;background:transparent}.global-progress-content{width:100%;padding:0;background:transparent}.global-progress-header{display:flex;align-items:center;gap:16px;width:100%;background:transparent}.global-progress-spinner{flex-shrink:0;display:flex;align-items:center;justify-content:center}.global-progress-details{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.global-progress-text-row{display:flex;justify-content:space-between;align-items:center}.global-progress-text{color:#e0e0e0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.global-progress-stats{display:flex;align-items:center;gap:8px;flex-shrink:0}.global-progress-percentage{color:#dcab29;font-size:14px;font-weight:600;min-width:40px;text-align:right}.global-progress-complete{color:#4caf50;font-size:16px;animation:pulse .5s ease-in-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.global-progress-bar-container{width:100%;height:4px;background:#0000004d;border-radius:2px;overflow:hidden}.global-progress-bar-fill{height:100%;background:linear-gradient(90deg,#e17621,#dcab29);border-radius:2px;box-shadow:none;position:relative}.global-progress-bar-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(225,118,33,.4) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:200%}}.global-progress-cancelled-icon{font-size:32px;animation:cancelPulse .5s ease-out}@keyframes cancelPulse{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.global-progress-text.cancelled-text{color:#dc3545;font-weight:600}.global-progress-bar-fill.cancelled-fill{background:linear-gradient(90deg,#dc3545,#ff6b6b);opacity:.8}@media (max-width: 1024px){.global-progress-bar{max-width:400px}.global-progress-text{font-size:12px}}@media (max-width: 768px){.global-progress-bar{max-width:300px}.global-progress-header{gap:10px}.global-progress-text{font-size:11px}.global-progress-percentage{font-size:13px;min-width:35px}}.header{height:3.5em;width:100%;display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center;position:absolute;top:0;left:0;z-index:100;background:var(--color-dark-accent);border-bottom:1px solid var(--border-color);box-shadow:0 2px 10px #0000004d;padding:0 15px;box-sizing:border-box}.header-left,.header-right{display:flex;align-items:center;gap:15px;flex-shrink:0}.header .logo{height:2.5em;width:auto;margin-right:.5em;object-fit:contain}.login-button{font-family:ArtifaktElement;font-size:1em;background:var(--color-orange);border:1px solid var(--color-orange);cursor:pointer;color:var(--text-primary);padding:.35em .8em;border-radius:6px 0;transition:background .2s ease,box-shadow .2s ease;display:inline-flex;align-items:center;justify-content:center}.login-button:hover{background:var(--color-orange-light);border-color:var(--color-orange-light);box-shadow:0 2px 8px #0003;color:#121212}.login-button:active{background:#c44a16}.back-to-models-btn{padding:8px 16px;background:#ff8c001a;border:1px solid rgba(255,140,0,.3);border-radius:6px;color:#ff8c00;cursor:pointer;font-size:14px;font-weight:500;font-family:ArtifaktElement,sans-serif;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.back-to-models-btn:hover{background:#ff8c0033;border-color:#ff8c0080;box-shadow:0 2px 8px #ff8c0033}.back-to-models-btn:active{background:#ff8c004d;transform:translateY(1px)}.profile-button{background:transparent;border:none;padding:0;margin-right:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;height:100%}.avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--border-color);object-fit:cover}.avatar-fallback{width:32px;height:32px;border-radius:50%;background:#333;color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-weight:600;border:2px solid var(--border-color)}.auth-section{display:flex;align-items:center;gap:8px;height:100%}.auth-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px;white-space:nowrap}.auth-status.checking{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.auth-status.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.auth-spinner{width:12px;height:12px;border:2px solid rgba(59,130,246,.3);border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.auth-error-icon{font-size:14px}.auth-retry-button{background:#ef4444;color:#fff;border:none;padding:2px 6px;border-radius:3px;font-size:11px;cursor:pointer;transition:background-color .2s ease}.auth-retry-button:hover{background:#dc2626}.header .title{margin-right:auto;font-size:1.8em;font-weight:700;background:linear-gradient(45deg,#dd5118,#e0be62,#dc8313,#dcad2a,#e48740,#e29e3c,#e19d5c);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 8s ease-in-out infinite;text-shadow:0 0 20px rgba(221,81,24,.3);letter-spacing:2px;font-family:Arial,sans-serif;text-transform:uppercase;line-height:1;display:flex;align-items:center}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.back-to-models-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-surface-secondary, #2d3139);border:1px solid var(--color-border, #3a3f4a);border-radius:6px 0;color:var(--color-text-secondary, #a8b2c1);cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500;font-family:inherit}.back-to-models-btn:hover{background:var(--color-surface-hover, #353a44);border-color:var(--color-primary, #e17621);color:var(--color-text, #e6e9ef)}.profile-menu-container{position:relative;display:flex;align-items:center}.profile-dropdown{position:absolute;top:calc(100% + 12px);right:0;background:var(--color-surface-secondary, #2d3139);border:1px solid var(--color-border, #3a3f4a);border-radius:8px;box-shadow:0 4px 20px #0006;min-width:240px;overflow:hidden;z-index:1000;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-header{padding:16px;border-bottom:1px solid var(--color-border, #3a3f4a);background:var(--color-surface, #23262e)}.profile-dropdown-name{font-size:15px;font-weight:600;color:var(--color-text, #e6e9ef);margin-bottom:4px}.profile-dropdown-email{font-size:12px;color:var(--color-text-secondary, #a8b2c1)}.profile-dropdown-divider{height:1px;background:var(--color-border, #3a3f4a)}.profile-dropdown-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;color:var(--color-text, #e6e9ef);font-size:14px;font-family:inherit;cursor:pointer;transition:background-color .2s ease;text-align:left}.profile-dropdown-item:hover{background:var(--color-surface-hover, #353a44)}.profile-dropdown-item.logout{color:#ef4444}.profile-dropdown-item.logout:hover{background:#ef44441a}.profile-dropdown-icon{font-size:18px;display:flex;align-items:center;justify-content:center;width:24px}.settings-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.settings-modal{background:var(--color-surface, #23262e);border:1px solid var(--color-border, #3a3f4a);border-radius:12px;box-shadow:0 8px 32px #0009;width:90%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border, #3a3f4a);background:var(--color-surface-secondary, #2d3139)}.settings-modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--color-text, #e6e9ef)}.settings-modal-close{background:transparent;border:none;font-size:32px;color:var(--color-text-secondary, #a8b2c1);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.settings-modal-close:hover{background:var(--color-surface-hover, #353a44);color:var(--color-text, #e6e9ef)}.settings-modal-content{padding:24px;overflow-y:auto;flex:1}.settings-sections{display:flex;flex-direction:column;gap:24px}.settings-section{background:var(--color-surface-secondary, #2d3139);border:1px solid var(--color-border, #3a3f4a);border-radius:8px;padding:20px}.settings-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--color-text, #e6e9ef);display:flex;align-items:center;gap:8px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--color-border, #3a3f4a)}.settings-row:last-child{border-bottom:none}.settings-label{font-size:14px;color:var(--color-text-secondary, #a8b2c1);font-weight:500}.settings-value{font-size:14px;color:var(--color-text, #e6e9ef)}.settings-value-mono{font-family:Courier New,monospace;background:var(--color-surface, #23262e);padding:4px 8px;border-radius:4px;font-size:12px}.settings-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.settings-badge-plan{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.settings-badge-active{background:#10b981;color:#fff}.settings-badge-inactive{background:#6b7280;color:#fff}.settings-loading{text-align:center;padding:40px;color:var(--color-text-secondary, #a8b2c1);font-size:14px}.settings-placeholder{text-align:center;padding:20px;color:var(--color-text-secondary, #a8b2c1);font-size:13px;font-style:italic}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.dashboard{height:calc(100vh - 3em);width:100%;position:absolute;top:3em;left:0;background:var(--color-background, #1a1d23);color:var(--color-text, #e6e9ef);overflow:hidden}.dashboard-maximized-overlay{position:fixed;inset:3em 0 0;z-index:1000;background:var(--color-background, #1a1d23);display:flex;flex-direction:column;overflow:hidden}.dashboard-maximized-overlay .widget-content{flex:1;min-height:0;display:flex;flex-direction:column}.dashboard-maximized-overlay .widget-body{flex:1;min-height:0}.dashboard-grid{min-height:100%;width:100%;overflow:hidden;position:relative}.layout{min-height:100%!important;width:100%!important}.react-grid-item{background:var(--color-surface, #242831);border:1px solid var(--color-border, #3a3f4a);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000004d;position:relative}.react-grid-item.react-grid-placeholder{background:var(--color-primary, #e17621);opacity:.2;border:2px dashed var(--color-primary, #e17621);border-radius:8px}.react-resizable-handle{background:transparent}.react-resizable-handle-se,.react-resizable-handle-sw,.react-resizable-handle-ne,.react-resizable-handle-nw{width:0;height:0}.react-grid-item>.react-resizable-handle-n,.react-grid-item>.react-resizable-handle-s,.react-grid-item>.react-resizable-handle-e,.react-grid-item>.react-resizable-handle-w{position:absolute;background:transparent;z-index:10000;pointer-events:auto;transition:box-shadow .2s ease,background .2s ease}.react-grid-item>.react-resizable-handle-n{top:0;left:0;right:0;height:12px;cursor:ns-resize}.react-grid-item>.react-resizable-handle-s{bottom:0;left:0;right:0;height:12px;cursor:ns-resize}.react-grid-item>.react-resizable-handle-e{right:0;top:0;bottom:0;width:12px;cursor:ew-resize}.react-grid-item>.react-resizable-handle-w{left:0;top:0;bottom:0;width:12px;cursor:ew-resize}.react-grid-item>.react-resizable-handle-n:hover,.react-grid-item>.react-resizable-handle-s:hover{background:linear-gradient(to bottom,#e1762133,#e176211a)}.react-grid-item>.react-resizable-handle-e:hover,.react-grid-item>.react-resizable-handle-w:hover{background:linear-gradient(to right,#e1762133,#e176211a)}.react-grid-item>.react-resizable-handle-n:hover:before,.react-grid-item>.react-resizable-handle-s:hover:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:radial-gradient(circle,rgba(225,118,33,.4) 0%,rgba(225,118,33,.2) 40%,transparent 70%);pointer-events:none;filter:blur(4px)}.react-grid-item>.react-resizable-handle-e:hover:before,.react-grid-item>.react-resizable-handle-w:hover:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:radial-gradient(circle,rgba(225,118,33,.4) 0%,rgba(225,118,33,.2) 40%,transparent 70%);pointer-events:none;filter:blur(4px)}.react-grid-item:hover{border-color:var(--color-primary, #e17621)}.widget-content{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:0;margin:0;position:relative;z-index:1}.widget-header{height:40px;min-height:40px;box-sizing:border-box;padding:0 12px;background:var(--color-surface-secondary, #2d3139);border-bottom:1px solid var(--color-border, #3a3f4a);font-weight:600;font-size:12px;color:var(--color-text, #e6e9ef);flex-shrink:0;line-height:1.2;display:flex;justify-content:space-between;align-items:center}.widget-title{display:flex;align-items:center;flex:1}.widget-header-actions{display:flex;align-items:center;flex-shrink:0}.widget-header .emoji{font-size:14px;margin-right:6px;vertical-align:middle}.widget-close-btn{background:none;border:none;color:var(--color-text-secondary, #a8b2c1);font-size:20px;cursor:pointer;padding:2px 6px;border-radius:3px;transition:all .2s ease;line-height:1;width:24px;height:20px;display:flex;align-items:center;justify-content:center}.widget-close-btn svg{width:1em;height:1em;min-width:16px;min-height:16px}.widget-close-btn:hover{background:#ff44441a;color:#f44;transform:scale(1.1)}.widget-close-btn:active{transform:scale(.95)}.widget-expand-btn{background:none;border:none;color:var(--color-text-secondary, #a8b2c1);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:3px;transition:all .2s ease;line-height:1;width:24px;height:20px;display:flex;align-items:center;justify-content:center;margin-right:2px}.widget-expand-btn:hover{background:var(--color-surface-hover, #353a44);color:var(--color-primary, #e17621)}.widget-expand-btn:active{transform:scale(.95)}.portal-drag-overlay{position:absolute;top:0;left:0;right:80px;height:40px;z-index:10;cursor:grab;-webkit-user-select:none;user-select:none;background:transparent}.portal-drag-overlay:active{cursor:grabbing}.widget-header.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;position:relative}.widget-header.drag-handle:hover{background:var(--color-surface-hover, #353a44)}.widget-header.drag-handle:active{cursor:grabbing;background:var(--color-primary, #e17621);color:#fff}.react-grid-item.react-draggable-dragging{z-index:1000;box-shadow:0 8px 32px #00000080;transform:rotate(1deg)}.react-grid-item.react-draggable-dragging .widget-header.drag-handle{background:var(--color-primary, #e17621);color:#fff}.react-grid-item.react-draggable-dragging .widget-header.drag-handle:after{opacity:1}.react-grid-item.react-draggable-dragging~.react-grid-item{transition:transform .2s ease}.react-grid-item.react-resizable-resizing{z-index:999;box-shadow:0 4px 16px #0000004d}.widget-body{flex:1;overflow:auto;position:relative;min-height:0;height:calc(100% - 40px);padding:0;margin:0}@media (max-width: 768px){.dashboard-controls{padding:8px 12px;flex-wrap:wrap;gap:8px}.widget-toggles{flex-wrap:wrap}.widget-toggle{padding:6px 10px;font-size:12px}.widget-label{display:none}}@media (max-width: 480px){.dashboard-controls{padding:6px 10px}.widget-toggle{padding:6px 8px}.reset-layout-btn{padding:6px 10px;font-size:11px}}.always-mounted-hidden{position:fixed;left:-9999px;top:-9999px;width:800px;height:600px;overflow:hidden;pointer-events:none}.viewer-container{height:100%;width:100%;background:var(--color-background, #1a1d23);border-radius:4px;overflow:hidden}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary, #a8b2c1);font-size:14px}.error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-error, #ff6b6b);font-size:14px;text-align:center;padding:20px}.cost-analysis-sidebar{width:var(--right-pane-width, 25%);right:0;top:3em;bottom:0;position:absolute;display:grid;grid-template-rows:1fr;gap:8px;border-left:1px solid var(--border-color);background:#252831;z-index:10;padding-top:8px;transition:width .3s ease-in-out,opacity .2s ease-in-out;overflow:hidden}:root{--right-pane-width: 0px}.viewer-container,.forge-viewer,#viewer,.adsk-viewing-viewer{width:calc(100% - var(--right-pane-width))}.widget-cost-analysis .chart-container canvas{max-width:100%!important;max-height:100%!important}.cost-analysis-sidebar.collapsed{width:0!important;border-left:none;opacity:0;pointer-events:none}.cost-analysis-sidebar .section{padding-left:20px;padding-right:20px;padding-bottom:80px;min-height:0;display:grid;grid-template-rows:auto 1fr;row-gap:8px}.cost-analysis-sidebar h3{margin-top:10px;margin-bottom:10px;font-size:1.2em;font-weight:700}.materials-costs-card{margin-top:16px;margin-bottom:16px;background:#ffffff05;border-radius:8px;padding:16px;border:1px solid rgba(255,140,0,.1)}.materials-costs-header{display:flex;justify-content:space-between;align-items:center}.materials-costs-header h3{margin:0;color:#fff;font-size:18px;font-weight:600}.materials-costs-header .control-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,140,0,.3);background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px 0;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease;font-size:16px}.materials-costs-header .control-button:hover{background:#ffffff0d;color:var(--text-primary);transform:translateY(-1px)}.materials-table,.breakdown-table{height:100%;overflow-y:auto}.materials-table table,.breakdown-table table{width:100%;border-collapse:collapse;color:var(--text-primary)}.materials-table th,.materials-table td,.breakdown-table th,.breakdown-table td{border:1px solid var(--border-color);padding:8px;text-align:left;color:var(--text-primary);border-color:var(--border-color)}.materials-table th,.breakdown-table th{background-color:#252831;font-weight:700;color:var(--text-primary);position:sticky;top:0;z-index:1}.materials-table tr:hover,.breakdown-table tr:hover{background-color:#ffffff0a;cursor:pointer}.materials-table tbody tr:nth-child(odd),.breakdown-table tbody tr:nth-child(odd){background-color:#ffffff05}.chart-container{height:calc(100% - 28px);width:100%;padding:10px 0 20px}.BaseTable{background:#252831;border:1px solid rgba(255,140,0,.25);border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0006,inset 0 1px #ffffff0d}.base-table-header{background:radial-gradient(120% 120% at 0% 0%,#ffa04638,#ffa04614 45%,#0000 60%),linear-gradient(180deg,#4a2d1f,#2b1a12 60%,#1e130d);background-image:linear-gradient(180deg,#ff8c0059,#994f0026),linear-gradient(180deg,#4a2d1f,#2b1a12 60%,#1e130d);color:#fff;font-weight:600;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-bottom:1px solid rgba(255,140,0,.35);box-shadow:inset 0 1px #ffb45a59,inset 0 -1px #00000080}.base-table-row{color:#fff;transition:background-color .16s ease,box-shadow .16s ease}.base-table-row:hover{background-color:#ff8c0026;box-shadow:inset 2px 0 #ff8c0099;cursor:pointer}.BaseTable__row:nth-child(odd) .BaseTable__row-cell{background-color:#f8f9fb}.BaseTable__row-cell[data-key=cost],.BaseTable__row-cell[data-key=percent],.BaseTable__row-cell[data-key=elementCount]{text-align:right}.BaseTable__header-cell{color:#fff!important}.BaseTable__row-cell,.BaseTable__row-cell-text{color:#000!important}.BaseTable__expand-icon{color:#ffb366}.BaseTable__row-cell{border-bottom:1px solid rgba(255,255,255,.04);font-weight:500;background-color:#f4f6f8;padding:12px 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cost-analysis-sidebar .resize-handle{position:absolute;left:-6px;top:0;bottom:0;width:10px;cursor:col-resize;background:linear-gradient(180deg,#ff8c0026,#ff8c0000);opacity:0;transition:opacity .2s ease}.cost-analysis-sidebar:hover .resize-handle{opacity:1}.cost-analysis-sidebar .resize-handle:active{opacity:1;background:#ff8c0040}.BaseTable__header-cell{letter-spacing:.3px;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.BaseTable ::-webkit-scrollbar{height:8px;width:8px}.BaseTable ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ff8c0073,#ff8c004d);border-radius:8px}.BaseTable ::-webkit-scrollbar-track{background:#00000040;border-radius:8px}.loading{display:flex;justify-content:center;align-items:center;height:100%;font-size:1.2em;color:var(--text-secondary)}.loading .loading-card{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:12px;background:#252831;border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 30px #00000059,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%)}.loading .loading-text{background:linear-gradient(90deg,var(--text-secondary) 25%,var(--color-yellow-bright) 50%,var(--text-secondary) 75%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 100%;animation:shimmer 2.2s infinite linear}@media (max-width: 768px){.cost-analysis-sidebar{width:100%;top:75%;bottom:0;grid-template-rows:minmax(0,1fr) minmax(0,1fr) 220px}}.widget-cost-analysis{width:100%!important;position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;height:100%!important;display:flex!important;flex-direction:column!important;border-left:none!important;padding-top:0!important;overflow:visible!important}.widget-cost-analysis .section{flex:1;padding-left:20px;padding-right:20px;padding-bottom:80px;min-height:0;display:flex;flex-direction:column;position:relative}.widget-cost-analysis .dock-outer{position:absolute;bottom:0;left:0;right:0;z-index:100;pointer-events:none}.widget-cost-analysis .dock-panel{pointer-events:auto;position:relative;bottom:auto;left:auto;transform:none;margin:0 auto}.widget-cost-analysis .loading-overlay{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10!important;padding:0!important;margin:0!important;background:transparent!important}.widget-cost-analysis .loading-card{display:flex!important;align-items:center!important;gap:10px!important;padding:14px 18px!important;border-radius:12px!important;background:#252831!important;border:1px solid rgba(255,255,255,.06)!important;box-shadow:0 8px 30px #00000059,inset 0 1px #ffffff0f!important;-webkit-backdrop-filter:blur(6px) saturate(120%)!important;backdrop-filter:blur(6px) saturate(120%)!important;width:auto!important;max-width:none!important;min-height:auto!important;text-align:center!important;margin:0!important;position:relative!important}.widget-cost-analysis .loading-text{background:linear-gradient(90deg,var(--text-secondary) 25%,var(--color-yellow-bright) 50%,var(--text-secondary) 75%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;background-size:200% 100%!important;animation:shimmer 2.2s infinite linear!important;font-size:16px!important;font-weight:600!important;margin:0!important;text-align:center!important}.widget-cost-analysis .spinner{width:29px!important;height:29px!important;position:relative!important;margin-right:0!important;border-radius:50%!important;background:radial-gradient(circle at 50% 50%,#ffffff29,#ffffff0f 40%,#0000 41%),conic-gradient(from calc(var(--phase, 0deg) + 0deg),transparent 0deg 90deg,rgba(255,255,255,.75) 90deg 90.8deg,transparent 90.8deg 180deg),conic-gradient(from calc(var(--phase, 0deg) + 180deg),transparent 0deg 90deg,rgba(255,255,255,.75) 90deg 90.8deg,transparent 90.8deg 180deg),conic-gradient(from calc(var(--phase, 0deg) - 90deg),rgba(221,81,24,.92) 0deg calc(90deg * (1 - var(--t, 0))),transparent calc(90deg * (1 - var(--t, 0))) 90deg),conic-gradient(from var(--phase, 0deg),rgba(228,135,64,.95) 0deg calc(90deg * var(--t, 0)),transparent calc(90deg * var(--t, 0)) 90deg),conic-gradient(from calc(var(--phase, 0deg) + 90deg),rgba(221,81,24,.92) 0deg calc(90deg * (1 - var(--t, 0))),transparent calc(90deg * (1 - var(--t, 0))) 90deg),conic-gradient(from calc(var(--phase, 0deg) + 180deg),rgba(226,158,60,.94) 0deg calc(90deg * var(--t, 0)),transparent calc(90deg * var(--t, 0)) 90deg)!important;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px)) padding-box,linear-gradient(#000,#000)!important;mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px)) padding-box,linear-gradient(#000,#000)!important;-webkit-mask-composite:destination-out!important;mask-composite:exclude!important;filter:drop-shadow(0 0 7px rgba(221,81,24,.35))!important;animation:datumSpill 5.6s cubic-bezier(.25,0,.1,1) infinite!important}.widget-cost-analysis .spinner:before{content:""!important;position:absolute!important;inset:0!important;border-radius:50%!important;background:radial-gradient(circle at 50% 50%,#ffffff1a,#ffffff0a 40%,#0000 41%),conic-gradient(from calc(var(--phase, 0deg) - 90deg),rgba(221,81,24,.14) 0deg calc(90deg * (1 - var(--t, 0))),transparent calc(90deg * (1 - var(--t, 0))) 90deg),conic-gradient(from var(--phase, 0deg),rgba(228,135,64,.17) 0deg calc(90deg * var(--t, 0)),transparent calc(90deg * var(--t, 0)) 90deg),conic-gradient(from calc(var(--phase, 0deg) + 90deg),rgba(221,81,24,.14) 0deg calc(90deg * (1 - var(--t, 0))),transparent calc(90deg * (1 - var(--t, 0))) 90deg),conic-gradient(from calc(var(--phase, 0deg) + 180deg),rgba(226,158,60,.17) 0deg calc(90deg * var(--t, 0)),transparent calc(90deg * var(--t, 0)) 90deg)!important;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px)) padding-box,linear-gradient(#000,#000)!important;mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px)) padding-box,linear-gradient(#000,#000)!important;-webkit-mask-composite:destination-out!important;mask-composite:exclude!important;pointer-events:none!important}.widget-cost-analysis .spinner:after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:170%!important;height:170%!important;background:linear-gradient(90deg,#0000 calc(50% - .5px),#ffffffe6 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)),linear-gradient(0deg,#0000 calc(50% - .5px),#ffffffe6 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px))!important;pointer-events:none!important}@keyframes sweep{to{transform:rotate(360deg)}}.widget-cost-analysis>div[style*="position: absolute"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}.chart-toggle-container{display:flex;gap:8px;align-items:center}.chart-toggle-label{font-size:12px;color:var(--text-secondary);margin-right:4px}.chart-toggle-btn{padding:4px 12px;font-size:12px;border-radius:6px;border:1px solid rgba(255,140,0,.3);cursor:pointer;transition:all .2s ease;background:transparent;color:var(--text-secondary)}.chart-toggle-btn:hover{border-color:#ff8c0080;background:#ff8c001a}.chart-toggle-btn.active{background:#ff8c0033;color:#fff;border-color:#ff8c0080}.chart-toggle-btn.active:hover{background:#ff8c004d}.gradient-blinds-container{position:relative;width:100%;height:100%;overflow:hidden}.BaseTable{box-shadow:0 2px 4px #eee;background-color:#fff;position:relative;box-sizing:border-box;font-size:13px}.BaseTable--disabled{opacity:.7;pointer-events:none}.BaseTable--dynamic .BaseTable__row{overflow:hidden;align-items:stretch}.BaseTable:not(.BaseTable--dynamic) .BaseTable__row-cell-text,.BaseTable .BaseTable__row--frozen .BaseTable__row-cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.BaseTable__table{background-color:#fff;position:absolute;top:0;display:flex;flex-direction:column-reverse}.BaseTable__table-main{outline:1px solid #eeeeee;left:0}.BaseTable__table-main .BaseTable__header-cell:first-child,.BaseTable__table-main .BaseTable__row-cell:first-child{padding-left:15px}.BaseTable__table-main .BaseTable__header-cell:last-child,.BaseTable__table-main .BaseTable__row-cell:last-child{padding-right:15px}.BaseTable__table-main .BaseTable__header{background-color:#f8f8f8}.BaseTable__table-frozen-left .BaseTable__header,.BaseTable__table-frozen-left .BaseTable__body,.BaseTable__table-frozen-right .BaseTable__header,.BaseTable__table-frozen-right .BaseTable__body{overflow:hidden!important}.BaseTable__table-frozen-left{box-shadow:2px 0 4px #eee;top:0;left:0}.BaseTable__table-frozen-left .BaseTable__header-cell:first-child,.BaseTable__table-frozen-left .BaseTable__row-cell:first-child{padding-left:15px}.BaseTable__table-frozen-left .BaseTable__header-row,.BaseTable__table-frozen-left .BaseTable__row{padding-right:0!important}.BaseTable__table-frozen-left .BaseTable__body{overflow-y:auto!important}.BaseTable__table-frozen-right{box-shadow:-2px 0 4px #eee;top:0;right:0}.BaseTable__table-frozen-right .BaseTable__header-cell:last-child,.BaseTable__table-frozen-right .BaseTable__row-cell:last-child{padding-right:15px}.BaseTable__table-frozen-right .BaseTable__header-row,.BaseTable__table-frozen-right .BaseTable__row{padding-left:0!important}.BaseTable__table-frozen-right .BaseTable__body{overflow-y:auto!important}.BaseTable__header{overflow:hidden!important}.BaseTable .BaseTable__header,.BaseTable .BaseTable__body{outline:none}.BaseTable__header-row,.BaseTable__row{display:flex;align-items:center;border-bottom:1px solid #eeeeee;box-sizing:border-box}.BaseTable__header-row{background-color:#f8f8f8;font-weight:700}.BaseTable__row{background-color:#fff}.BaseTable__row:hover,.BaseTable__row--hovered{background-color:#f3f3f3}.BaseTable__row-expanded{border-bottom:1px solid #eeeeee}.BaseTable__header-cell,.BaseTable__row-cell{min-width:0;height:100%;display:flex;align-items:center;padding:0 7.5px;box-sizing:border-box}.BaseTable__header-cell--align-center,.BaseTable__row-cell--align-center{justify-content:center;text-align:center}.BaseTable__header-cell--align-right,.BaseTable__row-cell--align-right{justify-content:flex-end;text-align:right}.BaseTable__header-cell{position:relative;cursor:default}.BaseTable__header-cell:hover .BaseTable__column-resizer{visibility:visible;opacity:.5}.BaseTable__header-cell:hover .BaseTable__column-resizer:hover{opacity:1}.BaseTable__header-cell .BaseTable__sort-indicator{display:none}.BaseTable__header-cell--sortable:hover{background-color:#f3f3f3;cursor:pointer}.BaseTable__header-cell--sortable:not(.BaseTable__header-cell--sorting):hover .BaseTable__sort-indicator{display:block;color:#888}.BaseTable__header-cell--sorting .BaseTable__sort-indicator,.BaseTable__header-cell--sorting:hover .BaseTable__sort-indicator{display:block}.BaseTable__header-cell--resizing .BaseTable__column-resizer{visibility:visible;opacity:1}.BaseTable__header-cell--resizing .BaseTable__column-resizer:after{position:absolute;overflow:hidden;content:"";inset:0 0 0 -9999px}.BaseTable__header-cell-text{overflow:hidden;text-overflow:ellipsis;white-space:normal}.BaseTable__header-row--resizing .BaseTable__header-cell{background-color:transparent;cursor:col-resize}.BaseTable__header-row--resizing .BaseTable__header-cell:not(.BaseTable__header-cell--sorting) .BaseTable__sort-indicator{display:none}.BaseTable__header-row--resizing .BaseTable__header-cell:not(.BaseTable__header-cell--resizing) .BaseTable__column-resizer{visibility:hidden}.BaseTable__column-resizer{width:3px;visibility:hidden;background-color:#ccc}.BaseTable__column-resizer:hover{visibility:visible;opacity:1}.BaseTable__footer{position:absolute;left:0;right:0;bottom:0;overflow:hidden;background-color:#fff}.BaseTable__resizing-line{cursor:col-resize;position:absolute;top:0;background-color:#ccc;width:3px;transform:translate(-100%)}.BaseTable__empty-layer{position:absolute;inset:0;overflow:hidden;background-color:#fff}.BaseTable__overlay{position:absolute;inset:0;overflow:hidden;pointer-events:none}.BaseTable__overlay>*{pointer-events:auto}.dock-outer{margin:0 .5rem 1rem;display:flex;max-width:100%;align-items:center}.dock-panel{position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;width:fit-content;gap:.6rem;border-radius:14px 0;background:#181b20;border:1px solid rgba(255,140,0,.18);backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);padding:.25rem .4rem;z-index:20;box-shadow:0 10px 24px #00000059,inset 0 1px #ffffff0f}.dock-item{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:12px 0;background:#181b20;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 10px #00000040,inset 0 1px #ffffff0d;cursor:pointer;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.dock-item.active{border-color:#ff8c00b3;box-shadow:0 0 0 1px #ff8c004d,0 8px 18px -2px #ff8c0038,inset 0 0 0 1px #ffffff0f}.dock-item:hover{border-color:#ff8c0059;box-shadow:0 0 0 1px #ff8c0033,0 6px 14px -2px #ff8c0029,inset 0 1px #ffffff0f}.dock-icon{display:flex;align-items:center;justify-content:center;color:#e7e7ea}.dock-label{position:absolute;top:-1.5rem;left:50%;width:fit-content;white-space:pre;border-radius:.375rem 0;border:1px solid rgba(255,255,255,.08);background-color:#181b20;padding:.125rem .5rem;font-size:.75rem;color:#fff;transform:translate(-50%)}.category-breakdown-header{margin-top:8px;margin-bottom:8px;background:#ffffff05;border-radius:6px;padding:10px 12px;border:1px solid rgba(255,140,0,.1)}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.header-top h3{margin:0;color:#fff;font-size:15px;font-weight:600}.header-controls{display:flex;align-items:center;gap:6px}.control-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#ff8c001a;color:#ff8c00;cursor:pointer;border-radius:5px;transition:all .2s ease;font-size:14px}.control-button:hover{background:#ff8c0033;transform:translateY(-1px)}.ai-button{background:#00ffff1a!important;color:#0ff!important;border:1px solid rgba(0,255,255,.3)!important}.dashboard-button{background:#007bff1a!important;color:#007bff!important;border:1px solid rgba(0,123,255,.3)!important;font-size:14px!important}.dashboard-button:hover{background:#007bff33!important;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.ai-button:disabled{background:#00ffff0d!important;color:#00ffff80!important;cursor:not-allowed;transform:none}.dashboard-button:disabled{background:#007bff0d!important;color:#007bff80!important;cursor:not-allowed;transform:none}.search-and-column-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.search-and-column-row .search-container{flex:1;min-width:0}.search-container{position:relative}.column-picker-wrap{position:relative;flex-shrink:0}.column-picker-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid rgba(148,163,184,.3);border-radius:6px;background:#1e293b99;color:#94a3b8;cursor:pointer;font-size:16px;transition:color .15s,border-color .15s}.column-picker-btn:hover{color:#e2e8f0;border-color:#94a3b880}.column-picker-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;padding:8px 0;background:#1e293b;border:1px solid rgba(148,163,184,.25);border-radius:6px;box-shadow:0 4px 12px #0000004d;z-index:100}.column-picker-title{padding:4px 12px 8px;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.column-picker-item{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:#e2e8f0;cursor:pointer}.column-picker-item:hover{background:#94a3b81a}.column-picker-item input[type=checkbox]{flex-shrink:0}.column-picker-row{display:flex;align-items:center;gap:8px;padding:2px 0}.column-picker-row .column-picker-item{flex:1;margin:0}.column-picker-item-name{color:#94a3b8;font-size:12px}.column-picker-order{display:flex;gap:2px;flex-shrink:0}.column-picker-move{padding:2px 6px;font-size:11px;border:1px solid rgba(148,163,184,.3);background:#1e293b99;color:#94a3b8;border-radius:4px;cursor:pointer}.column-picker-move:hover{background:#94a3b826;color:#e2e8f0}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:10px;color:#666;font-size:14px;z-index:1}.search-input{width:100%;padding:6px 10px 6px 32px;border:1px solid rgba(255,140,0,.2);border-radius:5px;background:#ffffff0d;color:#fff;font-size:12px;transition:all .2s ease}.search-input:focus{outline:none;border-color:#ff8c00;background:#ffffff14;box-shadow:0 0 0 2px #ff8c001a}.search-input::placeholder{color:#555;font-size:11px}.clear-search-button{position:absolute;right:6px;background:none;border:none;color:#666;cursor:pointer;font-size:14px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.clear-search-button:hover{background:#ff8c001a;color:#ff8c00}.search-results-info{margin-top:4px;font-size:10px;color:#666}.review-workflow-controls{margin:6px 0;padding:0}.filter-buttons{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.filter-pill{padding:3px 8px;border-radius:12px;border:1px solid rgba(255,140,0,.25);background:transparent;color:#888;cursor:pointer;font-size:11px;transition:all .15s ease;white-space:nowrap}.filter-pill:hover{background:#ff8c0014;color:#aaa}.filter-pill.active{background:#ff8c0026;color:#ff8c00;border-color:#ff8c00;font-weight:500}.filter-pill.warning{border-color:#f59e0b40}.filter-pill.warning:hover{background:#f59e0b14}.filter-pill.warning.active{background:#f59e0b26;color:#f59e0b;border-color:#f59e0b}.filter-pill.danger{border-color:#ef444440}.filter-pill.danger:hover{background:#ef444414}.filter-pill.danger.active{background:#ef444426;color:#ef4444;border-color:#ef4444}.filter-pill.success{border-color:#22c55e40}.filter-pill.success:hover{background:#22c55e14}.filter-pill.success.active{background:#22c55e26;color:#22c55e;border-color:#22c55e}.filter-pill.flag{border-color:#f59e0b40}.filter-pill.flag:hover{background:#f59e0b14}.filter-pill.flag.active{background:#f59e0b26;color:#f59e0b;border-color:#f59e0b}.filter-separator{color:#444;margin:0 2px;font-size:12px}.review-progress{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.05)}.nav-button{padding:3px 8px;font-size:12px;font-weight:500;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ccc;cursor:pointer;transition:all .15s ease;min-width:28px}.nav-button:hover:not(:disabled){background:#ffffff1a;color:#fff;border-color:#fff3}.nav-button:disabled{opacity:.3;cursor:not-allowed}.progress-bar-track{flex:1;height:5px;background:#ffffff1a;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#dd5118,#ff8c00);border-radius:3px;transition:width .3s ease}.progress-stats{display:flex;align-items:center;gap:8px;font-size:10px;color:#888;white-space:nowrap}.progress-stats .pct{color:#ff8c00;font-weight:600}.progress-stats .cost{color:#666}.all-reviewed-message{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#22c55e1f;border:1px solid rgba(34,197,94,.3);border-radius:8px;font-size:13px;color:#22c55e;font-weight:500;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.review-status-icon{cursor:pointer;font-size:14px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s ease}.review-status-icon:hover{background:#ffffff1a;transform:scale(1.1)}.review-status-icon.unreviewed{color:#555}.review-status-icon.reviewed{color:#22c55e}.review-status-icon.flagged{color:#f59e0b}.base-table-row._search-match{background:#ff8c0014!important;border-left:3px solid #ff8c00}.base-table-row._search-match .row-name{color:#ff8c00;font-weight:600;text-align:right}.cost-analysis-sidebar .base-table-row{transition:all .2s ease;position:relative}.cost-analysis-sidebar .base-table-row.discipline-row{background-color:#ffffff0f!important;font-weight:700!important}.cost-analysis-sidebar .base-table-row.category-row{background-color:#ffffff05!important}.cost-analysis-sidebar .base-table-row.discipline-row:hover{background-color:#ffffff1a!important}.cost-analysis-sidebar .base-table-row.category-row:hover{background-color:#ffffff0f!important}.cost-analysis-sidebar .base-table-row.hovered-row{background-color:#ff8c0014!important;box-shadow:inset 2px 0 #ff8c0066!important}.cost-analysis-sidebar .base-table-row.selected-row{background-color:#ff980033!important;border-left:3px solid #ff9800!important;box-shadow:inset 2px 0 #ff980099!important}.cost-analysis-sidebar .base-table-row.selected-row:hover{background-color:#ff98004d!important;box-shadow:inset 2px 0 #ff9800cc!important}.cost-analysis-sidebar .BaseTable__row:nth-child(2n) .BaseTable__row-cell{background-color:#ffffff03!important}.cost-analysis-sidebar .BaseTable__row:nth-child(odd) .BaseTable__row-cell{background-color:#ffffff08!important}.cost-analysis-sidebar .BaseTable{border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.cost-analysis-sidebar .base-table-header{background:linear-gradient(135deg,#ff8c001a,#ff8c000d);border-bottom:2px solid rgba(255,140,0,.2);position:sticky;top:0;z-index:10;color:#000!important}.cost-analysis-sidebar .BaseTable__header-cell{color:#000!important}.cost-analysis-sidebar .BaseTable__header-cell--align-right{text-align:right}.cost-analysis-sidebar .BaseTable__header-cell--align-right .sortable-header{justify-content:flex-end}.cost-analysis-sidebar .BaseTable__header-cell--align-left{text-align:left}.cost-analysis-sidebar .BaseTable__header-cell--align-left .sortable-header{justify-content:flex-start}.cost-analysis-sidebar .BaseTable__body{scroll-behavior:smooth;padding-bottom:80px}.cost-analysis-sidebar .loading{display:flex;align-items:center;justify-content:center;min-height:200px}@media (max-width: 1200px){.cost-analysis-sidebar .BaseTable__row-cell{padding:8px 10px;font-size:13px}.cost-analysis-sidebar .base-table-header{font-size:13px}}@media (max-width: 768px){.category-breakdown-header{padding:12px}.header-top h3{font-size:16px}.control-button{width:28px;height:28px;font-size:14px}.search-input{padding:8px 10px 8px 36px;font-size:13px}.cost-analysis-sidebar .BaseTable__row-cell{padding:6px 8px;font-size:12px}.cost-analysis-sidebar .base-table-header{font-size:12px}}.cost-analysis-sidebar .BaseTable__resize-handle{background:#ff8c004d;width:2px;cursor:col-resize}.cost-analysis-sidebar .BaseTable__resize-handle:hover{background:#ff8c0099}.cost-analysis-sidebar .BaseTable__row-cell{will-change:transform;backface-visibility:hidden}.cost-analysis-sidebar .BaseTable__body{transform:translateZ(0);-webkit-overflow-scrolling:touch}.cost-analysis-sidebar .BaseTable__row:focus{outline:2px solid #ff8c00;outline-offset:-2px}.cost-analysis-sidebar .sortable-header:focus{outline:2px solid #ff8c00;outline-offset:2px;border-radius:4px}.cost-analysis-sidebar .search-input:focus{outline:2px solid #ff8c00;outline-offset:2px}@media (prefers-contrast: high){.cost-analysis-sidebar .base-table-row{border:1px solid rgba(255,255,255,.2)}.cost-analysis-sidebar .base-table-row.selected-row{border:2px solid #ff8c00}}@media (prefers-reduced-motion: reduce){.cost-analysis-sidebar .base-table-row,.control-button,.search-input,.sortable-header{transition:none}.spinner{animation:none}}.tooltip{background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(255,140,0,.3);max-width:200px;word-wrap:break-word;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000e6}.base-table-row[data-discipline=Unmodeled],.discipline-row.unmodeled-discipline{background:linear-gradient(135deg,#9333ea26,#4f46e51a)!important;border-left:3px solid #9333ea!important}.base-table-row[data-discipline=Unmodeled]:hover,.discipline-row.unmodeled-discipline:hover{background:linear-gradient(135deg,#9333ea40,#4f46e526)!important}.base-table-row[data-unmodeled=true].category-row,.category-row.unmodeled-category{background:#9333ea14!important;border-left:2px dashed rgba(147,51,234,.5)!important}.base-table-row[data-unmodeled=true].item-row,.unmodeled-item-row{background:#9333ea0d!important;border:1px dashed rgba(147,51,234,.3)!important;border-radius:4px;margin:2px 0}.unmodeled-item-row:hover{background:#9333ea1f!important;border-color:#9333ea80!important}.spec-source-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#9333ea33;border:1px solid rgba(147,51,234,.4);border-radius:12px;font-size:10px;color:#c084fc;font-weight:500;margin-left:8px}.spec-source-badge:before{content:"📋";font-size:11px}.unmodeled-cost{color:#c084fc!important;font-weight:600}.quantity-formula{font-family:Consolas,Monaco,monospace;font-size:11px;color:#a78bfa;background:#9333ea1a;padding:2px 6px;border-radius:4px}.unmodeled-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#9333ea33;border-radius:4px;margin-right:6px;font-size:12px}.unmodeled-loading{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#9333ea1a;border-radius:6px;color:#c084fc;font-size:12px}.unmodeled-loading .spinner{border-color:#9333ea4d;border-top-color:#9333ea}.base-table-row.spec-mismatch-row{background:#f59e0b14!important;border-left:3px solid #f59e0b!important}.base-table-row.spec-mismatch-row:hover{background:#f59e0b26!important}.spec-warning-icon{display:inline-flex;align-items:center;justify-content:center;font-size:14px;animation:pulse-warning 2s infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.spec-warning-tooltip{position:absolute;z-index:1000;background:#000000f2;color:#fff;padding:12px 16px;border-radius:8px;font-size:12px;max-width:300px;box-shadow:0 4px 20px #0006;border:1px solid rgba(245,158,11,.5)}.spec-warning-tooltip h4{margin:0 0 8px;color:#f59e0b;font-size:13px;display:flex;align-items:center;gap:6px}.spec-warning-tooltip ul{margin:0;padding-left:16px}.spec-warning-tooltip li{margin-bottom:4px;color:#fcd34d}.spec-compliance-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:500}.spec-compliance-badge.compliant{background:#22c55e33;border:1px solid rgba(34,197,94,.4);color:#4ade80}.spec-compliance-badge.non-compliant{background:#f59e0b33;border:1px solid rgba(245,158,11,.4);color:#fbbf24}.preview-panel{flex-shrink:0;border-top:1px solid rgba(96,165,250,.25);background:linear-gradient(180deg,#0f172afa,#0a1224fa);font-size:11px;max-height:160px;display:flex;flex-direction:column;margin-bottom:2px;box-shadow:0 -2px 8px #0003}.preview-panel-header{display:flex;align-items:center;gap:8px;padding:5px 10px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;background:#60a5fa0a}.preview-panel-name{font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px}.preview-panel-cost{font-weight:700;color:#22c55e;white-space:nowrap;flex-shrink:0;font-size:12px}.preview-panel-btn{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#4ade80;border-radius:4px;cursor:pointer;padding:3px 10px;font-size:10px;font-weight:600;transition:all .15s ease;flex-shrink:0;white-space:nowrap}.preview-panel-btn:hover{background:#22c55e59;border-color:#22c55e99}.preview-panel-items{overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(96,165,250,.2) transparent}.preview-panel-items::-webkit-scrollbar{width:4px}.preview-panel-items::-webkit-scrollbar-thumb{background:#60a5fa33;border-radius:2px}.preview-panel-item{display:flex;align-items:center;gap:6px;padding:3px 10px;font-size:10px;border-bottom:1px solid rgba(255,255,255,.03);transition:background .1s}.preview-panel-item:hover{background:#60a5fa0f}.preview-panel-item:last-child{border-bottom:none}.preview-panel-item-code{font-family:SF Mono,Consolas,monospace;color:#60a5fa;flex-shrink:0;min-width:80px;font-size:10px}.preview-panel-item-desc{color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.preview-panel-item-conf{font-weight:600;font-size:9px;flex-shrink:0;min-width:28px;text-align:right}.preview-panel-loading,.preview-panel-empty{color:#64748b;font-size:10px;padding:8px 10px;text-align:center}.note-indicator{font-size:9px;cursor:default;opacity:.75;transition:opacity .15s}.note-indicator:hover{opacity:1}.cost-override-cell{display:flex;align-items:center;justify-content:flex-end;gap:3px;cursor:pointer;width:100%;text-align:right;overflow:hidden}.cost-original{text-decoration:line-through;opacity:.35;font-size:.8em;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-override-value{font-weight:700;color:#60a5fa;white-space:nowrap;flex-shrink:0}.cost-clear-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:#ef4444b3;cursor:pointer;padding:2px;margin-left:4px;font-size:14px;line-height:1;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.cost-override-cell:hover .cost-clear-btn{opacity:1}.cost-clear-btn:hover{color:#ef4444}.cost-clear-btn.cost-clear-visible{opacity:1}.cost-edit-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:#60a5fa;cursor:pointer;padding:2px;margin-left:4px;flex-shrink:0;font-size:14px;line-height:1;transition:opacity .15s}.cost-edit-btn:hover{opacity:.85}.cost-edit-backdrop{position:fixed;inset:0;z-index:9998;background:transparent;cursor:default}.cost-edit-popover{background:#1e293bf7;border:1px solid rgba(148,163,184,.2);border-radius:6px;padding:8px 12px;min-width:180px;box-shadow:0 4px 12px #00000040;z-index:10}.cost-edit-popover-portal{z-index:9999;cursor:default}.cost-edit-popover-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.cost-edit-popover-label{font-size:11px;font-weight:500;color:#94a3b8;margin:0}.cost-edit-popover-original{font-size:10px;color:#64748b;flex-shrink:0}.cost-edit-popover-row{display:flex;align-items:center;gap:8px}.cost-edit-popover-row .cost-edit-input{flex:1;min-width:0}.cost-edit-popover-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.cost-edit-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:opacity .15s;font-size:14px}.cost-edit-btn-icon.cost-edit-save{background:#22c55e33;color:#86efac}.cost-edit-btn-icon.cost-edit-save:hover{opacity:.9}.cost-edit-btn-icon.cost-edit-cancel{background:transparent;color:#94a3b8;border-color:#94a3b84d}.cost-edit-btn-icon.cost-edit-cancel:hover{opacity:.9}.cost-edit-clear{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;width:24px;height:24px;padding:0;background:transparent;color:#f87171;border:none;cursor:pointer;font-size:14px;transition:opacity .15s}.cost-edit-clear:hover{opacity:.9}.cost-editable{cursor:pointer;border-bottom:1px dashed rgba(255,255,255,.15);padding-bottom:1px;transition:border-color .15s}.cost-editable:hover{border-color:#60a5fa80}.cost-edit-input{width:100%;box-sizing:border-box;background:#0f172a99;border:1px solid rgba(148,163,184,.25);border-radius:4px;color:#e2e8f0;font-size:13px;padding:5px 10px;display:block;outline:none;-moz-appearance:textfield;transition:border-color .15s}.cost-edit-input::placeholder{color:#64748b}.cost-edit-input:focus{border-color:#60a5fa80}.cost-edit-input::-webkit-outer-spin-button,.cost-edit-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.apply-to-other-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.apply-to-other-prompt{background:#1e293b;border:1px solid rgba(96,165,250,.3);border-radius:8px;padding:16px 20px;max-width:360px;box-shadow:0 8px 24px #0006}.apply-to-other-prompt h4{margin:0 0 8px;font-size:14px;color:#e2e8f0}.apply-to-other-hint{font-size:11px;color:#94a3b8;margin:0 0 12px}.apply-to-other-list{list-style:none;margin:0 0 12px;padding:0;max-height:200px;overflow-y:auto}.apply-to-other-list li{padding:4px 0}.apply-to-other-list label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#cbd5e1}.apply-to-other-list input[type=checkbox]{flex-shrink:0}.apply-to-other-actions{display:flex;gap:8px;justify-content:flex-end}.apply-to-other-btn{font-size:11px;padding:6px 12px;border-radius:4px;cursor:pointer;border:1px solid rgba(148,163,184,.3);background:#94a3b81a;color:#94a3b8}.apply-to-other-btn.primary{background:#60a5fa33;border-color:#60a5fa66;color:#93c5fd}.apply-to-other-btn.primary:hover:not(:disabled){background:#60a5fa59}.apply-to-other-btn:disabled{opacity:.5;cursor:not-allowed}.confirmed-count{color:#22c55e;font-size:10px;font-weight:600;opacity:.85}.column-header-draggable{cursor:grab;-webkit-user-select:none;user-select:none;padding:0 2px;border-left:3px solid transparent;border-right:3px solid transparent;transition:border-color .15s ease}.column-header-draggable:active{cursor:grabbing}.column-header-dragging{opacity:.4}.column-header-draggable.drag-over-left{border-left-color:var(--color-orange, #dd5118)}.column-header-draggable.drag-over-right{border-right-color:var(--color-orange, #dd5118)}.export-options-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.export-options-dialog{background:var(--color-surface, #1e1e1e);border-radius:8px;box-shadow:0 10px 30px #00000080;border:1px solid var(--border-color, #333);max-width:440px;width:100%;overflow:hidden}.export-dialog-header{padding:24px 24px 16px;border-bottom:1px solid var(--border-color, #333)}.export-dialog-title{font-size:20px;font-weight:600;color:var(--text-primary, #e0e0e0);margin:0}.export-dialog-subtitle{font-size:13px;color:var(--text-secondary, #999);margin:6px 0 0}.export-dialog-content{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.export-option-row{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background .15s ease}.export-option-row:hover{background:#ffffff0a}.export-option-checkbox{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--border-color, #444);border-radius:4px;background:transparent;cursor:pointer;position:relative;flex-shrink:0;transition:all .15s ease}.export-option-checkbox:checked{background:var(--color-orange, #dd5118);border-color:var(--color-orange, #dd5118)}.export-option-checkbox:checked:after{content:"";position:absolute;top:1px;left:5px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.export-option-checkbox:focus-visible{outline:2px solid var(--color-orange, #dd5118);outline-offset:2px}.export-option-label{font-size:14px;color:var(--text-primary, #e0e0e0);-webkit-user-select:none;user-select:none}.export-language-row{justify-content:space-between;cursor:default}.export-language-select{appearance:none;-webkit-appearance:none;background:#ffffff0f;border:1px solid var(--border-color, #444);border-radius:6px;color:var(--text-primary, #e0e0e0);font-size:14px;padding:6px 32px 6px 12px;cursor:pointer;transition:border-color .15s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.export-language-select:hover{border-color:var(--border-color, #555)}.export-language-select:focus-visible{outline:2px solid var(--color-orange, #dd5118);outline-offset:2px}.export-language-select option{background:#2a2a2a;color:#e0e0e0}.export-dialog-footer{padding:16px 24px 20px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--border-color, #333);background:#0003}.export-dialog-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;white-space:nowrap}.export-dialog-btn-secondary{background:transparent;color:var(--text-secondary, #999);border:1px solid var(--border-color, #444)}.export-dialog-btn-secondary:hover{background:#ffffff0d;color:var(--text-primary, #e0e0e0);border-color:var(--border-color, #555)}.export-dialog-btn-primary{background:var(--color-orange, #dd5118);color:#fff;border:1px solid var(--color-orange, #dd5118)}.export-dialog-btn-primary:hover{background:#c44815;border-color:#c44815}.export-dialog-btn:focus-visible{outline:2px solid var(--color-orange, #dd5118);outline-offset:2px}@media (max-width: 600px){.export-options-dialog{max-width:100%;margin:0 10px}.export-dialog-header{padding:20px}.export-dialog-title{font-size:18px}.export-dialog-content{padding:16px 20px}.export-dialog-footer{padding:12px 20px 16px;flex-direction:column-reverse}.export-dialog-btn{width:100%;justify-content:center}}.boq-items-modal{height:100%;background-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:14px;line-height:1.5;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.boq-table-container{flex:1;min-height:0;padding:0}.boq-items-modal .BaseTable{border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.boq-items-modal .base-table-header{background:linear-gradient(135deg,#ff8c001a,#ff8c000d);border-bottom:2px solid rgba(255,140,0,.2);position:sticky;top:0;z-index:10}.boq-items-modal .BaseTable__header-cell{padding:12px 16px;color:#000!important;font-weight:600;letter-spacing:.3px;border-right:none!important}.boq-items-modal .BaseTable__header-cell--align-right{text-align:right}.boq-items-modal .BaseTable__header-cell--align-right .sortable-header{justify-content:flex-end}.boq-items-modal .BaseTable__header-cell--align-left{text-align:left}.boq-items-modal .BaseTable__header-cell--align-left .sortable-header{justify-content:flex-start}.boq-items-modal .BaseTable__body{scroll-behavior:smooth;transform:translateZ(0);-webkit-overflow-scrolling:touch}.sortable-header{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s ease}.sortable-header:hover{color:#ff8c00}.sortable-header svg{font-size:14px;opacity:.7}.boq-items-modal .base-table-row{transition:all .2s ease;position:relative;border-right:none!important}.boq-items-modal .base-table-row.boq-chapter-row{background-color:#ffffff0f!important;font-weight:700!important}.boq-items-modal .base-table-row.boq-chapter-row .BaseTable__row-cell{background-color:#ffffff0f!important;color:#ffffffe6!important;border-right:none!important;padding:12px 16px}.boq-items-modal .base-table-row.boq-chapter-row:hover,.boq-items-modal .base-table-row.boq-chapter-row:hover .BaseTable__row-cell{background-color:#ffffff1a!important}.boq-items-modal .base-table-row.boq-subchapter-row{background-color:#ffffff0a!important;font-weight:600!important}.boq-items-modal .base-table-row.boq-subchapter-row .BaseTable__row-cell{background-color:#ffffff0a!important;color:#ffffffd9!important;border-right:none!important;padding:11px 16px}.boq-items-modal .base-table-row.level-1 .BaseTable__row-cell:first-child{padding-left:48px!important}.boq-items-modal .base-table-row.boq-subchapter-row:hover,.boq-items-modal .base-table-row.boq-subchapter-row:hover .BaseTable__row-cell{background-color:#ffffff14!important}.boq-items-modal .base-table-row.boq-item-row{background-color:#ffffff05!important}.boq-items-modal .base-table-row.boq-item-row .BaseTable__row-cell{background-color:#ffffff05!important;color:#fff!important;border-right:none!important;padding:10px 16px}.boq-items-modal .base-table-row.level-2 .BaseTable__row-cell:first-child{padding-left:64px!important}.boq-items-modal .base-table-row.hovered-row{background-color:#ff8c0014!important;box-shadow:inset 2px 0 #ff8c0066!important}.boq-items-modal .base-table-row.hovered-row .BaseTable__row-cell{background-color:#ff8c0014!important}.boq-items-modal .base-table-row.selected-row{background-color:#ff980033!important;border-left:3px solid #ff9800!important;box-shadow:inset 2px 0 #ff980099!important}.boq-items-modal .base-table-row.selected-row .BaseTable__row-cell{background-color:#ff980033!important}.boq-items-modal .base-table-row.selected-row:hover{background-color:#ff98004d!important;box-shadow:inset 2px 0 #ff9800cc!important}.boq-items-modal .base-table-row.selected-row:hover .BaseTable__row-cell{background-color:#ff98004d!important}.boq-items-modal .BaseTable__row:nth-child(2n) .BaseTable__row-cell{background-color:#ffffff03!important}.boq-items-modal .BaseTable__row:nth-child(odd) .BaseTable__row-cell{background-color:#ffffff08!important}.expand-icon{font-size:11px;color:#ff8c00;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,color .2s ease;font-weight:700;margin-right:8px;cursor:pointer}.boq-chapter-cell,.boq-subchapter-cell{display:flex;align-items:center}.boq-chapter-row:hover .expand-icon,.boq-subchapter-row:hover .expand-icon{color:#ffb366;transform:scale(1.15)}.boq-items-modal .BaseTable__row-cell{padding:12px 16px;will-change:transform;backface-visibility:hidden;border-right:none!important;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boq-item-code{font-family:Monaco,Consolas,Courier New,monospace;font-size:12px;font-weight:600;letter-spacing:.5px;color:#ffb366!important}.boq-chapter-cell strong{font-weight:700}.boq-total-cost{color:#4caf50!important;font-weight:700;font-variant-numeric:tabular-nums}.boq-element-count{color:#64b5f6!important;font-weight:600;font-variant-numeric:tabular-nums}.boq-unit{color:#999!important;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.loading{display:flex;align-items:center;justify-content:center;min-height:200px}.loading-card{text-align:center;padding:24px}.loading-text{color:#fff;font-size:14px;font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#666}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-title{font-size:18px;font-weight:600;margin-bottom:8px;color:#fff}.empty-state-description{font-size:14px;line-height:1.5;max-width:300px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#ff6b6b}.error-state-icon{font-size:48px;margin-bottom:16px}.error-state-title{font-size:18px;font-weight:600;margin-bottom:8px;color:#ff6b6b}.error-state-description{font-size:14px;line-height:1.5;max-width:300px;color:#666}.boq-items-modal .BaseTable__resize-handle{background:#ff8c004d;width:2px;cursor:col-resize}.boq-items-modal .BaseTable__resize-handle:hover{background:#ff8c0099}@media (max-width: 1200px){.boq-items-modal .BaseTable__row-cell{padding:8px 12px;font-size:13px}.boq-items-modal .base-table-header{font-size:13px}}@media (max-width: 768px){.boq-items-modal .BaseTable__row-cell{padding:6px 10px;font-size:12px}.boq-items-modal .base-table-header{font-size:12px}.boq-items-modal .base-table-row.level-1 .BaseTable__row-cell:first-child{padding-left:24px!important}.boq-items-modal .base-table-row.level-2 .BaseTable__row-cell:first-child{padding-left:36px!important}}.boq-items-modal .BaseTable__row:focus{outline:2px solid #ff8c00;outline-offset:-2px}.boq-items-modal .sortable-header:focus{outline:2px solid #ff8c00;outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){.boq-items-modal .base-table-row,.sortable-header,.expand-icon{transition:none}.spinner{animation:none}}@media (prefers-contrast: high){.boq-items-modal .base-table-row{border:1px solid rgba(255,255,255,.2)}.boq-items-modal .base-table-row.selected-row{border:2px solid #ff8c00}}.export-button{padding:8px 16px;background:#ff8c001a!important;color:#ff8c00!important;border:1px solid rgba(255,140,0,.3)!important;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;gap:6px;width:auto!important}.export-button:hover:not(:disabled){background:#ff8c0033!important;transform:translateY(-1px);box-shadow:0 4px 12px #ff8c001a}.export-button:disabled{background:#ffffff0d!important;color:#ffffff4d!important;cursor:not-allowed;transform:none;box-shadow:none;border-color:#ffffff1a!important}.boq-items-modal .search-and-column-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.boq-items-modal .search-and-column-row .search-container{flex:1;min-width:0}.boq-items-modal .column-picker-wrap{position:relative;flex-shrink:0}.boq-items-modal .column-picker-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid rgba(148,163,184,.3);border-radius:6px;background:#1e293b99;color:#94a3b8;cursor:pointer;font-size:16px}.boq-items-modal .column-picker-btn:hover{color:#e2e8f0;border-color:#94a3b880}.boq-items-modal .column-picker-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;padding:8px 0;background:#1e293b;border:1px solid rgba(148,163,184,.25);border-radius:6px;box-shadow:0 4px 12px #0000004d;z-index:100}.boq-items-modal .column-picker-title{padding:4px 12px 8px;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.boq-items-modal .column-picker-row{display:flex;align-items:center;gap:8px;padding:2px 0}.boq-items-modal .column-picker-item{flex:1;display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:#e2e8f0;cursor:pointer}.boq-items-modal .column-picker-item-name{color:#94a3b8}.boq-items-modal .column-picker-order{display:flex;gap:2px;flex-shrink:0}.boq-items-modal .column-picker-move{padding:2px 6px;font-size:11px;border:1px solid rgba(148,163,184,.3);background:#1e293b99;color:#94a3b8;border-radius:4px;cursor:pointer}.boq-items-modal .column-picker-move:hover{background:#94a3b826;color:#e2e8f0}.analysis-pane-widget{background:var(--bg-card);height:100%;display:flex;flex-direction:column;overflow:hidden}.analysis-pane-body{flex:1;padding:10px;overflow:hidden;display:flex;flex-direction:column}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center;padding:20px}.no-selection-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-selection h4{margin-bottom:8px;color:var(--text-primary)}.widget-title-container{display:flex;align-items:center;gap:15px}.widget-tabs{display:flex;background:#0003;padding:2px;border-radius:6px}.tab-btn{background:none;border:none;padding:4px 12px;color:var(--text-secondary);font-size:.85em;cursor:pointer;border-radius:4px;transition:all .2s}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background:var(--bg-card);color:var(--accent-color);box-shadow:0 2px 4px #0000001a}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary, #a8b2c1);font-size:14px;font-style:italic}@media (max-width: 768px){.actions-container{grid-template-columns:1fr}.time-display{font-size:2em}.temperature{font-size:2.5em}.chart-bars{gap:4px}.chart-label{font-size:10px}.chart-value{font-size:11px}}@media (max-width: 480px){.notes-input{flex-direction:column}.notes-input button{align-self:stretch}.file-item{padding:8px}.file-icon{font-size:16px}.file-name{font-size:13px}.file-path,.file-modified{font-size:10px}}@media (prefers-color-scheme: dark){.note-item,.action-button,.file-item{box-shadow:0 2px 4px #0000004d}}@media (prefers-contrast: high){.progress-bar,.chart-bar{border:1px solid var(--color-text, #e6e9ef)}.action-button,.file-item,.note-item{border-width:2px}}@media (prefers-reduced-motion: reduce){.chart-bar,.progress-fill:after,.action-button,.file-item,.note-item{animation:none;transition:none}}.ai-training-widget{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 8px 32px #0000001a;overflow:hidden}.ai-training-widget .widget-header{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2)}.ai-training-widget .widget-title{color:#fff;font-weight:600}.ai-training-widget .widget-body{padding:20px;color:#fff}.ml-status-section{margin-bottom:20px}.ml-status-section h4{color:#fff;margin-bottom:12px;font-size:16px;font-weight:600}.status-card{background:#ffffff1a;border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.status-indicator{display:flex;align-items:center;gap:12px;margin-bottom:16px}.status-icon{font-size:24px}.status-text{font-weight:600;font-size:16px}.model-details{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.detail-row .label{font-size:14px;opacity:.8}.detail-row .value{font-weight:600;font-size:14px}.training-data-section{margin-bottom:20px}.training-data-section h4{color:#fff;margin-bottom:12px;font-size:16px;font-weight:600}.data-stats{background:#ffffff1a;border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.stat-item:last-child{border-bottom:none}.stat-label{font-size:14px;opacity:.8}.stat-value{font-weight:600;font-size:14px}.stat-value.can-train{color:#0f8}.stat-value.cannot-train{color:#ff6b6b}.training-progress-section{margin-bottom:20px}.training-progress-section h4{color:#fff;margin-bottom:12px;font-size:16px;font-weight:600}.progress-container{background:#ffffff1a;border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#0f8,#00cc6a);border-radius:4px;transition:width .3s ease}.progress-text{font-weight:600;font-size:14px;text-align:center;display:block}.progress-message{text-align:center;font-size:14px;opacity:.8;margin-top:8px}.action-buttons{display:flex;gap:12px;margin-bottom:20px}.train-button,.refresh-button{flex:1;padding:12px 16px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.train-button.enabled{background:linear-gradient(135deg,#0f8,#00cc6a);color:#fff}.train-button.enabled:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00ff884d}.train-button.disabled{background:#fff3;color:#ffffff80;cursor:not-allowed}.refresh-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.refresh-button:hover{background:#ffffff4d;transform:translateY(-1px)}.status-message{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;gap:8px;font-size:14px}.status-message.error{background:#ff6b6b33;border:1px solid rgba(255,107,107,.3);color:#ff6b6b}.status-message.success{background:#0f83;border:1px solid rgba(0,255,136,.3);color:#0f8}.message-icon{font-size:16px}.message-text{font-weight:500}.training-history-section{margin-bottom:20px}.training-history-section h4{color:#fff;margin-bottom:12px;font-size:16px;font-weight:600}.history-list{background:#ffffff1a;border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.history-item{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.history-item:last-child{border-bottom:none}.history-date{font-size:12px;opacity:.7;margin-bottom:4px}.history-stats{display:flex;gap:16px;font-size:12px}.history-stats span{opacity:.8}.help-section{margin-bottom:20px}.help-section h4{color:#fff;margin-bottom:12px;font-size:16px;font-weight:600}.help-content{background:#ffffff1a;border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.help-content p{margin:8px 0;font-size:14px;opacity:.9}.help-content strong{font-weight:600}.spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.ai-training-widget .widget-body{padding:16px}.action-buttons{flex-direction:column}.model-details{grid-template-columns:1fr}.history-stats{flex-direction:column;gap:4px}}.llm-costs-section{margin-bottom:20px}.llm-costs-section h4{color:#fff;margin-bottom:12px;font-size:16px;font-weight:600}.costs-card{background:#ffffff1a;border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.cost-summary{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.2)}.cost-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cost-label{font-size:14px;color:#ffffffe6}.cost-value{font-size:20px;font-weight:700;color:#0f8;font-family:Courier New,monospace}.cost-meta{display:flex;gap:16px;font-size:12px;color:#ffffffb3}.meta-item{display:flex;align-items:center;gap:4px}.cost-breakdown{margin-top:8px}.breakdown-label{font-size:12px;color:#ffffffb3;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.breakdown-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:#0000001a;border-radius:4px;margin-bottom:4px;font-size:13px}.service-name{flex:1;color:#ffffffe6;font-weight:500}.service-cost{color:#0f8;font-family:Courier New,monospace;margin-right:8px}.service-details{color:#ffffff80;font-size:11px}.cb-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cb-overlay-contained{position:absolute;inset:0;padding:6px;align-items:stretch;overflow:hidden}.cb-pane{background:linear-gradient(135deg,var(--color-dark-accent, #1a1a2e) 0%,var(--color-darkest, #0f0f1a) 100%);border-radius:10px;width:100%;max-width:960px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000080,0 0 0 1px #ff8c001f;border:1px solid rgba(255,140,0,.15);overflow:hidden;position:relative}.cb-overlay-contained .cb-pane{max-width:none;max-height:100%;border-radius:6px}.cb-header{padding:8px 12px;border-bottom:1px solid rgba(255,140,0,.15);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:#ff8c0008}.cb-header h3{margin:0;color:var(--text-primary, #e0e0e0);font-size:13px;font-weight:700;letter-spacing:.01em}.cb-header-actions{display:flex;gap:4px;align-items:center}.cb-tree-toggle{background:#ffffff0a;border:1px solid rgba(255,140,0,.15);color:var(--text-secondary, #a0a0a0);padding:4px 6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s ease;min-width:28px;height:28px}.cb-tree-toggle:hover{color:var(--color-orange, #ff8c00);border-color:#ff8c004d}.cb-tree-toggle-active{color:var(--color-orange, #ff8c00);background:#ff8c001a;border-color:#ff8c004d}.cb-confirm-btn{background:#00ff8814;border:1px solid rgba(0,255,136,.25);color:#0f8;padding:4px;border-radius:4px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;font-size:13px}.cb-confirm-btn:hover:not(:disabled){background:#00ff882e;box-shadow:0 2px 6px #0f83}.cb-confirm-btn:disabled{opacity:.35;cursor:not-allowed}.cb-close-btn{background:#ff6b6b14;border:1px solid rgba(255,107,107,.15);color:#ff6b6b;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;min-width:28px;height:28px;font-size:13px}.cb-close-btn:hover{background:#ff6b6b2e}.cb-element-context{padding:6px 12px;border-bottom:1px solid rgba(255,140,0,.08);flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cb-element-identity{font-size:11px;font-weight:600;color:var(--text-primary, #e0e0e0)}.cb-element-properties{display:flex;gap:4px;flex-wrap:wrap}.cb-property-badge{font-size:10px;color:var(--text-secondary, #a0a0a0);background:#ffffff0a;border:1px solid rgba(255,140,0,.08);padding:1px 6px;border-radius:3px}.cb-info-banner{width:100%;font-size:10px;color:#f5c842;background:#f5c8420f;border:1px solid rgba(245,200,66,.15);border-radius:4px;padding:4px 8px}.cb-assigned-section{margin-left:auto}.cb-assigned-toggle{background:none;border:none;color:var(--text-secondary, #a0a0a0);cursor:pointer;font-size:10px;padding:1px 0;display:flex;align-items:center;gap:3px}.cb-assigned-toggle:hover{color:var(--text-primary, #e0e0e0)}.cb-assigned-list{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.cb-assigned-chip{font-family:Monaco,Menlo,monospace;font-size:9px;color:var(--color-orange-light, #ffb347);background:#ff8c000f;border:1px solid rgba(255,140,0,.12);padding:0 5px;border-radius:2px}.cb-body{flex:1;min-height:0;display:flex;overflow:hidden}.cb-browse-sidebar{width:200px;min-width:200px;border-right:1px solid rgba(255,140,0,.08);overflow-y:auto;flex-shrink:0}.cb-results-area{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.cb-filter-bar{padding:6px 8px 4px;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.04)}.cb-filter-row{display:flex;gap:4px;align-items:center}.cb-search-input{position:relative;flex:1;min-width:100px}.cb-search-input input{width:100%;padding:5px 32px 5px 28px;background:#ffffff0d;border:1px solid rgba(255,140,0,.15);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:12px;transition:border-color .15s ease;box-sizing:border-box}.cb-search-input input:focus{outline:none;border-color:var(--color-orange, #ff8c00)}.cb-search-input input::placeholder{color:var(--text-secondary, #a0a0a0);opacity:.6}.cb-search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--color-orange, #ff8c00);font-size:12px;opacity:.7}.cb-filter-select{padding:5px 6px;background:#ffffff0a;border:1px solid rgba(255,140,0,.12);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:10px;cursor:pointer;max-width:140px}.cb-filter-select:focus{outline:none;border-color:var(--color-orange, #ff8c00)}.cb-filter-select option{background:var(--color-darkest, #0f0f1a);color:var(--text-primary, #e0e0e0)}.cb-filter-unit{max-width:80px}.cb-price-input{width:60px;padding:5px 6px;background:#ffffff0a;border:1px solid rgba(255,140,0,.1);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:10px}.cb-price-input:focus{outline:none;border-color:var(--color-orange, #ff8c00)}.cb-price-input::placeholder{color:var(--text-secondary, #a0a0a0);opacity:.6}.cb-price-input::-webkit-inner-spin-button,.cb-price-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cb-price-input{-moz-appearance:textfield}.cb-results-count{font-size:10px;color:var(--text-secondary, #a0a0a0);white-space:nowrap;min-width:24px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.cb-active-filters{display:flex;gap:3px;flex-wrap:wrap;margin-top:4px}.cb-filter-chip{display:inline-flex;align-items:center;gap:3px;font-size:9px;color:var(--color-orange, #ff8c00);background:#ff8c0014;border:1px solid rgba(255,140,0,.15);border-radius:10px;padding:1px 6px}.cb-chip-remove{background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center;font-size:9px;opacity:.6}.cb-chip-remove:hover{opacity:1}.cb-results-list{flex:1;min-height:0;overflow-y:auto;padding:4px 8px;display:flex;flex-direction:column;gap:3px}.cb-status-msg{text-align:center;padding:20px 12px;color:var(--text-secondary, #a0a0a0);font-size:11px}.cb-scroll-sentinel{padding:8px;text-align:center;min-height:20px}.cb-loading-dots{font-size:10px;color:var(--text-secondary, #a0a0a0);opacity:.7}.cb-item-card{padding:6px 8px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:5px;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;gap:2px}.cb-item-card:hover{border-color:#ff8c004d;background:#ff8c000a}.cb-item-card.cb-item-selected{border-color:#ff8c0066;background:#ff8c0012}.cb-item-card.cb-item-assigned{opacity:.5;cursor:default}.cb-item-card.cb-item-assigned:hover{background:#ffffff05;border-color:#ffffff0f}.cb-item-row-main{display:flex;align-items:center;gap:6px;min-height:18px}.cb-item-check{width:13px;height:13px;accent-color:var(--color-orange, #ff8c00);cursor:pointer;flex-shrink:0}.cb-item-check:disabled{cursor:default}.cb-item-code{font-family:Monaco,Menlo,Consolas,monospace;font-size:10px;color:var(--color-orange-light, #ffb347);font-weight:700;letter-spacing:.02em}.cb-item-unit-pill{font-size:9px;color:var(--text-secondary, #a0a0a0);background:#ffffff0d;padding:0 5px;border-radius:3px;border:1px solid rgba(255,255,255,.06);line-height:16px}.cb-item-rate{font-size:10px;color:#0f8;font-weight:700;margin-left:auto;font-variant-numeric:tabular-nums}.cb-assigned-badge{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0f8;background:#00ff8814;border:1px solid rgba(0,255,136,.15);padding:0 4px;border-radius:2px;line-height:14px}.cb-item-desc{font-size:12px;color:var(--text-primary, #e0e0e0);font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cb-item-row-detail{display:flex;align-items:center;gap:8px;min-height:14px}.cb-property-select{font-size:9px;color:var(--text-secondary, #a0a0a0);background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:3px;padding:0 4px;height:18px;cursor:pointer;max-width:180px;outline:none}.cb-property-select:focus{border-color:#ff8c0080}.cb-property-select option{background:#1e1e1e;color:#e0e0e0}.cb-item-uses{font-size:9px;color:var(--text-secondary, #a0a0a0);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-item-cost{font-size:9px;color:#0f8;font-weight:600;margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.cb-item-cost-na{font-size:9px;color:var(--text-secondary, #a0a0a0);opacity:.5;font-style:italic;margin-left:auto;white-space:nowrap;direction:ltr;unicode-bidi:isolate}.cb-chapter-group{margin-bottom:2px}.cb-chapter-header{display:flex;align-items:center;gap:5px;padding:5px 8px;cursor:pointer;border-right:3px solid var(--color-orange, #ff8c00);background:#ff8c000a;border-radius:4px 0 0 4px;transition:background .1s ease;position:sticky;top:0;z-index:1;direction:rtl}.cb-chapter-header:hover{background:#ff8c0014}.cb-section-icon{flex-shrink:0;font-size:10px;color:var(--text-secondary, #a0a0a0)}.cb-chapter-number{font-family:Monaco,Menlo,Consolas,monospace;font-size:10px;color:var(--color-orange-light, #ffb347);font-weight:700}.cb-chapter-name{font-size:11px;font-weight:600;color:var(--text-primary, #e0e0e0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-chapter-count{font-size:9px;color:var(--text-secondary, #a0a0a0);margin-left:auto;flex-shrink:0}.cb-subchapter-group{margin-right:4px}.cb-subchapter-header{display:flex;align-items:center;gap:4px;padding:3px 12px 3px 8px;cursor:pointer;transition:background .1s ease;direction:rtl}.cb-subchapter-header:hover{background:#ffffff08}.cb-subchapter-number{font-family:Monaco,Menlo,Consolas,monospace;font-size:9px;color:var(--text-secondary, #a0a0a0);font-weight:600}.cb-subchapter-name{font-size:10px;color:var(--text-secondary, #a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-view-toggle{background:none;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-secondary, #a0a0a0);cursor:pointer;padding:2px 5px;display:flex;align-items:center;font-size:13px;transition:all .15s ease;flex-shrink:0}.cb-view-toggle:hover{border-color:#ff8c0066;color:var(--color-orange, #ff8c00)}.cb-view-toggle-active{border-color:#ff8c004d;color:var(--color-orange, #ff8c00);background:#ff8c000f}.cb-ai-search-btn{position:absolute;right:3px;top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#ff8c0026,#ff64001a);border:1px solid rgba(255,140,0,.3);border-radius:3px;color:var(--color-orange, #ff8c00);cursor:pointer;padding:2px 4px;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .2s ease;height:20px}.cb-ai-search-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff8c0047,#ff64002e);border-color:#ff8c0080;box-shadow:0 0 8px #ff8c0033}.cb-ai-search-btn:disabled{opacity:.2;cursor:not-allowed;background:#ffffff08;border-color:#ffffff0f;color:var(--text-secondary, #a0a0a0)}.cb-ai-search-loading{color:var(--color-orange, #ff8c00);border-color:#ff8c0080;background:#ff8c001f}.cb-ai-search-loading svg{animation:cb-spin 1s linear infinite}.cb-ai-expanded-bar{display:flex;align-items:center;gap:4px;padding:3px 8px;font-size:9px;color:var(--color-orange, #ff8c00);background:#ff8c000a;border-bottom:1px solid rgba(255,140,0,.08);flex-wrap:wrap}.cb-ai-expanded-bar .cb-ai-label{font-weight:600;flex-shrink:0}.cb-ai-term-chip{font-size:9px;color:var(--text-secondary, #a0a0a0);background:#ffffff0a;border:1px solid rgba(255,140,0,.1);padding:0 4px;border-radius:3px;line-height:15px}.cb-ai-dismiss{background:none;border:none;color:var(--text-secondary, #a0a0a0);cursor:pointer;padding:0;margin-left:auto;font-size:10px;opacity:.6;flex-shrink:0}.cb-ai-dismiss:hover{opacity:1}.cb-chapter-tree{padding:4px 0}.cb-tree-loading,.cb-tree-empty{text-align:center;padding:12px;color:var(--text-secondary, #a0a0a0);font-size:11px}.cb-tree-chapter-row{display:flex;align-items:center;gap:3px;padding:4px 8px;cursor:pointer;transition:background .1s ease}.cb-tree-chapter-row:hover{background:#ff8c000d}.cb-tree-subchapter-row{display:flex;align-items:center;gap:3px;padding:3px 8px 3px 24px;cursor:pointer;transition:background .1s ease;font-size:10px}.cb-tree-subchapter-row:hover{background:#ff8c000d}.cb-tree-active{background:#ff8c0014!important;border-right:2px solid var(--color-orange, #ff8c00)}.cb-tree-expand-btn{background:none;border:none;color:var(--text-secondary, #a0a0a0);cursor:pointer;padding:0;display:flex;align-items:center;font-size:11px;min-width:14px}.cb-tree-expand-spacer{min-width:14px}.cb-tree-chapter-label{flex:1;color:var(--text-primary, #e0e0e0);font-size:11px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-tree-subchapter-label{flex:1;color:var(--text-secondary, #a0a0a0);font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-tree-count{font-size:9px;color:var(--text-secondary, #a0a0a0);opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}.cb-footer{padding:6px 12px;border-top:1px solid rgba(255,140,0,.1);display:flex;align-items:center;gap:10px;flex-shrink:0;background:#0003}.cb-footer-count{font-size:11px;color:var(--color-orange-light, #ffb347);font-weight:600}.cb-footer-cost{font-size:11px;color:#0f8;font-weight:600;flex:1;font-variant-numeric:tabular-nums}.cb-footer-excluded{font-size:9px;color:var(--text-secondary, #a0a0a0);font-weight:400}.cb-footer-add-btn{background:linear-gradient(135deg,#0f8,#00cc6a);border:none;color:#fff;cursor:pointer;padding:4px 14px;border-radius:4px;font-weight:600;font-size:11px;display:flex;align-items:center;gap:3px;transition:all .15s ease;box-shadow:0 2px 6px #0f83}.cb-footer-add-btn:hover:not(:disabled){box-shadow:0 3px 10px #00ff884d}.cb-footer-add-btn:disabled{opacity:.35;cursor:not-allowed}.cb-submission-status{position:absolute;bottom:44px;left:12px;right:12px;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:600;text-align:center;z-index:10}.cb-status-success{background:#00ff881f;border:1px solid rgba(0,255,136,.25);color:#0f8}.cb-status-error{background:#ff6b6b1f;border:1px solid rgba(255,107,107,.25);color:#ff6b6b}.cb-spinning{animation:cb-spin 1s linear infinite}@keyframes cb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 600px){.cb-browse-sidebar{width:140px;min-width:140px}.cb-filter-row{flex-wrap:wrap}.cb-search-input{min-width:0;flex-basis:100%}.cb-price-input{width:50px}}.element-breakdown-view{display:flex;flex-direction:column;gap:16px;height:100%;overflow-y:auto}.element-breakdown-loading,.element-breakdown-error,.element-breakdown-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;color:var(--text-secondary);min-height:300px}.element-breakdown-loading .loading-spinner{width:40px;height:40px;border:3px solid rgba(255,140,0,.2);border-top-color:var(--color-orange);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.element-breakdown-error .error-icon,.element-breakdown-empty .empty-icon{font-size:48px;margin-bottom:16px;opacity:.7}.breakdown-summary{background:linear-gradient(135deg,#ff8c001a,#ff8c000d);border:1px solid rgba(255,140,0,.3);border-radius:8px;padding:16px;box-shadow:0 2px 8px #0003}.breakdown-summary .summary-header h4{margin:0 0 12px;color:var(--color-orange);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.breakdown-summary .summary-stats{display:flex;gap:20px;flex-wrap:wrap}.breakdown-summary .stat-item{display:flex;flex-direction:column;gap:4px}.breakdown-summary .stat-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.breakdown-summary .stat-value{font-size:16px;font-weight:700;color:var(--text-primary)}.breakdown-hierarchy{display:flex;flex-direction:column;gap:8px}.discipline-group{background:#2c2f3a;border:1px solid rgba(255,140,0,.2);border-radius:8px;overflow:hidden;transition:all .2s ease}.discipline-group:hover{border-color:#ff8c0066;box-shadow:0 2px 8px #ff8c001a}.discipline-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;background:linear-gradient(135deg,#ff8c0014,#ff8c0008);transition:all .2s ease}.discipline-header:hover{background:linear-gradient(135deg,#ff8c0026,#ff8c0014)}.discipline-header .header-left{display:flex;align-items:center;gap:10px}.discipline-header .expand-icon{font-size:10px;color:var(--color-orange);transition:transform .2s ease}.discipline-header .discipline-name{font-size:14px;font-weight:600;color:var(--text-primary)}.discipline-header .header-right{display:flex;align-items:center;gap:12px}.discipline-header .element-count{font-size:12px;color:var(--text-secondary);min-width:80px;text-align:right}.discipline-header .cost-bar{height:4px;background:linear-gradient(90deg,var(--color-orange),var(--color-orange-light));border-radius:2px;min-width:20px;max-width:60px}.discipline-header .cost-value{font-size:13px;font-weight:600;color:var(--color-orange);min-width:100px;text-align:right}.discipline-categories{padding:8px 16px 12px 32px;display:flex;flex-direction:column;gap:6px}.category-group{background:#252831;border:1px solid rgba(255,255,255,.05);border-radius:6px;overflow:hidden}.category-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;transition:all .2s ease}.category-header:hover{background:#ff8c000d}.category-header .header-left{display:flex;align-items:center;gap:8px}.category-header .expand-icon{font-size:8px;color:var(--color-orange-light);transition:transform .2s ease}.category-header .category-name{font-size:13px;font-weight:500;color:var(--text-primary)}.category-header .header-right{display:flex;align-items:center;gap:12px}.category-header .element-count{font-size:11px;color:var(--text-secondary);min-width:70px;text-align:right}.category-header .cost-value{font-size:12px;font-weight:500;color:var(--color-orange-light);min-width:80px;text-align:right}.category-elements{padding:8px 12px 12px 28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.element-card{background:#1e2129;border:1px solid rgba(255,140,0,.15);border-radius:6px;padding:12px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:8px}.element-card:hover{border-color:#ff8c0066;box-shadow:0 4px 12px #ff8c0026;transform:translateY(-2px)}.element-card .card-header{display:flex;align-items:center;gap:6px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05)}.element-card .element-icon{font-size:14px}.element-card .element-id{font-size:11px;font-weight:600;color:var(--color-orange);font-family:Monaco,Consolas,monospace}.element-card .card-body{display:flex;flex-direction:column;gap:4px;flex:1}.element-card .card-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;gap:8px}.element-card .card-row .label{color:var(--text-secondary);font-weight:500;min-width:60px}.element-card .card-row .value{color:var(--text-primary);font-weight:400;text-align:right;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.element-card .card-row.highlight{margin-top:4px;padding-top:6px;border-top:1px solid rgba(255,140,0,.2)}.element-card .card-row.highlight .label{color:var(--color-orange);font-weight:600}.element-card .card-row.highlight .value{color:var(--color-orange);font-weight:700;font-size:12px}.element-card .card-footer{padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.element-card .view-button{width:100%;padding:6px 12px;background:linear-gradient(135deg,#ff8c0026,#ff8c0014);border:1px solid rgba(255,140,0,.3);border-radius:4px;color:var(--color-orange);font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease}.element-card .view-button:hover{background:linear-gradient(135deg,#ff8c0040,#ff8c0026);border-color:#ff8c0080;transform:translateY(-1px)}@media (max-width: 600px){.category-elements{grid-template-columns:1fr}.breakdown-summary .summary-stats{flex-direction:column;gap:12px}}.filter-status-bar{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#007bff26,#007bff14);border:1px solid rgba(0,123,255,.4);border-radius:6px;padding:10px 14px;margin-bottom:12px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-status-bar .filter-info{display:flex;align-items:center;gap:10px;flex:1}.filter-status-bar .filter-icon{font-size:16px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.filter-status-bar .filter-text{font-size:13px;font-weight:600;color:#4dabf7}.filter-status-bar .filter-breadcrumb{font-size:12px;color:#a5d8ff;font-weight:500}.filter-status-bar .clear-filter-btn{padding:6px 12px;background:#ff3b3033;border:1px solid rgba(255,59,48,.4);border-radius:4px;color:#ff6b6b;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-status-bar .clear-filter-btn:hover{background:#ff3b304d;border-color:#ff3b3099;transform:translateY(-1px)}.summary-hint{margin-top:6px;font-size:11px;color:var(--text-secondary);font-style:italic;opacity:.8}.discipline-group.selected{border-color:#007bff99;box-shadow:0 0 12px #007bff4d}.discipline-header.active{background:linear-gradient(135deg,#007bff33,#007bff1a);border-left:3px solid #4dabf7}.category-group.selected{border-color:#007bff80;box-shadow:0 0 8px #007bff33}.category-header.active{background:linear-gradient(135deg,#007bff26,#007bff14);border-left:3px solid #74c0fc}.element-card.selected{border-color:#007bffb3;box-shadow:0 4px 16px #007bff66;background:linear-gradient(135deg,#007bff1a,#007bff0d)}.element-card.hidden{opacity:.3;pointer-events:none;filter:grayscale(.7)}.selected-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#4dabf7;color:#fff;border-radius:50%;font-size:10px;font-weight:700;margin-left:8px;animation:popIn .2s ease-out}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.expand-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;transition:all .2s ease}.expand-icon:hover{background:#ff8c0033}.discipline-group.expanded>.discipline-header .expand-icon{transform:rotate(0)}.category-group.expanded>.category-header .expand-icon{transform:rotate(0)}.discipline-header{position:relative;overflow:hidden}.discipline-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.discipline-header:hover:before{left:100%}.category-header{position:relative;overflow:hidden}.category-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transition:left .4s ease}.category-header:hover:before{left:100%}.element-card{position:relative;overflow:hidden}.element-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#007bff00,#007bff0d);opacity:0;transition:opacity .3s ease;pointer-events:none}.element-card:hover:after{opacity:1}.element-card.selected:after{background:linear-gradient(135deg,#007bff14,#007bff26);opacity:1}.element-count{position:relative;padding:2px 8px;background:#ffffff0d;border-radius:10px;font-family:Monaco,Consolas,monospace}.cost-bar{position:relative;overflow:hidden}.cost-bar:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.breakdown-hierarchy{gap:12px}.discipline-categories{padding:10px 16px 14px 32px;gap:8px}.category-elements{padding:10px 12px 14px 28px;gap:14px}@media (max-width: 800px){.filter-status-bar{flex-direction:column;align-items:flex-start;gap:8px}.filter-status-bar .clear-filter-btn{width:100%}.category-elements{grid-template-columns:1fr}}.element-breakdown-view.filtering{opacity:.7;pointer-events:none}.element-breakdown-view.filtering:after{content:"⏳ Filtering...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;z-index:1000}.discipline-header:focus,.category-header:focus,.element-card:focus{outline:2px solid #4dabf7;outline-offset:2px}@keyframes selectPulse{0%,to{box-shadow:0 0 #007bffb3}50%{box-shadow:0 0 0 10px #007bff00}}.discipline-group.selected,.category-group.selected,.element-card.selected{animation:selectPulse 1s ease-out}.element-breakdown-view[data-multi-select=true] .discipline-header,.element-breakdown-view[data-multi-select=true] .category-header,.element-breakdown-view[data-multi-select=true] .element-card{cursor:copy}.element-breakdown-view[data-multi-select=true] .discipline-header:after,.element-breakdown-view[data-multi-select=true] .category-header:after,.element-breakdown-view[data-multi-select=true] .element-card:after{content:"+";position:absolute;top:8px;right:8px;width:20px;height:20px;background:#4dabf7;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;opacity:0;transition:opacity .2s ease}.element-breakdown-view[data-multi-select=true] .discipline-header:hover:after,.element-breakdown-view[data-multi-select=true] .category-header:hover:after,.element-breakdown-view[data-multi-select=true] .element-card:hover:after{opacity:.7}.discipline-group{margin-bottom:4px}.discipline-group:last-child{margin-bottom:0}.category-group{margin-bottom:6px}.category-group:last-child{margin-bottom:0}.element-card,.discipline-header,.category-header{will-change:transform}@media print{.filter-status-bar,.clear-filter-btn,.expand-icon{display:none}.discipline-group,.category-group{border:1px solid #ccc;page-break-inside:avoid}.element-card{box-shadow:none;border:1px solid #ddd}}.catalog-matches-widget{height:100%;display:flex;flex-direction:column;background:#252831;border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #0000004d}.catalog-matches-widget .widget-header{position:relative;z-index:1001}.catalog-matches-widget .widget-body-modal-wrapper{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.catalog-matches-widget .widget-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:20px;min-height:0}.selected-row-info{background:linear-gradient(135deg,#ff8c0014,#ff8c0008);border-radius:16px;padding:24px;border:1px solid rgba(255,140,0,.2);box-shadow:0 4px 16px #0003,inset 0 1px #ff8c001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:slideIn .3s ease-out}.selected-row-info h4{margin:0 0 20px;font-size:20px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px}.material-details{display:flex;flex-direction:column;gap:12px}.material-name{font-size:18px;font-weight:700;color:var(--color-orange-light);background:#ff8c001a;padding:12px 16px;border-radius:8px 0;border-left:4px solid var(--color-orange);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.material-supplier,.material-price{font-size:15px;color:var(--text-secondary);padding:8px 12px;background:#ffffff0d;border-radius:6px 0;border:1px solid rgba(255,255,255,.1)}.loading-state{display:flex;align-items:center;gap:16px;padding:24px;background:linear-gradient(135deg,#ff8c0014,#ff8c0008);border-radius:16px;border:1px solid rgba(255,140,0,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0003,inset 0 1px #ff8c001a;animation:fadeIn .3s ease-out}.loading-state span{font-size:16px;color:var(--text-primary);font-weight:600}.loading-spinner{width:28px;height:28px;border:3px solid rgba(255,140,0,.2);border-top:3px solid var(--color-orange);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.error-state{display:flex;align-items:center;gap:16px;padding:24px;background:linear-gradient(135deg,#ff6b6b1a,#ff6b6b0d);border-radius:16px;border:1px solid rgba(255,107,107,.3);color:#ff6b6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #ff6b6b33;animation:shake .5s ease-in-out}.error-icon{font-size:24px}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.matches-section{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0003,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:slideIn .3s ease-out}.matches-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.matches-header .header-title{flex:1}.matches-header h4{margin:0;font-size:20px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px}.matches-header h4:before{content:"📋";font-size:18px}.total-cost-badge{background:linear-gradient(135deg,#0f8,#00cc6a);color:#fff;padding:4px 12px;border-radius:16px;font-size:14px;font-weight:600;box-shadow:0 2px 8px #00ff884d;border:1px solid rgba(0,255,136,.2);display:inline-flex;align-items:center;gap:4px}.total-cost-badge:before{content:"💰";font-size:12px}.total-cost-badge.filtered{background:linear-gradient(135deg,#fa0,#f80);box-shadow:0 2px 8px #ffaa004d;border:1px solid rgba(255,170,0,.3)}.total-cost-badge .full-cost-ref{font-size:11px;font-weight:400;opacity:.75;text-decoration:line-through}.correction-actions{display:flex;gap:12px;align-items:center}.add-items-button{background:linear-gradient(135deg,#0f8,#00cc6a);border:none;color:#fff;cursor:pointer;padding:12px 20px;border-radius:10px 0;font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 12px #00ff884d;text-shadow:0 1px 2px rgba(0,0,0,.2)}.add-items-button:hover{background:linear-gradient(135deg,#00cc6a,#0a5);transform:translateY(-2px);box-shadow:0 6px 16px #0f86}.add-items-button:active{transform:translateY(-1px);box-shadow:0 4px 12px #00ff884d}.confirm-changes-button{background:linear-gradient(135deg,var(--color-orange) 0%,#d1651a 100%);border:none;color:#fff;cursor:pointer;padding:12px 20px;border-radius:10px 0;font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 12px #dd51184d;text-shadow:0 1px 2px rgba(0,0,0,.2)}.confirm-changes-button:hover{background:linear-gradient(135deg,#d1651a,#b8541a);transform:translateY(-2px);box-shadow:0 6px 16px #dd511866}.confirm-changes-button:active{transform:translateY(-1px);box-shadow:0 4px 12px #dd51184d}.matches-list{display:flex;flex-direction:column;gap:16px}.match-item{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,140,0,.2);border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .3s ease;position:relative;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out;display:flex;flex-direction:column;gap:10px}.match-item:hover{border-color:var(--color-orange);background:linear-gradient(135deg,#ff8c001a,#ff8c000d);box-shadow:0 6px 20px #ff8c0033;transform:translateY(-3px)}.match-item.selected{border-color:var(--color-orange);background:linear-gradient(135deg,#ff8c0026,#ff8c0014);box-shadow:0 8px 24px #ff8c004d;transform:translateY(-2px)}.match-header{display:flex;justify-content:space-between;align-items:center}.match-actions{display:flex;align-items:center;gap:12px}.remove-button{background:linear-gradient(135deg,#ff6b6b,#e74c3c);border:none;color:#fff;cursor:pointer;padding:8px 12px;border-radius:8px 0;font-size:13px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;box-shadow:0 4px 8px #ff6b6b4d}.remove-button:hover{background:linear-gradient(135deg,#e74c3c,#c0392b);transform:scale(1.15);box-shadow:0 6px 12px #ff6b6b66}.remove-button:active{transform:scale(1.1);box-shadow:0 4px 8px #ff6b6b4d}.item-code{font-size:18px;font-weight:700;color:var(--color-orange-light);font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#ff8c001a;padding:6px 12px;border-radius:6px 0;border-left:4px solid var(--color-orange);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confidence-badge{padding:8px 12px;border-radius:14px 0;font-size:12px;font-weight:700;color:#fff;min-width:50px;text-align:center;box-shadow:0 4px 8px #0003;text-shadow:0 1px 2px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2)}.item-description{font-size:14px;color:var(--text-primary);line-height:1.5;font-weight:500;background:#ffffff08;padding:10px 12px;border-radius:8px;border-left:3px solid rgba(255,140,0,.4)}.item-cost-calculation{background:linear-gradient(135deg,#4caf501f,#4caf500f);border:1px solid rgba(76,175,80,.25);border-radius:10px;padding:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 6px #4caf501a}.cost-zero-explanation{font-size:11px;color:var(--text-secondary);margin-bottom:8px;padding:6px 8px;background:#ff98001a;border-radius:6px;border-left:3px solid rgba(255,152,0,.5)}.cost-columns{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr;gap:12px;align-items:center}.cost-column{display:flex;flex-direction:column;gap:4px;min-width:0}.cost-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#4caf50cc;white-space:nowrap}.cost-value{font-size:13px;font-weight:700;color:#4caf50;font-family:Monaco,Menlo,Ubuntu Mono,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cost-value.property-value{color:#2196f3}.cost-value.total-value{font-size:14px;color:#0f8;text-shadow:0 1px 2px rgba(0,255,136,.3)}.match-method{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;padding:8px 12px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,140,0,.1)}.method-info{display:flex;align-items:center;gap:8px;flex:1}.method-icon{font-size:14px;color:var(--color-orange)}.method-label{font-weight:600;color:var(--text-primary);font-size:12px}.match-reason{opacity:.8;font-style:italic;color:var(--text-secondary);font-size:11px;margin-left:4px}.inherited-badge{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#2196f326,#2196f314);border:1px solid rgba(33,150,243,.3);border-radius:12px;padding:5px 10px;font-size:11px;font-weight:600;color:#2196f3;white-space:nowrap;box-shadow:0 2px 4px #2196f326}.inherited-icon{font-size:12px;animation:bounce 2s infinite ease-in-out}.inherited-text{font-weight:700;letter-spacing:.3px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.no-matches{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 16px;color:var(--text-secondary);background:linear-gradient(135deg,#ff8c000d,#ff8c0005);border-radius:12px 0;border:1px solid rgba(255,140,0,.1);margin:16px}.no-matches-icon{font-size:48px;margin-bottom:16px;opacity:.6;color:var(--color-orange)}.no-matches h4{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.no-matches p{margin:0;font-size:14px;opacity:.8;color:var(--text-secondary)}.selected-item-details{background:linear-gradient(135deg,#ff8c0014,#ff8c0008);border-radius:12px 0;padding:20px;border:1px solid rgba(255,140,0,.2);box-shadow:0 4px 16px #0003,inset 0 1px #ff8c001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.selected-item-details h4{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.selected-item-details h4:before{content:"🔍";font-size:16px}.item-detail-card{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid rgba(255,140,0,.1)}.detail-row:last-child{border-bottom:none}.detail-row .label{font-size:14px;font-weight:600;color:var(--text-secondary);min-width:100px}.detail-row .value{font-size:14px;color:var(--text-primary);text-align:right;flex:1;word-break:break-word;font-weight:500}.pending-corrections-summary{margin-top:20px;padding:16px;background:linear-gradient(135deg,#ffc1071a,#ffc1070d);border:1px solid rgba(255,193,7,.3);border-radius:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pending-corrections-summary h5{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--color-yellow-bright);display:flex;align-items:center;gap:8px}.pending-corrections-summary h5:before{content:"⏳";font-size:16px}.corrections-list{display:flex;flex-direction:column;gap:8px}.correction-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-radius:8px;border:1px solid rgba(255,193,7,.2);font-size:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.operation{font-size:10px;font-weight:700;padding:4px 8px;border-radius:6px;text-transform:uppercase;min-width:60px;text-align:center;box-shadow:0 2px 4px #0003;text-shadow:0 1px 2px rgba(0,0,0,.3)}.operation.add{background:linear-gradient(135deg,#0f8,#00cc6a);color:#fff}.operation.remove{background:linear-gradient(135deg,#ff6b6b,#e74c3c);color:#fff}.operation.replace{background:linear-gradient(135deg,var(--color-orange) 0%,#d1651a 100%);color:#fff}.correction-item .item-code{font-family:Monaco,Menlo,monospace;font-size:11px;color:var(--color-orange-light);font-weight:600;background:#ff8c001a;padding:2px 6px;border-radius:4px}.correction-item .reason{color:var(--text-secondary);flex:1;font-weight:500}.remove-correction-button{background:none;border:none;color:#ff6b6b;cursor:pointer;padding:4px;border-radius:4px;font-size:12px;transition:all .3s ease;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center}.remove-correction-button:hover{background:#ff6b6b1a;transform:scale(1.1)}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.match-item{animation:slideIn .3s ease-out}.match-item:nth-child(1){animation-delay:.1s}.match-item:nth-child(2){animation-delay:.2s}.match-item:nth-child(3){animation-delay:.3s}.match-item:nth-child(4){animation-delay:.4s}.match-item:nth-child(5){animation-delay:.5s}.matches-section{animation:fadeIn .5s ease-out}.selected-row-info{animation:scaleIn .4s ease-out}.pending-corrections-summary{animation:slideIn .3s ease-out}.ai-learning-feedback{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;padding:16px;margin:16px 0;color:#fff;transform:translateY(20px);opacity:0;transition:all .5s ease}.ai-learning-feedback.show{transform:translateY(0);opacity:1}.learning-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.learning-icon{font-size:20px;animation:pulse 2s infinite}.learning-title{font-weight:600;font-size:16px}.learning-content{font-size:14px}.learning-message{margin-bottom:12px;opacity:.9}.learning-stats{display:flex;gap:16px}.learning-stats .stat-item{display:flex;flex-direction:column;gap:4px}.learning-stats .stat-label{font-size:12px;opacity:.7}.learning-stats .stat-value{font-weight:600;font-size:14px;color:#0f8}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width: 768px){.catalog-matches-widget .widget-body{padding:8px}.match-item{padding:12px}.cost-columns{grid-template-columns:1fr 1fr;gap:10px}.cost-column.property-column{grid-column:1 / -1}.matches-header{flex-direction:column;align-items:flex-start;gap:8px}.correction-actions{width:100%;justify-content:flex-end}.detail-row{flex-direction:column;gap:4px}.detail-row .label{min-width:auto}.detail-row .value{text-align:left}.inherited-badge{font-size:10px;padding:4px 8px}.match-method{flex-wrap:wrap}}.hierarchy-badge{display:inline-block;background:#4caf50;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;margin-right:8px}.hierarchy-info{margin-top:6px;font-size:13px}.inheritance-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.inheritance-badge.enabled{background:#e3f2fd;color:#1976d2;border:1px solid #90caf9}.inheritance-badge.disabled{background:#fff3e0;color:#f57c00;border:1px solid #ffb74d}.enrichment-tags-row{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.enrichment-indicator{display:inline-flex;align-items:center;padding:3px 8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;border-radius:4px;white-space:nowrap;text-transform:uppercase;box-shadow:0 1px 3px #3b82f64d}.enrichment-tags{display:flex;flex-wrap:wrap;gap:6px;flex:1}.enrichment-tag{display:inline-block;padding:3px 8px;background:#3b82f61a;color:var(--text-primary);font-size:11px;font-weight:500;border:1px solid rgba(59,130,246,.2);border-radius:4px;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.enrichment-tag.more{background:#3b82f633;border-color:#3b82f64d;font-weight:600;color:#3b82f6}.enrichment-tag.more.clickable{cursor:pointer;transition:all .2s ease}.enrichment-tag.more.clickable:hover{background:#3b82f64d;border-color:#3b82f680;transform:scale(1.05);box-shadow:0 2px 8px #3b82f64d}.material-details .enrichment-tags-row{margin-top:8px;margin-bottom:0}.tags-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.tags-modal-content{background:#2a2d3a;border-radius:12px;box-shadow:0 20px 60px #00000080;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease;border:1px solid rgba(59,130,246,.2)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.tags-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#3b82f61a,#3b82f60d)}.tags-modal-header h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.tags-modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;transition:all .2s ease;border-radius:4px}.tags-modal-close:hover{background:#ffffff1a;color:var(--text-primary);transform:scale(1.1)}.tags-modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.tags-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.tags-modal-tag{display:flex;align-items:center;justify-content:center;padding:10px 14px;background:#3b82f626;color:var(--text-primary);font-size:13px;font-weight:500;border:1px solid rgba(59,130,246,.25);border-radius:6px;text-align:center;transition:all .2s ease;word-break:break-word;min-height:40px}.tags-modal-tag:hover{background:#3b82f640;border-color:#3b82f666;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.tags-modal-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.1);background:#0003}.tags-modal-info{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5;text-align:center}.confidence-threshold-controls{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:4px}.threshold-slider-row{display:flex;align-items:center;gap:10px}.threshold-label{color:var(--text-secondary);font-size:11px;font-weight:500;white-space:nowrap;min-width:115px}.threshold-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;outline:none;cursor:pointer}.threshold-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-orange);cursor:pointer;border:2px solid rgba(0,0,0,.3);box-shadow:0 1px 4px #0000004d}.threshold-toggle{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap}.threshold-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-orange);cursor:pointer}.threshold-info{margin-top:4px;color:var(--text-secondary);font-size:10px;font-style:italic;opacity:.8}.match-item.below-threshold{opacity:.4;filter:grayscale(30%);border-color:#ffffff0d}.match-item.below-threshold:hover{opacity:.7;filter:none}.batch-apply-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.batch-apply-modal{background:var(--bg-secondary, #1e293b);border:1px solid rgba(255,255,255,.15);border-radius:12px;width:400px;max-width:90vw;max-height:80vh;overflow:hidden;box-shadow:0 8px 32px #00000080;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.batch-apply-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.batch-apply-header h3{margin:0;font-size:14px;font-weight:600;color:#e2e8f0}.batch-apply-close{background:transparent;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease}.batch-apply-close:hover{background:#ffffff1a;color:#e2e8f0}.batch-apply-body{padding:20px;max-height:50vh;overflow-y:auto}.batch-apply-description{margin:0 0 16px;font-size:13px;color:#94a3b8}.batch-apply-siblings{display:flex;flex-direction:column;gap:8px}.batch-apply-sibling{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:all .15s ease}.batch-apply-sibling:hover{background:#ffffff0f;border-color:#ffffff26}.batch-apply-sibling input[type=checkbox]{width:16px;height:16px;accent-color:#22c55e;cursor:pointer}.sibling-name{flex:1;font-size:13px;color:#e2e8f0;font-weight:500}.sibling-count{font-size:11px;color:#64748b}.batch-apply-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);background:#0003}.batch-apply-skip{flex:1;padding:10px 16px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#94a3b8;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.batch-apply-skip:hover{background:#ffffff0d;color:#e2e8f0}.batch-apply-confirm{flex:1;padding:10px 16px;background:#22c55e33;border:1px solid rgba(34,197,94,.4);border-radius:6px;color:#4ade80;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.batch-apply-confirm:hover:not(:disabled){background:#22c55e4d}.batch-apply-confirm:disabled{opacity:.5;cursor:not-allowed}.catalog-note-section{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}.catalog-note-add{background:transparent;border:1px dashed rgba(255,255,255,.15);border-radius:4px;color:#64748b;font-size:11px;padding:4px 10px;cursor:pointer;transition:all .15s ease;width:100%;text-align:left}.catalog-note-add:hover{border-color:#60a5fa66;color:#94a3b8;background:#60a5fa0d}.catalog-note-display{display:flex;gap:6px;padding:6px 8px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:4px;cursor:pointer;transition:all .15s ease}.catalog-note-display:hover{background:#ffffff0f;border-color:#ffffff26}.catalog-note-label{font-size:11px;color:#94a3b8;white-space:nowrap;flex-shrink:0}.catalog-note-text{font-size:11px;color:#cbd5e1;line-height:1.4;word-break:break-word}.catalog-note-editor{display:flex;flex-direction:column;gap:6px}.catalog-note-textarea{width:100%;min-height:48px;max-height:120px;padding:8px;background:#0000004d;border:1px solid rgba(96,165,250,.3);border-radius:4px;color:#e2e8f0;font-size:12px;font-family:inherit;resize:vertical}.catalog-note-textarea:focus{outline:none;border-color:#60a5fa80}.catalog-note-textarea::placeholder{color:#64748b}.catalog-note-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.catalog-note-count{font-size:10px;color:#64748b;margin-right:auto}.catalog-note-save,.catalog-note-cancel{padding:3px 10px;border-radius:3px;font-size:11px;cursor:pointer;border:none;transition:all .15s ease}.catalog-note-save{background:#22c55e33;color:#4ade80}.catalog-note-save:hover{background:#22c55e4d}.catalog-note-cancel{background:#ffffff0d;color:#94a3b8}.catalog-note-cancel:hover{background:#ffffff1a}.insights-widget{position:relative;padding:0;margin:0;height:100%;display:flex;flex-direction:column}.insights-widget .widget-body{overflow:hidden;height:calc(100% - 40px);position:relative;padding:10px;margin:0;display:flex;flex-direction:column;gap:20px;min-height:0}.insights-card{margin:0;background:#ffffff05;border-radius:8px;padding:12px 16px;border:1px solid rgba(255,140,0,.1)}.insights-header{display:flex;justify-content:space-between;align-items:center}.insights-header h3{margin:0;color:#fff;font-size:16px;font-weight:600}.chart-toggle-container{display:flex;gap:4px;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.chart-toggle-btn{padding:8px 16px;font-size:14px;border-radius:6px 0;border:none;cursor:pointer;transition:all .2s ease;background:transparent;color:var(--text-secondary);font-weight:500}.chart-toggle-btn:hover{background:#ffffff0d;color:var(--text-primary)}.chart-toggle-btn.active{background:#ff8c001a;color:#ff8c00;border-bottom:2px solid #ff8c00}.chart-toggle-btn.active:hover{background:#ff8c001f}.chart-container{flex:1;height:calc(100% - 80px);width:100%;padding:0;position:relative}.insights-widget .loading-overlay{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:10;padding:0;margin:0;background:transparent}.insights-widget .loading-card{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:12px;background:linear-gradient(180deg,#181b20c7,#181b20ad);border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 30px #00000059,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%);width:auto;max-width:none;min-height:auto;text-align:center;margin:0;position:relative}.insights-widget .loading-text{background:linear-gradient(90deg,var(--text-secondary) 25%,var(--color-yellow-bright) 50%,var(--text-secondary) 75%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 100%;animation:shimmer 2.2s infinite linear;font-size:16px;font-weight:600;margin:0;text-align:center}@keyframes shimmer{to{background-position:-200% 0}}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 20px;color:var(--text-secondary);height:100%;width:100%;background:linear-gradient(135deg,#ff8c0014,#ff8c0008);border-radius:12px;border:1px solid rgba(255,140,0,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0003,inset 0 1px #ff8c001a;box-sizing:border-box}.no-selection-icon{font-size:56px;margin-bottom:20px;opacity:.7;color:var(--color-orange);animation:pulse 2s ease-in-out infinite}.no-selection h4{margin:0 0 12px;font-size:20px;font-weight:700;color:var(--text-primary)}.no-selection p{margin:0;font-size:15px;opacity:.8;color:var(--text-secondary);line-height:1.5}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.spec-type-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;transition:all .2s ease;min-height:140px}.spec-type-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a}.spec-type-card.filled{background:var(--bg-tertiary);border-left:4px solid var(--primary-color)}.spec-card-header{display:flex;align-items:flex-start;gap:12px}.spec-icon{font-size:24px;padding:8px;background:var(--bg-primary);border-radius:8px}.spec-title{flex:1}.spec-title h5{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary)}.spec-desc{font-size:12px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spec-card-content{margin-top:auto;margin-left:0;margin-right:0;padding:12px 0 0;border-top:1px solid var(--border-color);width:100%;box-sizing:border-box}.upload-placeholder{width:100%;display:block;padding:0;margin:0;box-sizing:border-box}.file-info{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-primary);padding:8px;border-radius:6px}.file-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;color:var(--text-primary)}.status-badge{font-size:10px;padding:2px 6px;border-radius:4px;background:#e0e0e0;color:#333}.status-badge.active{background:#e6fffa;color:#00a080}.card-actions{display:flex;gap:4px}.btn-icon{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;font-size:14px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background .2s}.btn-icon:hover{background:#0000000d;color:var(--text-primary)}.btn-icon.danger:hover{background:#ffe6e6;color:#e53e3e}.btn-upload{display:block;width:calc(100% + -0px);max-width:100%;box-sizing:border-box;text-align:center;padding:8px 16px;margin:0 auto;background:var(--bg-primary);border:1px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s;direction:ltr}.btn-upload:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--bg-secondary)}@media (prefers-color-scheme: dark){.btn-upload:hover{background:#ffffff0d}}.specs-panel{padding:20px;background:var(--bg-card);border-radius:8px;height:100%;display:flex;flex-direction:column}.panel-header{margin-bottom:20px}.panel-header h3{margin:0 0 8px}.panel-subtitle{color:var(--text-secondary);font-size:.9rem;margin:0}.specs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;flex:1;overflow-y:auto}.spec-item{display:flex;align-items:center;padding:12px;background:var(--bg-hover);border-radius:6px;border:1px solid var(--border-color)}.spec-icon{font-size:24px;margin-right:15px}.spec-info{flex:1}.spec-name{font-weight:500;color:var(--text-primary)}.spec-meta{font-size:.85em;color:var(--text-secondary);margin-top:4px}.spec-actions{display:flex;gap:8px}.btn-icon{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;transition:background .2s}.btn-icon:hover{background:#ffffff1a}.btn-icon.danger:hover{background:#ff32321a}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-card);border-radius:12px;width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 25px #00000080}.modal-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start}.modal-header h4{margin:0 0 8px}.spec-type-badge{display:inline-block;background:var(--bg-hover);color:var(--text-secondary);padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);line-height:1;padding:0}.close-btn:hover{color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto}.modal-body h5{margin:20px 0 12px;font-size:.95rem;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.modal-body h5:first-child{margin-top:0}.type-data{background:var(--bg-main);padding:12px;border-radius:6px;margin-bottom:16px;border:1px solid var(--border-color)}.data-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-color)}.data-row:last-child{border-bottom:none}.data-row strong{min-width:140px;color:var(--text-secondary);text-transform:capitalize;font-size:.9rem}.data-row span{color:var(--text-primary);flex:1}.tags-container{background:var(--bg-main);padding:12px;border-radius:6px;margin-bottom:16px;border:1px solid var(--border-color)}.tag-group{margin-bottom:10px}.tag-group:last-child{margin-bottom:0}.tag-badge{display:inline-block;background:var(--accent-color-transparent);color:var(--accent-color);padding:2px 8px;border-radius:12px;font-size:.85em;margin-left:8px}.rule-card{background:var(--bg-main);padding:10px;border-radius:6px;margin-bottom:10px;border:1px solid var(--border-color)}.rule-header{display:flex;justify-content:space-between;margin-bottom:5px;color:var(--accent-color)}.rule-detail{font-size:.9em;color:var(--text-secondary)}.rules-list{background:var(--bg-main);padding:12px;border-radius:6px;border:1px solid var(--border-color)}.empty-message{color:var(--text-secondary);font-size:.9rem;font-style:italic;padding:8px;text-align:center}.error-banner{background:#d32f2f33;color:#ff8a80;padding:10px;border-radius:4px;margin-bottom:15px;font-size:.9rem;border:1px solid #d32f2f}.material-summary,.apartments-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.summary-card{background:var(--bg-main);padding:12px;border-radius:6px;border:1px solid var(--border-color)}.summary-card strong{display:block;color:var(--accent-color);margin-bottom:6px;font-size:.95rem}.summary-card div{font-size:.9rem;color:var(--text-secondary);margin-top:4px}@media (max-width: 768px){.specs-grid{grid-template-columns:1fr}.modal-content{width:90%;max-width:90%}.material-summary,.apartments-summary{grid-template-columns:1fr}}.specifications-widget-body{overflow:auto;height:100%}.command-palette-backdrop{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.command-palette{background:var(--color-surface, #242831);border:1px solid var(--color-border, #3a3f4a);border-radius:8px;box-shadow:0 8px 32px #0006;min-width:360px;max-width:480px;width:90vw;max-height:70vh;overflow:hidden;display:flex;flex-direction:column}.command-palette-input{width:100%;padding:12px 16px;font-size:14px;color:var(--color-text, #e6e9ef);background:var(--color-background, #1a1d23);border:none;border-bottom:1px solid var(--color-border, #3a3f4a);outline:none}.command-palette-input::placeholder{color:var(--color-text-secondary, #94a3b8)}.command-palette-list{list-style:none;margin:0;padding:6px 0;max-height:320px;overflow-y:auto}.command-palette-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;color:var(--color-text, #e6e9ef);font-size:13px;gap:12px}.command-palette-item:hover,.command-palette-item.selected{background:var(--color-surface-hover, #353a44)}.command-palette-item.selected{background:#e1762126;color:var(--color-primary, #e17621)}.command-palette-label{flex:1}.command-palette-shortcut{font-size:11px;color:var(--color-text-secondary, #94a3b8)}.command-palette-item-empty{cursor:default;color:var(--color-text-secondary, #94a3b8)}.auth-notification-container{position:fixed;top:20px;right:20px;z-index:10000;max-width:400px;pointer-events:none}.auth-notification{display:flex;align-items:center;padding:12px 16px;margin-bottom:8px;border-radius:8px;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);animation:slideInRight .3s ease-out;pointer-events:auto}.auth-notification.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.auth-notification.warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.auth-notification.error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.auth-notification.info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.auth-notification-icon{font-size:18px;margin-right:12px;flex-shrink:0}.auth-notification-message{flex:1;font-size:14px;font-weight:500;line-height:1.4}.auth-notification-close{background:none;border:none;color:inherit;font-size:20px;font-weight:700;cursor:pointer;padding:0;margin-left:12px;opacity:.8;transition:opacity .2s ease;flex-shrink:0}.auth-notification-close:hover{opacity:1}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 480px){.auth-notification-container{left:10px;right:10px;top:10px;max-width:none}.auth-notification{padding:10px 12px}.auth-notification-message{font-size:13px}}.project-gallery{display:flex;flex-direction:column;height:calc(100vh - 3.5em);width:100%;background:var(--color-background, #121212);color:var(--text-primary, #e0e0e0);overflow-y:auto;position:relative}.gallery-content{padding:20px;margin-top:2.5em}.gallery-info-section{display:flex;flex-direction:column;align-items:center;margin-bottom:40px;padding:30px;background:var(--color-surface, #1e1e1e);border-radius:16px;border:1px solid var(--border-color, #333);box-shadow:0 8px 32px #0003;position:relative}.gallery-title{margin:0 0 20px;font-size:2.5rem;font-weight:700;color:var(--text-primary, #e0e0e0);text-align:center;letter-spacing:1px;font-family:Arial,sans-serif;text-transform:uppercase;position:relative}.gallery-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--color-orange, #e17621),var(--color-orange-light, #cf6a1b));border-radius:2px}.model-info{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:10px}.info-row{display:flex;align-items:center;gap:10px;font-size:1rem;color:var(--text-secondary, #aaa)}.info-label{font-weight:600;color:var(--text-primary, #e0e0e0);min-width:120px}.info-value{color:var(--color-orange, #e17621);font-weight:500}.create-project-btn{background:var(--color-orange, #e17621);color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s;font-size:14px;position:absolute;top:20px;right:20px;box-shadow:0 2px 8px #e171214d}.create-project-btn:hover{background:var(--color-orange-light, #cf6a1b);transform:translateY(-1px);box-shadow:0 4px 12px #e1712166}.create-project-btn:hover{background:var(--color-orange-light, #cf6a1b)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 60px;background:var(--color-surface, #1e1e1e);border-radius:12px;box-shadow:0 4px 20px #0000004d;text-align:center;border:1px solid var(--border-color, #333);margin:40px auto;max-width:500px}.empty-icon{font-size:3rem;margin-bottom:20px;opacity:.5;color:var(--text-primary, #e0e0e0)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;width:100%;grid-auto-rows:auto}.project-card{background:var(--color-surface, #1e1e1e);border-radius:12px;padding:24px;box-shadow:0 4px 12px #0003;cursor:pointer;transition:all .3s ease;border-left:4px solid transparent;border:1px solid var(--border-color, #333);border-left-width:4px;position:relative;overflow:hidden;min-height:200px;max-height:350px;height:auto}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-orange, #e17621),var(--color-orange-light, #cf6a1b));opacity:0;transition:opacity .3s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0006;background:var(--color-surface-hover, #252525);border-color:#e171214d}.project-card:hover:before{opacity:1}.project-card.ready{border-left-color:var(--color-orange, #e17621)}.project-card.processing{border-left-color:#2196f3}.project-card.error{border-left-color:#f44336}.card-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:15px;gap:8px}.card-header-top{display:flex;justify-content:space-between;align-items:center;width:100%}.delete-project-btn{background:transparent;border:none;cursor:pointer;font-size:1.1rem;opacity:.5;transition:opacity .2s,transform .2s;padding:4px;border-radius:4px}.delete-project-btn:hover{opacity:1;transform:scale(1.1);background:#ffffff0d}.project-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, #e0e0e0);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{font-size:.7rem;padding:2px 8px;border-radius:12px;text-transform:uppercase;font-weight:700}.status-badge.ready{background:#e1712133;color:var(--color-orange, #e17621)}.status-badge.processing{background:#2196f333;color:#64b5f6}.status-badge.creating{background:#ef6c0033;color:#ffb74d}.status-badge.error{background:#f4433633;color:#f44336}.card-body{font-size:.9rem}.meta-row{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--text-secondary, #aaa)}.meta-row .value.badge{background:#333;padding:2px 6px;border-radius:4px;font-size:.8rem;color:#ccc}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid var(--border-color, #333)}.stat-item{display:flex;flex-direction:column}.stat-value{font-size:1.1rem;font-weight:700;color:var(--text-primary, #e0e0e0)}.stat-label{font-size:.75rem;color:var(--text-secondary, #aaa)}.project-gallery-loading{position:fixed;top:50vh;left:50vw;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #aaa);z-index:1001}.project-gallery-loading p{margin:20px 0 0;font-size:1.1em;font-weight:500;text-align:center}@media (max-width: 768px){.gallery-content{padding:15px}.gallery-info-section{padding:20px;margin-bottom:30px}.gallery-title{font-size:1.6rem}.create-project-btn{margin-top:20px;width:100%}.model-info{width:100%}.info-row{font-size:.9rem}.info-label{min-width:100px}.projects-grid{grid-template-columns:1fr;gap:15px}.project-card{padding:20px}}@media (max-width: 480px){.gallery-title{font-size:1.4rem}.info-row{flex-direction:column;align-items:flex-start;gap:4px}.info-label{font-size:.8rem;opacity:.8}}.wizard-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.wizard-card{background:var(--color-surface, #1e1e1e);width:500px;max-width:90%;border-radius:8px;box-shadow:0 10px 30px #00000080;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-color, #333);color:var(--text-primary, #e0e0e0)}.wizard-header{padding:20px;border-bottom:1px solid var(--border-color, #333);display:flex;justify-content:space-between;align-items:center}.wizard-header h3{margin:0;font-size:1.2rem;color:var(--text-primary, #e0e0e0)}.steps-indicator{display:flex;align-items:center;gap:10px}.step-dot{width:24px;height:24px;border-radius:50%;background:#333;color:#888;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;border:1px solid #444}.step-dot.active{background:var(--color-orange, #e17621);color:#fff;border-color:var(--color-orange, #e17621)}.step-line{width:30px;height:2px;background:#333}.wizard-content{padding:20px;flex:1}.wizard-error{background:#d32f2f33;color:#ff8a80;padding:10px;border-radius:4px;margin-bottom:15px;font-size:.9rem;border:1px solid #d32f2f}.step-content h4{margin-top:0;margin-bottom:20px;color:var(--text-secondary, #aaa);font-size:1rem;text-transform:uppercase;letter-spacing:.5px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-size:.9rem;color:var(--text-primary, #e0e0e0);font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 12px;background:#252525;border:1px solid var(--border-color, #444);border-radius:4px;font-size:.95rem;box-sizing:border-box;color:var(--text-primary, #e0e0e0)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-orange, #e17621);outline:none;box-shadow:0 0 0 2px #e1762133}.field-hint{margin:-3px 0 5px;font-size:.8rem;color:#888}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}.wizard-footer{padding:15px 20px;background:#252525;border-top:1px solid var(--border-color, #333);display:flex;justify-content:flex-end;gap:10px}.btn-text{background:none;border:none;padding:8px 16px;color:var(--text-secondary, #aaa);cursor:pointer;font-weight:500}.btn-text:hover{color:var(--text-primary, #fff);background:#ffffff0d;border-radius:4px}.btn-primary{background:var(--color-orange, #e17621);color:#fff;border:none;padding:8px 20px;border-radius:4px;cursor:pointer;font-weight:600}.btn-primary:disabled{background:#444;color:#888;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:var(--color-orange-light, #cf6a1b)}.spec-type-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:16px}.wizard-card:has(.spec-type-cards){width:800px;max-width:95%;max-height:90vh}.wizard-card:has(.spec-type-cards) .wizard-content{overflow-y:auto;max-height:calc(90vh - 150px)}.section-description{color:var(--text-secondary, #aaa);font-size:.9rem;line-height:1.4;margin-bottom:8px}@media (max-width: 768px){.spec-type-cards{grid-template-columns:1fr}.wizard-card:has(.spec-type-cards){width:95%}}.floating-cancel-button-container{position:fixed;bottom:24px;right:24px;z-index:9999;pointer-events:all}.floating-cancel-content{background:var(--color-surface, #1e1e1e);border-radius:8px;padding:16px;box-shadow:0 10px 30px #00000080;border:1px solid var(--border-color, #333);min-width:260px;display:flex;flex-direction:column;gap:10px}.floating-cancel-phase{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#e176211a;border-radius:6px;border:1px solid rgba(225,118,33,.2)}.phase-icon{font-size:16px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.phase-text{font-size:13px;font-weight:500;color:var(--text-primary, #e0e0e0);flex:1}.floating-cancel-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:#dc3545;color:#fff;border:1px solid #dc3545;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.floating-cancel-btn:hover:not(.disabled){background:#c82333;border-color:#c82333}.floating-cancel-btn:active:not(.disabled){transform:scale(.98)}.floating-cancel-btn.disabled{background:#6c757d;border-color:#6c757d;cursor:not-allowed;opacity:.6}.cancel-icon{font-size:16px;display:inline-block}.cancel-text{font-size:14px}.floating-cancel-hint{text-align:center;font-size:11px;color:var(--text-secondary, #999);padding:2px 0 0}@media (max-width: 768px){.floating-cancel-button-container{bottom:16px;right:16px}.floating-cancel-content{min-width:220px;padding:12px}.floating-cancel-btn{padding:8px 14px;font-size:13px}.cancel-icon{font-size:14px}.cancel-text{font-size:13px}}@media (max-width: 480px){.floating-cancel-button-container{bottom:12px;right:12px;left:12px}.floating-cancel-content{min-width:auto;width:100%}.floating-cancel-btn{width:100%}}.floating-cancel-btn:focus{outline:2px solid var(--color-orange, #e17621);outline-offset:2px}.floating-cancel-btn:focus:not(:focus-visible){outline:none}.cancel-confirmation-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.cancel-confirmation-dialog{background:var(--color-surface, #1e1e1e);border-radius:8px;box-shadow:0 10px 30px #00000080;border:1px solid var(--border-color, #333);max-width:480px;width:100%;overflow:hidden}.cancel-dialog-header{padding:24px 24px 20px;border-bottom:1px solid var(--border-color, #333)}.cancel-dialog-title{font-size:20px;font-weight:600;color:var(--text-primary, #e0e0e0);margin:0;display:flex;align-items:center;gap:12px}.cancel-dialog-icon{font-size:24px;display:inline-block}.cancel-dialog-content{padding:20px 24px}.cancel-dialog-message{font-size:15px;line-height:1.5;color:var(--text-primary, #e0e0e0);margin:0 0 16px}.cancel-dialog-message strong{color:var(--color-orange, #e17621);font-weight:500}.cancel-dialog-warning{font-size:14px;color:var(--text-secondary, #999);margin:0 0 12px;font-weight:500}.warning-list{list-style:none;margin:0 0 16px;background:#dc354514;border:1px solid rgba(220,53,69,.2);border-radius:6px;padding:12px 16px}.warning-list li{font-size:13px;color:var(--text-secondary, #999);padding:6px 0 6px 20px;position:relative;line-height:1.4}.warning-list li:before{content:"×";position:absolute;left:0;color:#dc3545;font-weight:700;font-size:16px}.cancel-progress-indicator{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:#6c757d1a;border-radius:6px;border:1px solid rgba(108,117,125,.2);margin-top:8px}.cancel-progress-indicator span{font-size:13px;color:var(--text-secondary, #999);font-weight:500}.cancel-dialog-footer{padding:16px 24px 20px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--border-color, #333);background:#0003}.cancel-dialog-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;white-space:nowrap}.cancel-dialog-btn-secondary{background:transparent;color:var(--text-secondary, #999);border:1px solid var(--border-color, #444)}.cancel-dialog-btn-secondary:hover:not(:disabled){background:#ffffff0d;color:var(--text-primary, #e0e0e0);border-color:var(--border-color, #555)}.cancel-dialog-btn-danger{background:#dc3545;color:#fff;border:1px solid #dc3545}.cancel-dialog-btn-danger:hover:not(:disabled):not(.disabled){background:#c82333;border-color:#c82333}.cancel-dialog-btn-danger.disabled,.cancel-dialog-btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{font-size:14px}@media (max-width: 600px){.cancel-confirmation-dialog{max-width:100%;margin:0 10px}.cancel-dialog-header{padding:20px}.cancel-dialog-title{font-size:18px}.cancel-dialog-icon{font-size:20px}.cancel-dialog-content{padding:16px 20px}.cancel-dialog-footer{padding:12px 20px 16px;flex-direction:column-reverse}.cancel-dialog-btn{width:100%;justify-content:center}}.cancel-dialog-btn:focus{outline:2px solid var(--color-orange, #e17621);outline-offset:2px}.cancel-dialog-btn:focus:not(:focus-visible){outline:none}.file-tree-sidebar{position:fixed;top:3em;left:0;width:8px;height:40px;z-index:50;background:var(--color-surface-secondary, #2d3139);border:1px solid var(--color-border, #3a3f4a);border-left:none;border-radius:0 8px 8px 0;box-shadow:0 1px 2px #0003;transition:width .25s ease,height .25s ease,box-shadow .2s ease;overflow:hidden}.file-tree-sidebar.expanded{width:280px;height:calc(100vh - 3em);border-radius:0 8px 8px 0;border-left:1px solid var(--color-border, #3a3f4a);box-shadow:0 2px 8px #0000004d}.file-tree-sidebar .sidebar-inner{position:absolute;left:0;top:0;width:280px;height:100%;display:flex;flex-direction:column;min-height:0;background:var(--color-surface, #242831);visibility:hidden;opacity:0;pointer-events:none;transition:visibility .2s ease,opacity .2s ease}.file-tree-sidebar.expanded .sidebar-inner{position:relative;visibility:visible;opacity:1;pointer-events:auto}.file-tree-sidebar .sidebar-nudge{position:absolute;top:0;left:0;width:8px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-primary, #e17621);pointer-events:auto;background:var(--color-surface-secondary, #2d3139);border-left:2px solid var(--color-primary, #e17621);border-radius:0 8px 8px 0;transition:color .2s ease,background .2s ease,box-shadow .2s ease}.file-tree-sidebar .sidebar-nudge:hover{color:var(--color-primary, #e17621);background:var(--color-surface-hover, #353a44);box-shadow:0 0 0 1px #e1762140}.file-tree-sidebar .sidebar-nudge-arrow{flex-shrink:0;width:6px;height:6px;min-width:6px;min-height:6px}.file-tree-sidebar.expanded .sidebar-nudge{display:none}.file-tree-sidebar .sidebar-header{flex-shrink:0;display:flex;align-items:center;gap:8px;height:40px;min-height:40px;padding:0 12px;border-bottom:1px solid var(--color-border, #3a3f4a);background:var(--color-surface-secondary, #2d3139);font-weight:600;font-size:12px;color:var(--color-primary, #e17621);line-height:1.2}.file-tree-sidebar .sidebar-header-icon{display:flex;align-items:center;color:var(--color-primary, #e17621);font-size:14px}.file-tree-sidebar .sidebar-header .emoji{font-size:14px;margin-right:6px;vertical-align:middle}.file-tree-sidebar .tree-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;min-height:0;position:relative;box-sizing:border-box}.file-tree-sidebar .sidebar-loading{position:absolute;top:0;left:0;right:0;padding:16px;color:var(--color-text-secondary, #a8b2c1);font-size:14px;text-align:center}.file-tree-sidebar .tree{min-height:100%;color:var(--text-primary, #e6e9ef)}.file-tree-sidebar .tree-container::-webkit-scrollbar{width:8px}.file-tree-sidebar .tree-container::-webkit-scrollbar-track{background:var(--color-darkest, #0d0d12);border-radius:4px}.file-tree-sidebar .tree-container::-webkit-scrollbar-thumb{background:var(--color-dark-accent, #1a1a2e);border-radius:4px}.file-tree-sidebar .tree-container::-webkit-scrollbar-thumb:hover{background:#ffffff26}.file-tree-sidebar .inspire-tree{background:transparent;color:var(--color-text, #e6e9ef)}.file-tree-sidebar .inspire-tree .node{padding:4px 8px;border-radius:4px;margin:2px 0;transition:background-color .2s ease}.file-tree-sidebar .inspire-tree .node:hover{background:var(--color-surface-hover, #353a44)}.file-tree-sidebar .inspire-tree .node.selected{background:var(--color-primary, #e17621);color:#fff}.file-tree-sidebar .inspire-tree .node .icon{margin-right:8px;color:var(--color-text-secondary, #a8b2c1)}.file-tree-sidebar .inspire-tree .node .text{font-size:13px;font-weight:500}.file-tree-sidebar .inspire-tree .node .title{font-size:13px;font-weight:500;color:inherit}.file-tree-sidebar .inspire-tree .node .toggle{color:var(--color-text-secondary, #a8b2c1);margin-right:6px}.file-tree-sidebar .inspire-tree .node .toggle:hover{color:var(--color-text, #e6e9ef)}.file-tree-sidebar .inspire-tree .icon:before{width:16px;height:16px;display:inline-block;content:"";background-color:var(--color-text-secondary, #a8b2c1);-webkit-mask-size:cover;mask-size:cover;margin-right:6px}.file-tree-sidebar .inspire-tree .node:hover>.icon:before{background-color:var(--color-text, #e6e9ef)}.file-tree-sidebar .inspire-tree .node.selected>.icon:before{background-color:#fff}.file-tree-sidebar .icon-hub:before{background-image:none;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg>')}.file-tree-sidebar .icon-project:before{background-image:none;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 8v13H3V8"></path><path d="M1 3h22v5H1z"></path><path d="M10 12h4"></path></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 8v13H3V8"></path><path d="M1 3h22v5H1z"></path><path d="M10 12h4"></path></svg>')}.file-tree-sidebar .icon-my-folder:before{background-image:none;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path></svg>')}.file-tree-sidebar .icon-item:before{background-image:none;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline></svg>')}.file-tree-sidebar .icon-version:before{background-image:none;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>')}@media (max-width: 768px){.file-tree-sidebar{display:none}}body,html{margin:0;padding:0;height:100vh;font-family:ArtifaktElement,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{height:100vh;width:100vw;position:relative;overflow:hidden}.app-main{height:100%;min-height:0}.viewer{left:var(--left-pane-width, 17.5%);right:var(--right-pane-width, 0);top:3em;bottom:0;position:absolute;transition:left .3s ease-in-out,right .3s ease-in-out}.viewer-container{width:100%;height:100%}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2em;color:#666;z-index:10}.error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2em;color:#d32f2f;z-index:10;background:#ffffffe6;padding:20px;border-radius:8px;border:1px solid #d32f2f}.login-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;padding:40px 36px 32px;background:#181b20e0;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-radius:16px;box-shadow:0 24px 64px #0000008c,inset 0 1px #ffffff0f;border:1px solid rgba(255,255,255,.08);z-index:1;animation:fadeInCenter .5s ease-out forwards;width:380px;max-width:92vw}.background-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.login-logo-section{display:flex;flex-direction:column;align-items:center;margin-bottom:28px}.login-tagline{margin:8px 0 0;font-size:14px;font-weight:500;color:var(--text-secondary, #868b95);letter-spacing:.01em}.tagline-highlight{background:linear-gradient(135deg,#dd5118,#ffc07a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.login-prompt h2{margin:0;color:var(--text-primary);font-size:1.5em;font-weight:700;letter-spacing:-.3px}.login-form{display:flex;flex-direction:column;gap:16px;text-align:left}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:13px;font-weight:500;color:var(--text-secondary, #868b95);letter-spacing:.01em}.login-field input{width:100%;padding:10px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary, #e6e9ef);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.login-field input::placeholder{color:#868b9599}.login-field input:focus{border-color:#dd51188c;box-shadow:0 0 0 3px #dd51181f}.login-form-disabled .login-field input:disabled,.login-form-disabled .login-submit-btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.login-submit-btn{width:100%;padding:11px 0;background:linear-gradient(135deg,#dd5118,#e8782e);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s ease,box-shadow .2s ease,transform .1s ease;box-shadow:0 2px 8px #dd511840;margin-top:4px}.login-submit-btn:hover{opacity:.92;box-shadow:0 4px 14px #dd511859}.login-submit-btn:active{transform:scale(.985)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:14px;margin:24px 0 20px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.login-divider span{font-size:12px;color:#868b95b3;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.login-providers{display:flex;gap:10px}.login-provider-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 0;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary, #e6e9ef);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.login-provider-btn:hover{background:#ffffff14;border-color:#ffffff2e;box-shadow:0 2px 8px #0003}.login-provider-btn:active{transform:scale(.98)}.login-provider-btn svg{flex-shrink:0}.login-provider-btn.autodesk:hover{border-color:#dd511866;background:#dd511814}.login-provider-btn.google:hover{border-color:#4285f466;background:#4285f40f}.login-provider-btn.microsoft:hover{border-color:#00a4ef66;background:#00a4ef0f}.login-provider-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInCenter{0%{opacity:0;transform:translate(-50%,-50%) translateY(10px)}to{opacity:1;transform:translate(-50%,-50%)}}.sidebar,.viewer,.cost-analysis-sidebar{animation:fadeIn .5s ease-out forwards}.overlay-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay-content{background:var(--color-dark-accent);border-radius:12px;box-shadow:0 20px 60px #00000080;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.overlay-content.full-screen{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.overlay-header{display:flex;justify-content:flex-start;align-items:center;padding:16px 24px;background:var(--color-surface-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.btn-text{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:8px 12px;border-radius:4px;transition:all .2s ease}.btn-text:hover{background:var(--color-surface-hover);color:var(--text-primary)}
