: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%}}@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:100vw;position:absolute;top:3em;left:0;background:var(--color-background, #1a1d23);color:var(--color-text, #e6e9ef);overflow:hidden}.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{padding:6px 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 .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:18px;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:3px;transition:all .2s ease;line-height:1;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.widget-close-btn:hover{background:#ff44441a;color:#f44;transform:scale(1.1)}.widget-close-btn:active{transform:scale(.95)}.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}}.file-tree-widget .widget-body{overflow:hidden}.tree-container{height:100%;overflow:auto;padding:12px;box-sizing:border-box}.tree{height:100%}.inspire-tree{background:transparent;color:var(--color-text, #e6e9ef)}.inspire-tree .node{padding:4px 8px;border-radius:4px;margin:2px 0;transition:background-color .2s ease}.inspire-tree .node:hover{background:var(--color-surface-hover, #353a44)}.inspire-tree .node.selected{background:var(--color-primary, #e17621);color:#fff}.inspire-tree .node .icon{margin-right:8px;color:var(--color-text-secondary, #a8b2c1)}.inspire-tree .node .text{font-size:13px;font-weight:500}.inspire-tree .node .toggle{color:var(--color-text-secondary, #a8b2c1);margin-right:6px}.inspire-tree .node .toggle:hover{color:var(--color-text, #e6e9ef)}.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:16px;margin-bottom:16px;background:#ffffff05;border-radius:8px;padding:16px;border:1px solid rgba(255,140,0,.1)}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.header-top h3{margin:0;color:#fff;font-size:18px;font-weight:600}.header-controls{display:flex;align-items:center;gap:8px}.control-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#ff8c001a;color:#ff8c00;cursor:pointer;border-radius:6px;transition:all .2s ease;font-size:16px}.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-container{position:relative}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:#666;font-size:16px;z-index:1}.search-input{width:100%;padding:10px 12px 10px 40px;border:1px solid rgba(255,140,0,.2);border-radius:6px;background:#ffffff0d;color:#fff;font-size:14px;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:#666}.clear-search-button{position:absolute;right:8px;background:none;border:none;color:#666;cursor:pointer;font-size:18px;width:24px;height:24px;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:8px;font-size:12px;color:#666;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__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}.confidence-indicator{display:inline-flex;align-items:center;gap:4px;padding:2px 4px;font-size:12px;font-weight:500;position:relative}.confidence-indicator.compact{padding:1px 2px;font-size:11px}.confidence-indicator.high{color:#0f8}.confidence-indicator.medium{color:#fa0}.confidence-indicator.low{color:#f44}.indicator-content{display:flex;align-items:center;gap:4px}.method-icon{font-size:14px;line-height:1}.confidence-score{font-weight:600;min-width:32px;text-align:center}.correction-button{background:none;border:none;color:inherit;cursor:pointer;padding:2px;border-radius:4px;font-size:12px;transition:all .2s ease;opacity:.7}.correction-button:hover{opacity:1;background:#ffffff1a;transform:scale(1.1)}.confidence-details{margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.1)}.method-label{font-size:10px;opacity:.8;margin-bottom:2px}.confidence-bar{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:2px}.confidence-fill{height:100%;transition:width .3s ease;border-radius:2px}.confidence-text{font-size:10px;opacity:.8;text-align:center}@media (max-width: 768px){.confidence-indicator{font-size:11px;padding:1px 2px}.confidence-indicator.compact{padding:1px 2px;font-size:10px}}.confidence-indicator.updating{animation:pulse .5s ease-in-out}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.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__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}.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}}.analysis-pane-widget{background:var(--bg-card);height:100%;display:flex;flex-direction:column;overflow:hidden}.analysis-pane-body{flex:1;padding:0;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}@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}.modal-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)}.add-items-modal{background:linear-gradient(135deg,var(--color-dark-accent) 0%,var(--color-darkest) 100%);border-radius:16px;width:100%;max-width:1000px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000080,0 0 0 1px #ff8c001a;border:1px solid rgba(255,140,0,.2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden}.modal-header{padding:20px 24px;border-bottom:1px solid rgba(255,140,0,.2);display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;background:linear-gradient(135deg,#ff8c000d,#ff8c0005);border-radius:16px 16px 0 0;gap:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:fixed;top:0;left:0;right:0;z-index:10;height:80px;box-sizing:border-box}.modal-header h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px;flex:1}.modal-header h3:before{content:"➕";font-size:16px;color:var(--color-orange)}.element-info{margin:0;color:var(--text-secondary);font-size:13px;font-weight:500;background:#ff8c001a;padding:8px 12px;border-radius:8px;border-left:3px solid var(--color-orange);max-width:300px;word-wrap:break-word}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.confirm-button{background:linear-gradient(135deg,#00ff881a,#00ff880d);border:1px solid rgba(0,255,136,.3);color:#0f8;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;flex-shrink:0;font-size:16px}.confirm-button:hover:not(:disabled){background:linear-gradient(135deg,#0f83,#00ff881a);border-color:#00ff8880;color:#0f8;transform:scale(1.05);box-shadow:0 4px 12px #00ff884d}.confirm-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.close-button{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.2);color:#ff6b6b;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:16px;min-width:36px;height:36px;flex-shrink:0}.close-button:hover{background:#ff6b6b33;color:#ff5252;transform:scale(1.05);box-shadow:0 4px 12px #ff6b6b4d}.modal-content{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px;min-height:0;max-height:calc(85vh - 80px);position:relative;margin-top:80px}.modal-content h4{margin:0 0 16px;color:var(--text-primary);font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}.modal-content h4:before{content:"🔍";font-size:16px;color:var(--color-orange)}.search-section{display:flex;gap:16px;align-items:center;margin-bottom:8px;width:100%;flex-shrink:0;position:relative;z-index:1}.search-input{position:relative;flex:1}.search-input input{width:100%;padding:12px 16px 12px 44px;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,140,0,.2);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease;box-sizing:border-box}.search-input input:focus{outline:none;border-color:var(--color-orange);background:linear-gradient(135deg,#ff8c001a,#ff8c000d);box-shadow:0 0 0 3px #ff8c0033}.search-input input::placeholder{color:var(--text-secondary);opacity:.7}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-orange);font-size:16px}.selected-count{color:var(--color-orange-light);font-size:13px;font-weight:600;white-space:nowrap;background:#ff8c001a;padding:12px 16px;border-radius:8px;border:1px solid rgba(255,140,0,.2);min-width:120px;text-align:center;display:flex;align-items:center;justify-content:center;height:44px;box-sizing:border-box;flex-shrink:0}.catalogue-section{flex:1;display:flex;flex-direction:column;min-height:0;position:relative;z-index:1}.catalogue-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:4px;flex:1;min-height:0}.catalogue-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,140,0,.2);border-radius:8px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.catalogue-item:hover{border-color:var(--color-orange);background:linear-gradient(135deg,#ff8c001a,#ff8c000d);transform:translateY(-2px);box-shadow:0 4px 16px #ff8c0033}.catalogue-item.selected{border-color:var(--color-orange);background:linear-gradient(135deg,#ff8c0026,#ff8c0014);box-shadow:0 6px 20px #ff8c004d;transform:translateY(-1px)}.item-checkbox{display:flex;align-items:center;justify-content:center;margin-top:2px}.item-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-orange);cursor:pointer}.item-info{flex:1;display:flex;flex-direction:column;gap:6px}.item-code{font-family:Monaco,Menlo,monospace;font-size:12px;color:var(--color-orange-light);font-weight:700;background:#ff8c001a;padding:3px 6px;border-radius:4px;border-left:2px solid var(--color-orange);display:inline-block;width:fit-content}.item-description{color:var(--text-primary);font-size:14px;line-height:1.4;font-weight:500}.item-details{display:flex;gap:8px;font-size:12px;color:var(--text-secondary);flex-wrap:wrap}.item-category{flex:1;background:#ffffff0d;padding:4px 8px;border-radius:4px;border:1px solid rgba(255,140,0,.1);font-weight:500;font-size:11px}.item-unit{min-width:40px;background:#ffffff0d;padding:4px 8px;border-radius:4px;border:1px solid rgba(255,140,0,.1);font-weight:500;text-align:center;font-size:11px}.item-rate{color:#0f8;font-weight:700;min-width:70px;text-align:right;background:linear-gradient(135deg,#00ff881a,#00ff880d);padding:4px 8px;border-radius:4px;border:1px solid rgba(0,255,136,.2);font-size:11px}.selected-items-summary{background:linear-gradient(135deg,#00ff8814,#00ff8808);border-radius:0 0 16px 16px;padding:10px 24px;border:1px solid rgba(0,255,136,.2);border-top:none;box-shadow:0 4px 16px #0003,inset 0 1px #00ff881a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0;max-height:120px;overflow:hidden;position:relative;z-index:1}.selected-items-summary h4{margin:0 0 8px;color:var(--text-primary);font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.selected-items-summary h4:before{content:"✅";font-size:12px;color:#0f8}.selected-list{display:flex;flex-direction:column;gap:4px;max-height:80px;overflow-y:auto;padding:2px}.selected-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-radius:6px;border:1px solid rgba(0,255,136,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.selected-item .item-code{font-family:Monaco,Menlo,monospace;font-size:11px;color:var(--color-orange-light);font-weight:700;min-width:80px;background:#ff8c001a;padding:3px 6px;border-radius:4px;border-left:2px solid var(--color-orange)}.selected-item .item-description{flex:1;color:var(--text-primary);font-size:12px;font-weight:500}.remove-selected-button{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.2);color:#ff6b6b;cursor:pointer;padding:4px;border-radius:4px;font-size:11px;transition:all .3s ease;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center}.remove-selected-button:hover{background:#ff6b6b33;transform:scale(1.1);box-shadow:0 2px 8px #ff6b6b4d}.status-message{display:flex;align-items:center;gap:10px;padding:16px 20px;border-radius:10px;font-size:15px;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.status-message.success{background:linear-gradient(135deg,#00ff881a,#00ff880d);border:1px solid rgba(0,255,136,.3);color:#0f8;box-shadow:0 4px 16px #0f83}.status-message.error{background:linear-gradient(135deg,#ff6b6b1a,#ff6b6b0d);border:1px solid rgba(255,107,107,.3);color:#ff6b6b;box-shadow:0 4px 16px #ff6b6b33}.add-button{background:linear-gradient(135deg,#0f8,#00cc6a);border:none;color:#fff;cursor:pointer;padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 16px #00ff884d;text-shadow:0 1px 2px rgba(0,0,0,.2)}.add-button:hover:not(:disabled){background:linear-gradient(135deg,#00cc6a,#0a5);transform:translateY(-2px);box-shadow:0 6px 20px #0f86}.add-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #00ff884d}.spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.add-items-modal{max-width:95vw;max-height:95vh}.modal-content{padding:16px;gap:16px}.search-section{flex-direction:column;align-items:stretch;gap:12px}.search-input input,.selected-count{height:44px}.item-details{flex-direction:column;gap:4px}.header-actions{gap:6px}.confirm-button,.close-button{min-width:32px;height:32px;font-size:14px}.catalogue-list{max-height:180px}.selected-list{max-height:60px}.selected-items-summary{max-height:100px}}.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}}.catalogue-matches-widget{height:100%;display:flex;flex-direction:column;background:#252831;border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #0000004d}.catalogue-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}.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-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){.catalogue-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}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.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}.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}}.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}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}.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;background:var(--color-dark-accent);border-radius:12px;box-shadow:0 10px 30px #0006;border:1px solid var(--border-color);z-index:1;animation:fadeInCenter .5s ease-out forwards}.background-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.login-prompt h2{margin:0 0 16px;color:var(--text-primary);font-size:2em;font-weight:600}.login-prompt p{margin:0 0 24px;color:var(--text-secondary);font-size:1.1em}@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)}
