@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--primary-blue: #0000FE;--accent-green: #03FF89;--pure-black: #000000;--neutral-gray: #BDBDBD;--pure-white: #FFFFFF;--light-gray: #F8F9FA;--dark-gray: #2A2A2A;--stress-red: #FF4444;--warning-orange: #FF8800;--info-blue: #4488FF;--shadow-light: rgba(0, 0, 0, .05);--shadow-medium: rgba(0, 0, 0, .1);--shadow-heavy: rgba(0, 0, 0, .15);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .2);--border-radius: 8px;--border-radius-large: 12px;--transition: all .3s ease;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 2rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem}html,body{height:100%;margin:0;padding:0;font-family:Inter,Arial,sans-serif;background:var(--pure-white);color:var(--pure-black);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column;line-height:1.5;font-size:var(--font-base)}*,*:before,*:after{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-4) 0;font-weight:700;line-height:1.2;color:var(--pure-black)}h1{font-size:var(--font-3xl);font-weight:800}h2{font-size:var(--font-2xl);font-weight:700}h3{font-size:var(--font-xl);font-weight:600}p{margin:0 0 var(--space-4) 0;line-height:1.6}a{color:var(--primary-blue);text-decoration:none;transition:var(--transition)}a:hover{text-decoration:underline;color:var(--accent-green)}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}button{background:none;border:none;padding:0;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--primary-blue);outline-offset:2px}.hidden{display:none!important}.text-center{text-align:center}.font-bold{font-weight:700}.text-primary{color:var(--primary-blue)}.text-accent{color:var(--accent-green)}.text-muted{color:var(--neutral-gray)}.material-icons{vertical-align:middle;line-height:1;font-feature-settings:"liga"}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}::-webkit-scrollbar-thumb{background:var(--neutral-gray);border-radius:4px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--dark-gray)}::selection{background-color:var(--primary-blue);color:var(--pure-white)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-header{display:flex;justify-content:space-between;align-items:center;background:var(--pure-white);color:var(--pure-black);padding:1rem 2rem;box-shadow:0 1px 3px var(--shadow-light);border-bottom:1px solid rgba(0,0,0,.08);height:80px;box-sizing:border-box}.app-title{display:flex;align-items:center;font-size:var(--font-xl);font-weight:800;gap:1rem;color:var(--pure-black)}.user-profile-wrapper{position:relative}.user-profile{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--light-gray);border:2px solid transparent;transition:var(--transition);cursor:pointer;padding:0}.user-profile:hover{background:#0000fe14;border-color:var(--primary-blue)}.user-initials{width:36px;height:36px;border-radius:50%;background:var(--primary-blue);color:var(--pure-white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-sm);letter-spacing:.03em;pointer-events:none}.profile-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:200px;background:var(--pure-white);border-radius:var(--border-radius-large);box-shadow:var(--shadow-xl);border:1px solid rgba(0,0,0,.08);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:200}.profile-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-user-info{padding:var(--space-4);border-bottom:1px solid rgba(0,0,0,.06)}.dropdown-user-name{font-weight:600;font-size:var(--font-sm);color:var(--pure-black);margin-bottom:var(--space-1)}.dropdown-user-email{color:var(--neutral-gray);font-size:var(--font-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-sm);font-weight:500;color:var(--pure-black);cursor:pointer;border:none;background:none;text-align:left;transition:background .15s}.dropdown-item:hover{background:var(--light-gray)}.dropdown-item .material-icons{font-size:18px}.dropdown-item--logout{color:var(--stress-red)}.dropdown-item--logout:hover{background:#ff44440f}.main-content{flex:1 1 auto;padding:0;background:var(--pure-white);min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;height:100%;overflow:hidden}.app-container{display:flex;flex:1 1 auto;min-height:0;height:calc(100vh - 80px);overflow:hidden}.welcome-section{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--light-gray) 0%,var(--pure-white) 100%)}.welcome-content{text-align:center;max-width:600px;padding:var(--space-8)}.welcome-content h1{color:var(--pure-black);margin-bottom:var(--space-6);font-size:3rem;font-weight:800}.welcome-content p{font-size:var(--font-lg);color:var(--neutral-gray);line-height:1.6;margin-bottom:var(--space-8)}.welcome-cta-button{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);background:var(--primary-blue);color:var(--pure-white);border:none;border-radius:var(--border-radius);font-size:var(--font-lg);font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 4px 12px #0000fe4d}.welcome-cta-button:hover{background:#0000e6;transform:translateY(-2px);box-shadow:0 8px 20px #0000fe66}.welcome-cta-button .material-icons{font-size:1.5rem}.info-panel{width:350px;background:var(--pure-white);border-left:1px solid rgba(0,0,0,.08);box-shadow:-2px 0 8px var(--shadow-light);display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease;z-index:100}.info-panel[style*=block]{transform:translate(0)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6);border-bottom:1px solid rgba(0,0,0,.08);background:var(--light-gray)}.panel-header h3{margin:0;font-size:var(--font-lg);font-weight:700;color:var(--pure-black)}.panel-close-btn{width:32px;height:32px;border:none;background:transparent;color:var(--neutral-gray);cursor:pointer;border-radius:50%;transition:var(--transition);display:flex;align-items:center;justify-content:center}.panel-close-btn:hover{background:#0000001a;color:var(--pure-black)}.panel-content{flex:1;padding:var(--space-6);overflow-y:auto}@media (max-width: 1200px){.info-panel{width:300px}}@media (max-width: 900px){.app-container{flex-direction:column}.info-panel{width:100%;height:50vh;transform:translateY(100%);border-left:none;border-top:1px solid rgba(0,0,0,.08)}.info-panel[style*=block]{transform:translateY(0)}.welcome-content h1{font-size:2.5rem}.app-header{padding:1rem}.app-title{font-size:var(--font-lg)}}@media (max-width: 600px){.welcome-content{padding:var(--space-4)}.welcome-content h1{font-size:2rem}.welcome-cta-button{width:100%;justify-content:center}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-spinner{margin-bottom:var(--space-4)}.spinner{width:40px;height:40px;border:4px solid rgba(0,0,254,.2);border-top:4px solid var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:var(--font-lg);font-weight:600;color:var(--pure-black);margin:0}.model-info-section{margin-bottom:var(--space-8)}.info-section-title{font-size:var(--font-lg);font-weight:700;color:var(--pure-black);margin:0 0 var(--space-6) 0;padding-bottom:var(--space-2);border-bottom:2px solid var(--primary-blue)}.info-property{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-2) 0;border-bottom:1px solid rgba(0,0,0,.05);gap:var(--space-4)}.info-property:last-child{border-bottom:none}.info-label{font-weight:600;color:var(--neutral-gray);font-size:var(--font-sm);flex-shrink:0;min-width:80px}.info-value{font-weight:500;color:var(--pure-black);text-align:right;word-break:break-word;flex:1}.info-value.type{color:var(--primary-blue);font-weight:600}.info-value.status.loaded{color:var(--accent-green);font-weight:600}.info-value.analysis-type{color:var(--info-blue);font-weight:600}.info-value.description{font-size:var(--font-sm);line-height:1.5;text-align:left;color:var(--dark-gray)}.model-actions-section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid rgba(0,0,0,.1)}.info-action-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);background:var(--primary-blue);color:var(--pure-white);border:none;border-radius:var(--border-radius);font-size:var(--font-base);font-weight:600;cursor:pointer;transition:var(--transition);margin-bottom:var(--space-3)}.info-action-btn:hover{background:#0000e6;transform:translateY(-1px);box-shadow:0 4px 12px #0000fe4d}.info-action-btn.secondary{background:var(--light-gray);color:var(--pure-black);border:1px solid rgba(0,0,0,.1)}.info-action-btn.secondary:hover{background:var(--neutral-gray);color:var(--pure-white);box-shadow:0 4px 12px #bdbdbd4d}.results-section{display:flex;flex-direction:column;gap:var(--space-4)}.result-card{background:var(--light-gray);border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius);padding:var(--space-4);transition:var(--transition)}.result-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-light)}.result-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.result-header .material-icons{color:var(--primary-blue);font-size:1.2rem}.result-title{font-size:var(--font-sm);font-weight:600;color:var(--neutral-gray);text-transform:uppercase;letter-spacing:.05em}.result-value{font-size:var(--font-xl);font-weight:800;color:var(--pure-black)}.analysis-metadata{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid rgba(0,0,0,.1)}.metadata-title{font-size:var(--font-base);font-weight:600;color:var(--pure-black);margin:0 0 var(--space-4) 0}.metadata-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;font-size:var(--font-sm)}.metadata-value{color:var(--pure-black);font-weight:600}.results-actions-section{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid rgba(0,0,0,.1)}--- .sidebar{width:200px;background:var(--light-gray);color:var(--pure-black);display:flex;flex-direction:column;padding:var(--space-8) 0;box-shadow:2px 0 8px var(--shadow-light);border-right:1px solid rgba(0,0,0,.08);z-index:50}.sidebar-menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-6)}.sidebar-btn{background:none;border:none;color:var(--dark-gray);font-size:var(--font-base);font-weight:500;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);width:100%;text-align:left;font-family:inherit;position:relative;overflow:hidden}.sidebar-btn:hover,.sidebar-btn:focus{background:var(--primary-blue);color:var(--pure-white);outline:none;transform:translate(4px);box-shadow:var(--shadow-medium)}.sidebar-btn:active{transform:translate(2px)}.sidebar-btn:disabled{opacity:.5;cursor:not-allowed;background:none;color:var(--neutral-gray);transform:none}.sidebar-btn:disabled:hover{background:none;color:var(--neutral-gray);transform:none;box-shadow:none}.sidebar-btn .material-icons{font-size:1.2rem;width:20px;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.sidebar-btn.active{background:var(--accent-green);color:var(--pure-white);font-weight:600}.sidebar-btn.active:before{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:var(--pure-white);border-radius:0 4px 4px 0}.sidebar-btn.active:hover{background:var(--accent-green);transform:translate(2px)}@media (max-width: 1200px){.sidebar{width:180px}}@media (max-width: 900px){.sidebar{width:60px;padding:var(--space-4) 0}.sidebar-menu{padding:0 var(--space-2);gap:var(--space-1)}.sidebar-btn{padding:var(--space-3);gap:0;flex-direction:column;font-size:var(--font-xs);text-align:center}.sidebar-btn .material-icons{margin-bottom:var(--space-1)}.sidebar-btn:hover,.sidebar-btn:focus{transform:translateY(-2px)}.sidebar-btn:active{transform:translateY(0)}.sidebar-btn.active:hover{transform:translateY(-1px)}}@media (max-width: 600px){.sidebar{position:fixed;bottom:0;left:0;right:0;width:100%;height:auto;flex-direction:row;padding:var(--space-2) 0;border-right:none;border-top:1px solid rgba(0,0,0,.08);box-shadow:0 -2px 8px var(--shadow-light);z-index:1000}.sidebar-menu{flex-direction:row;justify-content:space-around;width:100%;padding:0 var(--space-2)}.sidebar-btn{flex:1;padding:var(--space-2);min-height:60px}.sidebar-btn:hover,.sidebar-btn:focus{transform:translateY(-1px)}.main-content{padding-bottom:80px}}--- .structural-scene{flex:1;display:flex;flex-direction:column;background:var(--light-gray);position:relative;overflow:hidden;min-height:0;height:100%}.scene-toolbar{display:flex;justify-content:space-between;align-items:center;background:var(--pure-white);border-bottom:1px solid rgba(0,0,0,.08);padding:var(--space-3) var(--space-4);box-shadow:0 2px 4px var(--shadow-light);z-index:10;flex-shrink:0;height:60px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.toolbar-center{flex:1;display:flex;justify-content:center;align-items:center}.toolbar-btn{width:40px;height:40px;border:1px solid rgba(0,0,0,.1);background:var(--pure-white);color:var(--neutral-gray);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.toolbar-btn:hover{background:var(--primary-blue);color:var(--pure-white);border-color:var(--primary-blue);transform:translateY(-1px)}.toolbar-btn:active{transform:translateY(0)}.toolbar-btn.active{background:var(--accent-green);color:var(--pure-white);border-color:var(--accent-green)}.toolbar-btn .material-icons{font-size:1.2rem}.model-info{font-size:var(--font-base);font-weight:600;color:var(--pure-black);text-align:center}.scene-canvas-container{flex:1;display:flex;flex-direction:column;min-height:0}.scene-canvas-container canvas{flex:1;width:100%;display:block!important;outline:none;cursor:grab;background:var(--pure-white);min-height:400px}.scene-canvas-container canvas:active{cursor:grabbing}.main-content{height:100%;display:flex;flex-direction:column;min-height:0}.structural-scene:fullscreen{background:var(--pure-black)}.structural-scene:fullscreen .scene-toolbar{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.structural-scene:fullscreen .scene-canvas-container canvas{height:100%!important}.structural-scene.loading{position:relative;pointer-events:none}.structural-scene.loading:after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:4px solid rgba(0,0,254,.2);border-top:4px solid var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite;z-index:100}@media (max-width: 900px){.scene-toolbar{padding:var(--space-2);gap:var(--space-2);height:50px}.toolbar-btn{width:36px;height:36px}.toolbar-center{display:none}.model-info{font-size:var(--font-sm)}.scene-canvas-container canvas{min-height:300px}}@media (max-width: 600px){.toolbar-left,.toolbar-right{gap:var(--space-1)}.toolbar-btn{width:32px;height:32px}.toolbar-btn .material-icons{font-size:1rem}.scene-canvas-container canvas{min-height:250px}}.panel-tabs{display:flex;background:#f7fafc;border-bottom:1px solid #e2e8f0}.panel-tab{flex:1;background:transparent;border:none;padding:1rem;cursor:pointer;color:#718096;transition:all .2s ease;position:relative;display:flex;align-items:center;justify-content:center}.panel-tab:hover{background:#edf2f7;color:#4a5568}.panel-tab.active{color:#667eea;background:#fff}.panel-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#667eea}.panel-tab .material-icons{font-size:20px}.info-panel{background:var(--pure-white);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.panel-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0}.info-section{padding:var(--space-6);border-bottom:1px solid rgba(0,0,0,.08)}.info-section:last-child{border-bottom:none}.model-info-section{background:var(--light-gray)}.info-section-title{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.info-section-title .material-icons{color:var(--primary-blue);font-size:1.2rem}.info-property{margin-bottom:var(--space-2)}.info-property:last-child{margin-bottom:0}.info-label{display:block;font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--neutral-gray);margin-bottom:var(--space-1)}.info-value{display:block;font-size:var(--font-base);font-weight:500;color:var(--pure-black);word-break:break-word}.info-value.type{background:var(--primary-blue);color:var(--pure-white);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius);font-size:var(--font-sm);font-weight:600;display:inline-block}.info-value.status{display:flex;align-items:center;gap:var(--space-1);font-weight:600}.info-value.status.loaded{color:var(--accent-green)}.info-value.status.error{color:var(--stress-red)}.info-value.analysis-type{background:var(--info-blue);color:var(--pure-white);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius);font-size:var(--font-sm);font-weight:600;display:inline-block}.info-value.description{line-height:1.6;color:var(--dark-gray);font-style:italic}.model-actions-section,.results-actions-section{padding:var(--space-6);background:#0000fe05}.results-section{padding:var(--space-6)}.result-card{margin-bottom:var(--space-4);background:var(--pure-white);border:2px solid rgba(0,0,0,.05);border-radius:var(--border-radius-large);padding:var(--space-6);transition:var(--transition);position:relative;overflow:hidden}.result-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-blue),var(--accent-green))}.result-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:#0000fe1a}.result-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.result-header .material-icons{width:32px;height:32px;background:var(--light-gray);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-blue);font-size:1.2rem}.result-title{font-size:var(--font-sm);font-weight:700;color:var(--neutral-gray);text-transform:uppercase;letter-spacing:.1em;margin:0}.result-value{font-size:2.5rem;font-weight:800;line-height:1;margin:0}.result-value.stress{color:var(--stress-red)}.result-value.deflection{color:var(--warning-orange)}.result-value.safety{color:var(--accent-green)}.analysis-metadata{background:var(--light-gray);border-radius:var(--border-radius);padding:var(--space-4);margin-top:var(--space-6)}.metadata-title{font-size:var(--font-base);font-weight:700;color:var(--pure-black);margin:0 0 var(--space-3) 0;display:flex;align-items:center;gap:var(--space-2)}.metadata-title:before{content:"info";font-family:Material Icons;color:var(--info-blue);font-size:1.2rem}.metadata-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;font-size:var(--font-sm);border-bottom:1px solid rgba(0,0,0,.05)}.metadata-item:last-child{border-bottom:none}.metadata-label{color:var(--neutral-gray);font-weight:500}.metadata-value{color:var(--pure-black);font-weight:700;font-family:Monaco,Consolas,monospace}@media (max-width: 900px){.info-section,.model-actions-section,.results-actions-section,.results-section{padding:var(--space-4)}.result-value{font-size:2rem}.result-card{padding:var(--space-4)}}@media (max-width: 600px){.result-header{gap:var(--space-2)}.result-header .material-icons{width:28px;height:28px;font-size:1rem}.result-value{font-size:1.8rem}.metadata-item{flex-direction:column;align-items:flex-start;gap:var(--space-1)}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1500;display:none;animation:fadeIn .3s ease;opacity:0;transition:opacity .3s ease}.modal-overlay[style*="display: block"]{opacity:1}.floating-form{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:500px;background-color:var(--pure-white);border:1px solid rgba(0,0,0,.1);border-radius:var(--border-radius-large);box-shadow:var(--shadow-xl);padding:var(--space-8);z-index:1600;display:flex!important;flex-direction:column;gap:var(--space-6);animation:slideInForm .4s cubic-bezier(.34,1.56,.64,1);max-height:90vh;overflow-y:auto}.floating-form-wide{max-width:650px;width:95%}.floating-form-report{max-width:680px;width:95%}.report-header-info{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--light-gray);border-radius:var(--border-radius)}.report-model-name{font-weight:700;font-size:var(--font-base);color:var(--pure-black);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-type-badge{font-size:var(--font-xs);font-weight:700;padding:2px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.report-type-badge--osam{background:#0000fe1a;color:var(--primary-blue)}.report-type-badge--ifc{background:#03ff8926;color:#00a85a}.report-type-badge--oSAM,.report-type-badge--oSam{background:#0000fe1a;color:var(--primary-blue)}.report-section{margin-bottom:var(--space-4)}.report-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dark-gray);margin:0 0 var(--space-3) 0}.report-section-title--warning{color:var(--warning-orange)}.report-section-title--ok{color:#00a85a}.report-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.report-metric-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3) var(--space-2);background:var(--light-gray);border:1px solid rgba(0,0,0,.06);border-radius:var(--border-radius);text-align:center;transition:var(--transition)}.report-metric-card--active{background:#0000fe0a;border-color:#0000fe26}.report-metric-value{font-size:var(--font-xl);font-weight:800;color:var(--pure-black);line-height:1.2}.report-metric-card--active .report-metric-value{color:var(--primary-blue)}.report-metric-label{font-size:var(--font-xs);color:var(--neutral-gray);font-weight:500;margin-top:2px}.report-warnings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-height:200px;overflow-y:auto}.report-warning-item{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#ff880012;border:1px solid rgba(255,136,0,.2);border-radius:var(--border-radius);font-size:var(--font-sm);line-height:1.4}.report-warning-icon{font-size:1rem;color:var(--warning-orange);flex-shrink:0;margin-top:1px}.report-no-warnings-msg{font-size:var(--font-sm);color:#00a85a;margin:0;padding:var(--space-2) 0}.form-title{margin:0 0 var(--space-6) 0;font-size:var(--font-2xl);font-weight:800;text-align:center;color:var(--pure-black);border-bottom:2px solid var(--primary-blue);padding-bottom:var(--space-4);position:relative}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.form-row .form-group{flex:1;margin-bottom:0}.form-group label{font-weight:600;color:var(--pure-black);font-size:var(--font-sm);margin-bottom:var(--space-1);display:flex;align-items:center;gap:var(--space-2)}.form-group label.required:after,.form-group label[for*=name]:after,.form-group label[for*=file]:after{content:"*";color:var(--stress-red);font-weight:700;margin-left:var(--space-1)}.form-text-input{width:100%;padding:var(--space-4);font-size:var(--font-base);color:var(--pure-black);background-color:var(--pure-white);border:2px solid rgba(0,0,0,.1);border-radius:var(--border-radius);transition:var(--transition);outline:none;font-family:inherit;box-sizing:border-box}.form-text-input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #0000fe1a;transform:translateY(-1px)}.form-text-input::placeholder{color:var(--neutral-gray);font-style:italic}.form-text-input:disabled{background-color:var(--light-gray);color:var(--neutral-gray);cursor:not-allowed;border-color:#0000000d}textarea.form-text-input{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.file-input-container{position:relative}.file-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:2}.file-input-display{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background-color:var(--light-gray);border:2px dashed rgba(0,0,0,.2);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);min-height:52px;position:relative}.file-input-display:hover{background-color:#0000fe0d;border-color:var(--primary-blue);transform:translateY(-1px)}.file-input-display .material-icons{color:var(--primary-blue);font-size:24px;flex-shrink:0}.file-input-text{color:var(--dark-gray);font-weight:500;font-size:var(--font-base);flex-grow:1}.file-input:focus+.file-input-display{border-color:var(--primary-blue);box-shadow:0 0 0 3px #0000fe1a}.file-input.has-file+.file-input-display{background-color:#03ff891a;border-color:var(--accent-green);border-style:solid}.file-input.has-file+.file-input-display .material-icons{color:var(--accent-green)}.file-input.has-file+.file-input-display .file-input-text{color:var(--accent-green);font-weight:600}.file-help-text{font-size:var(--font-xs);color:var(--neutral-gray);margin-top:var(--space-1);font-style:italic}.form-buttons{display:flex;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid rgba(0,0,0,.1)}.form-full-width-button{flex:1;padding:var(--space-4) var(--space-6);font-size:var(--font-base);font-weight:600;border:2px solid var(--primary-blue);color:var(--primary-blue);background-color:var(--pure-white);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);outline:none;font-family:inherit;position:relative;overflow:hidden}.form-full-width-button:hover:not(:disabled){background-color:var(--primary-blue);color:var(--pure-white);transform:translateY(-2px);box-shadow:0 8px 20px #0000fe4d}.form-full-width-button:active:not(:disabled){transform:translateY(0)}.form-full-width-button:disabled{opacity:.6;cursor:not-allowed;transform:none;background-color:var(--light-gray);color:var(--neutral-gray);border-color:var(--neutral-gray)}.form-full-width-button.form-button-primary{background-color:var(--accent-green);border-color:var(--accent-green);color:var(--pure-white)}.form-full-width-button.form-button-primary:hover:not(:disabled){background-color:#02e67a;border-color:#02e67a;box-shadow:0 8px 20px #03ff894d}.form-full-width-button.form-button-secondary{background-color:transparent;border-color:var(--neutral-gray);color:var(--neutral-gray)}.form-full-width-button.form-button-secondary:hover:not(:disabled){background-color:var(--neutral-gray);color:var(--pure-white);box-shadow:0 4px 12px #bdbdbd4d}.form-text-input:invalid,.form-text-input.error{border-color:var(--stress-red);background-color:#ff44440d}.form-text-input:invalid:focus,.form-text-input.error:focus{box-shadow:0 0 0 3px #ff44441a;border-color:var(--stress-red)}.form-text-input.valid{border-color:var(--accent-green);background-color:#03ff890d}.form-text-input.valid:focus{box-shadow:0 0 0 3px #03ff891a;border-color:var(--accent-green)}@media (max-width: 900px){.floating-form-wide{width:98%;padding:var(--space-6);max-height:85vh}.form-row{flex-direction:column;gap:var(--space-2)}.form-buttons{flex-direction:column}.form-full-width-button{width:100%}}@media (max-width: 600px){.floating-form,.floating-form-wide{width:95%;padding:var(--space-4);margin:var(--space-4);max-height:90vh;top:auto;bottom:auto;transform:translate(-50%);left:50%}.form-title{font-size:var(--font-xl);margin-bottom:var(--space-4)}.form-row{gap:var(--space-2)}}.form-loading{position:relative;pointer-events:none}.form-loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--border-radius-large)}.form-loading:before{content:"";position:absolute;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border:3px solid rgba(0,0,254,.3);border-top:3px solid var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite;z-index:11}.results-container{padding:var(--space-6);background:var(--pure-white)}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:2px solid var(--primary-blue)}.results-title{font-size:var(--font-2xl);font-weight:800;color:var(--pure-black);margin:0;display:flex;align-items:center;gap:var(--space-3)}.results-title .material-icons{color:var(--primary-blue);font-size:2rem}.results-meta{font-size:var(--font-sm);color:var(--neutral-gray);text-align:right}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.analysis-summary{background:var(--light-gray);border-radius:var(--border-radius-large);padding:var(--space-8);margin:var(--space-8) 0;border:1px solid rgba(0,0,0,.08)}.summary-title{font-size:var(--font-xl);font-weight:700;color:var(--pure-black);margin:0 0 var(--space-6) 0;display:flex;align-items:center;gap:var(--space-2)}.summary-title:before{content:"summarize";font-family:Material Icons;color:var(--accent-green);font-size:1.5rem}.summary-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.summary-item{text-align:center;padding:var(--space-4);background:var(--pure-white);border-radius:var(--border-radius);box-shadow:0 2px 8px #0000000d}.summary-item-label{font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--neutral-gray);margin-bottom:var(--space-2);display:block}.summary-item-value{font-size:var(--font-lg);font-weight:800;color:var(--pure-black);display:block}.status-indicator{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-sm);font-weight:600;padding:var(--space-1) var(--space-2);border-radius:var(--border-radius)}.status-indicator.safe{background:#03ff891a;color:var(--accent-green)}.status-indicator.warning{background:#ff88001a;color:var(--warning-orange)}.status-indicator.danger{background:#ff44441a;color:var(--stress-red)}.status-indicator .material-icons{font-size:1rem}.results-actions{display:flex;gap:var(--space-4);justify-content:center;padding:var(--space-6);border-top:1px solid rgba(0,0,0,.08);margin-top:var(--space-8)}.results-action-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:2px solid var(--primary-blue);background:var(--pure-white);color:var(--primary-blue);border-radius:var(--border-radius);font-size:var(--font-base);font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none}.results-action-btn:hover{background:var(--primary-blue);color:var(--pure-white);transform:translateY(-1px);box-shadow:0 4px 12px #0000fe4d}.results-action-btn.primary{background:var(--accent-green);border-color:var(--accent-green);color:var(--pure-white)}.results-action-btn.primary:hover{background:#02e67a;border-color:#02e67a;box-shadow:0 4px 12px #03ff894d}.results-chart{background:var(--pure-white);border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius-large);padding:var(--space-6);margin:var(--space-6) 0;min-height:300px;display:flex;align-items:center;justify-content:center;color:var(--neutral-gray);font-style:italic}.results-chart:before{content:"Chart visualization would appear here"}@media (max-width: 900px){.results-grid{grid-template-columns:1fr;gap:var(--space-4)}.results-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.results-meta{text-align:left}.summary-content{grid-template-columns:1fr}.results-actions{flex-direction:column}.results-action-btn{width:100%;justify-content:center}}@media (max-width: 600px){.results-container,.analysis-summary{padding:var(--space-4)}.results-title{font-size:var(--font-xl)}.results-chart{padding:var(--space-4);min-height:200px}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInPanel{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutPanel{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes slideInNotification{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutNotification{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 #0000feb3}70%{box-shadow:0 0 0 10px #0000fe00}to{box-shadow:0 0 #0000fe00}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-8px)}70%{transform:translateY(-4px)}90%{transform:translateY(-2px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes slideInForm{0%{opacity:0;transform:translate(-50%,-60%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes progressBar{0%{width:0%}to{width:100%}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #0000fe4d}50%{box-shadow:0 0 20px #0000fe99,0 0 30px #0000fe66}}@keyframes resultCardAppear{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes statusChange{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes loadingDots{0%,20%{color:transparent;text-shadow:.25em 0 0 transparent,.5em 0 0 transparent}40%{color:var(--primary-blue);text-shadow:.25em 0 0 transparent,.5em 0 0 transparent}60%{text-shadow:.25em 0 0 var(--primary-blue),.5em 0 0 transparent}80%,to{text-shadow:.25em 0 0 var(--primary-blue),.5em 0 0 var(--primary-blue)}}.animate-slide-in{animation:slideIn .5s ease-out}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-scale-in{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.animate-bounce{animation:bounce 1s infinite}.animate-pulse{animation:pulse 2s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.stagger-animation>*{animation:slideIn .5s ease-out;animation-fill-mode:both}.stagger-animation>*:nth-child(1){animation-delay:.1s}.stagger-animation>*:nth-child(2){animation-delay:.2s}.stagger-animation>*:nth-child(3){animation-delay:.3s}.stagger-animation>*:nth-child(4){animation-delay:.4s}.stagger-animation>*:nth-child(5){animation-delay:.5s}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-bounce,.animate-pulse,.animate-spin,.animate-glow{animation:none!important}.hover-lift:hover,.hover-scale:hover,.hover-rotate:hover{transform:none!important}}
