:root{--primary-color: #0052CC;--primary-hover: #0065FF;--primary-text: #FFFFFF;--primary-bg-light: #E9F2FF;--secondary-color: #F4F5F7;--secondary-hover: #E9ECEF;--secondary-text: #42526E;--background-color: #F8F9FA;--surface-color: #FFFFFF;--border-color: #DFE1E6;--border-color-light: #F1F2F4;--text-primary: #172B4D;--text-secondary: #5E6C84;--text-subtle: #8993A4;--risk-high: #DE350B;--risk-medium: #FFAB00;--risk-low: #36B37E;--risk-high-bg: #FFEBE6;--risk-medium-bg: #FFF3CD;--risk-low-bg: #E3FCEF;--confidence-high: #36b37e;--confidence-medium: #ffab00;--confidence-low: #de350b;--status-completed: #36B37E;--status-inprogress: #0052CC;--focus-ring-color: rgba(0, 101, 255, .4);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--border-radius: 6px;--shadow-sm: 0 1px 2px rgba(23, 43, 77, .07);--shadow-md: 0 4px 8px -2px rgba(23, 43, 77, .1), 0 0 1px rgba(23, 43, 77, .2);--transition: all .2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--background-color);color:var(--text-primary);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{padding:8rem 2rem 2rem;max-width:1400px;margin:0 auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--primary-text);animation:spin 1s ease-in-out infinite;flex-shrink:0}.secondary-btn .spinner,.ai-assist-btn .spinner{border-color:#0000001a;border-top-color:var(--primary-color)}@keyframes spin{to{transform:rotate(360deg)}}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-family);font-weight:600;font-size:14px;padding:10px 16px;border-radius:var(--border-radius);border:1px solid transparent;cursor:pointer;transition:var(--transition);text-decoration:none;white-space:nowrap}.action-btn:disabled{opacity:.6;cursor:not-allowed}.action-btn.primary-btn{background-color:var(--primary-color);color:var(--primary-text)}.action-btn.primary-btn:not(:disabled):hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.action-btn.secondary-btn{background-color:var(--secondary-color);color:var(--secondary-text);border-color:var(--border-color)}.action-btn.secondary-btn:not(:disabled):hover{background-color:var(--secondary-hover);border-color:#c1c7d0}.action-btn.large-btn{padding:12px 20px;font-size:16px}.action-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring-color)}.nav{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:1000}.nav-logo{font-size:24px;font-weight:700;color:var(--text-primary);cursor:pointer}.nav-logo span{color:var(--primary-color)}.nav-links{display:flex;gap:1rem}.home-container{animation:fadeIn .5s ease-out}.home-hero{text-align:center;padding:4rem 0;margin-bottom:2rem}.home-hero h1{font-size:3rem;font-weight:700;margin:0 0 1rem;line-height:1.2}.home-hero h1 span{color:var(--primary-color)}.home-hero p{font-size:1.2rem;color:var(--text-secondary);max-width:700px;margin:0 auto}.home-cards{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.home-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem;text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition)}.home-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.home-card-icon{background-color:var(--primary-bg-light);color:var(--primary-color);width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.home-card h3{margin:0 0 .5rem}.home-card p{color:var(--text-secondary);margin:0 0 1.5rem}.dashboard-container{display:flex;flex-direction:column;gap:2rem;animation:fadeIn .5s ease-out}.dashboard-header{background:var(--surface-color);padding:2rem;border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;gap:2rem}.header-title h1{font-size:2rem;margin:0}.header-title p{margin:0;color:var(--text-secondary)}.header-actions-group{display:flex;gap:1.5rem;align-items:center}.upload-section{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.header-button-group{display:flex;gap:1rem}.upload-help-texts p{font-size:12px;color:var(--text-subtle);margin:0;text-align:right}.logo-upload-section{display:flex;flex-direction:column;align-items:center;gap:.5rem}.logo-preview{position:relative;padding:4px;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--secondary-color)}.logo-preview img{max-width:120px;max-height:40px;object-fit:contain}.remove-logo-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background-color:var(--text-subtle);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;opacity:0;transition:var(--transition)}.logo-preview:hover .remove-logo-btn{opacity:1}.dashboard-section{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.dashboard-section h2{margin-top:0;font-size:1.5rem;display:flex;align-items:center;gap:.5rem}.title-icon{color:var(--risk-medium)}.needs-review-section{background-color:var(--risk-medium-bg);border-color:var(--risk-medium)}.dashboard-main-grid{display:grid;grid-template-columns:1.5fr 2.5fr;gap:2rem}.global-watch-card{background:linear-gradient(135deg,#0052cc,#0065ff);color:#fff;padding:1.5rem;border-radius:var(--border-radius);display:flex;flex-direction:column;justify-content:space-between}.global-watch-icon{margin-bottom:1rem}.global-watch-icon svg{width:28px;height:28px}.global-watch-content h4{margin:0 0 .5rem;font-size:1.25rem}.global-watch-content p{margin:0;opacity:.9;font-size:14px;line-height:1.5}.global-watch-action{margin-top:1.5rem}.global-watch-action .action-btn{background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.5);width:100%}.global-watch-action .action-btn:not(:disabled):hover{background-color:#ffffff4d}.risk-heatmap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.risk-heatmap-card{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:1rem}.risk-heatmap-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#c1c7d0}.risk-heatmap-card.risk-low{background-color:var(--risk-low-bg);border-color:#a3f3d0}.risk-heatmap-card.risk-medium{background-color:var(--risk-medium-bg);border-color:#ffd663}.risk-heatmap-card.risk-high{background-color:var(--risk-high-bg);border-color:#ffbdad}.risk-card-score{font-size:1.5rem;font-weight:700;padding:.5rem;border-radius:var(--border-radius);min-width:50px;text-align:center;background:var(--surface-color)}.risk-heatmap-card.risk-low .risk-card-score{color:var(--risk-low)}.risk-heatmap-card.risk-medium .risk-card-score{color:var(--risk-medium)}.risk-heatmap-card.risk-high .risk-card-score{color:var(--risk-high)}.risk-card-details{overflow:hidden}.risk-card-material{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.risk-card-origin{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heatmap-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:var(--text-secondary)}.heatmap-placeholder-grid{display:flex;gap:.5rem}.placeholder-card{width:40px;height:40px;border-radius:var(--border-radius);background-color:var(--border-color-light)}.placeholder-card.risk-low{background-color:var(--risk-low-bg)}.placeholder-card.risk-medium{background-color:var(--risk-medium-bg)}.placeholder-card.risk-high{background-color:var(--risk-high-bg)}.empty-state-text h4{margin:0 0 .5rem;color:var(--text-primary)}.empty-state-text p{margin:0;font-size:.9rem}.dashboard-filters{display:grid;grid-template-columns:2fr 1fr 1.5fr auto;gap:1.5rem;align-items:flex-end;padding:1.5rem;background-color:var(--surface-color);border-radius:var(--border-radius);border:1px solid var(--border-color)}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.filter-group input[type=text],.filter-group select,.filter-group input[type=range]{width:100%}.dashboard-table-container{overflow-x:auto}.dashboard-table{width:100%;border-collapse:collapse}.dashboard-table th,.dashboard-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color-light)}.dashboard-table th{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.dashboard-table tbody tr:hover{background-color:#f8f9fa}.material-cell-content{display:flex;align-items:center;gap:12px}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-inprogress{background-color:var(--status-inprogress)}.status-completed{background-color:var(--status-completed)}.table-actions-wrapper{display:flex;gap:8px;justify-content:flex-end}.table-actions-wrapper .action-btn{padding:4px 8px}.action-btn.delete-btn{background-color:transparent;border-color:transparent;color:var(--text-subtle)}.action-btn.delete-btn:hover{background-color:var(--risk-high-bg);color:var(--risk-high)}.empty-table-message{padding:2rem;text-align:center;color:var(--text-secondary)}.empty-table-message a{color:var(--primary-color);text-decoration:none;font-weight:600}.empty-table-message a:hover{text-decoration:underline}.completed-link-section{display:flex;justify-content:space-between;align-items:center;gap:2rem}.completed-link-content h2{font-size:1.25rem}.completed-link-content p{margin:.5rem 0 0;color:var(--text-secondary);max-width:600px}.completed-page-container{display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .5s ease-out}.page-header-controls{display:flex;justify-content:space-between;align-items:center}.page-header-controls h1{margin:0}.view-toggle-controls{display:flex;background-color:var(--secondary-color);padding:4px;border-radius:var(--border-radius);border:1px solid var(--border-color)}.view-toggle-btn{background-color:transparent;border:none;padding:8px 16px;border-radius:4px;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:var(--transition)}.view-toggle-btn.active{background-color:var(--surface-color);color:var(--text-primary);box-shadow:var(--shadow-sm)}.sorting-controls{display:flex;align-items:center;gap:.5rem;background-color:var(--secondary-color);padding:4px;border:1px solid var(--border-color);border-radius:var(--border-radius)}.sorting-controls span{color:var(--text-secondary);font-weight:600;font-size:14px;padding:0 12px}.sort-btn{background:none;border:none;padding:8px 16px;border-radius:4px;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:var(--transition)}.sort-btn.active{background-color:var(--surface-color);color:var(--primary-color);box-shadow:var(--shadow-sm)}.active-assessments-title{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color-light)}.whats-next-section{text-align:center}.whats-next-header{margin-bottom:2rem}.whats-next-header h2{font-size:1rem;letter-spacing:1px;color:var(--primary-color)}.whats-next-header p{color:var(--text-secondary);max-width:600px;margin:.5rem auto 0}.whats-next-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:left;margin-bottom:3rem}.whats-next-item{display:flex;flex-direction:column;gap:1rem}.whats-next-icon{color:var(--primary-color)}.whats-next-item h3{margin:0;font-size:1rem}.whats-next-item p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.remember-section{background-color:var(--primary-bg-light);border-radius:var(--border-radius);padding:2rem;display:flex;gap:2rem;text-align:left}.remember-icon{color:var(--risk-low)}.remember-content h3{margin:0 0 .5rem}.remember-content p{margin:0 0 1rem;color:var(--text-secondary)}.remember-content ul{padding-left:1.5rem;margin:0;color:var(--text-secondary)}.remember-content li{margin-bottom:.5rem}.onboarding-container{max-width:1000px;margin:0 auto;animation:fadeIn .5s ease-out}.onboarding-header{text-align:center;margin-bottom:3rem}.onboarding-title h2{font-size:1rem;color:var(--primary-color);letter-spacing:1px;margin:0}.onboarding-title p{font-size:1.75rem;font-weight:600;margin:.5rem 0 0}.onboarding-main{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem}.onboarding-steps{display:flex;flex-direction:column;gap:2rem}.onboarding-step{display:flex;gap:1.5rem}.step-number{background-color:var(--primary-color);color:#fff;font-weight:700;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-text h3{margin:0 0 .5rem;font-size:1rem}.step-text p{margin:0;color:var(--text-secondary);line-height:1.6}.onboarding-actions{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}.start-prompt{background-color:var(--primary-bg-light);padding:1rem;border-radius:var(--border-radius);margin-bottom:1.5rem}.start-prompt h4{margin:0 0 .5rem;color:var(--primary-color);font-size:1rem}.start-prompt .tip{font-size:.8rem;margin:0;color:var(--text-secondary)}.onboarding-lookup h3{margin:0 0 1rem;font-size:1rem}.lookup-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.lookup-buttons a{display:block;background-color:var(--secondary-color);padding:10px;border-radius:var(--border-radius);text-decoration:none;color:var(--secondary-text);font-weight:500;text-align:center;font-size:14px;transition:var(--transition)}.lookup-buttons a:hover{background-color:var(--secondary-hover);color:var(--text-primary)}.onboarding-confirmation{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem;margin-top:2rem}.onboarding-confirmation .large-checkbox{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;line-height:1.6}.onboarding-buttons{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.app-container{max-width:900px;margin:0 auto;animation:fadeIn .5s ease-out}.questionnaire-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.assessment-intro{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem;margin-top:1.5rem}.assessment-intro h1{text-align:center;margin-top:0;margin-bottom:2rem;font-size:1.75rem}.assessment-intro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;text-align:left;margin-bottom:1.5rem}.intro-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background-color:var(--primary-bg-light);border-radius:var(--border-radius);border:1px solid var(--primary-bg-light)}.intro-card-icon{color:var(--primary-color);flex-shrink:0;margin-top:4px}.intro-card-icon svg{width:24px;height:24px}.intro-card-text h3{margin:0 0 .5rem;font-size:1rem}.intro-card-text p{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.6}.assessment-intro-footer{text-align:center;font-size:.9rem;color:var(--text-subtle)}.live-score-header{margin-top:1.5rem;display:flex;justify-content:space-between;align-items:center;background:var(--surface-color);padding:1rem 1.5rem;border-radius:var(--border-radius);border:1px solid var(--border-color)}.live-scores-breakdown{display:flex;gap:1.5rem}.live-score-box{text-align:center}.live-score-box span{font-size:.8rem;color:var(--text-secondary)}.live-score-box strong{display:block;font-size:1.25rem}.live-score-total{text-align:right}.live-score-total span{font-size:.9rem;color:var(--text-secondary)}.live-score-total strong{font-size:2rem;margin:0 .25rem}.live-score-total small{color:var(--text-subtle)}.step-content{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem;margin-top:1rem}.form-actions{display:flex;justify-content:flex-end;padding:1.5rem 0;margin-top:1rem}.progress-stepper{display:flex;justify-content:space-between;position:relative;padding-bottom:1.5rem}.progress-stepper:before{content:"";position:absolute;top:18px;left:5%;right:5%;height:2px;background-color:var(--border-color);z-index:0}.step-item{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;text-align:center;width:80px}.step-counter{width:36px;height:36px;border-radius:50%;background-color:var(--surface-color);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-secondary);transition:var(--transition)}.step-name{margin-top:.5rem;font-size:12px;font-weight:500;color:var(--text-secondary)}.step-item.active .step-counter{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff}.step-item.active .step-name{color:var(--text-primary);font-weight:600}.step-item.completed .step-counter{border-color:var(--status-completed);background-color:var(--status-completed);color:#fff}.step-item.completed .step-name{color:var(--text-primary)}.input-group{margin-bottom:1.5rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:14px}.input-group input[type=text],.input-group input[type=date],.input-group select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;font-family:var(--font-family);transition:var(--transition)}.input-group input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring-color)}textarea{min-height:80px;resize:both}.acknowledgement-group{display:flex;align-items:center;gap:.75rem;font-weight:600;cursor:pointer;margin-bottom:1rem}.acknowledgement-group+textarea{background-color:var(--secondary-color);border-color:var(--border-color);line-height:1.6;color:var(--text-secondary)}.acknowledgement-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color);flex-shrink:0}.material-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.question-card{background-color:var(--surface-color);border:1px solid var(--border-color);padding:1.5rem;border-radius:var(--border-radius);margin-bottom:1.5rem}.question-card:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.question-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.question-text{margin:0;font-weight:600;line-height:1.5}.question-note{background-color:var(--secondary-color);padding:.75rem 1rem;border-radius:var(--border-radius);font-size:14px;color:var(--text-secondary);margin-top:1rem}.question-note strong{color:var(--text-primary)}.conditional-question{border-left:3px solid var(--primary-color);margin-left:1rem}.options-group{display:flex;flex-direction:column;gap:.75rem}.options-group.horizontal{flex-direction:row;flex-wrap:wrap}.option-choice{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background-color:var(--surface-color)}.option-choice:hover{background-color:var(--primary-bg-light);border-color:var(--primary-color)}.option-choice.selected{background-color:var(--primary-bg-light);border-color:var(--primary-color);font-weight:600}.option-radio-icon{width:20px;height:20px;border:2px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.option-choice.large-checkbox .option-radio-icon{margin-top:4px}.option-choice.selected .option-radio-icon{border-color:var(--primary-color);background-color:var(--primary-color)}.option-radio-icon:after{content:"";width:10px;height:10px;background-color:#fff;border-radius:50%;transform:scale(0);transition:var(--transition)}.option-choice.selected .option-radio-icon:after{transform:scale(1)}.option-text{line-height:1.5}.certificate-display-section{margin-top:2rem;padding-top:2rem;border-top:1px dashed var(--border-color)}.certificate-display-section h3{margin-top:0}.section-description-text{font-size:14px;color:var(--text-secondary);max-width:80ch;line-height:1.6}.section-description-text a{color:var(--primary-color)}.external-link{color:var(--primary-color);text-decoration:underline;cursor:pointer}.external-link:hover{color:var(--primary-hover)}.add-details-btn{margin-top:1rem}.no-details-message{padding:1rem;text-align:center;background-color:var(--secondary-color);border-radius:var(--border-radius);color:var(--text-secondary)}.certificate-table-container{overflow-x:auto;margin:1.5rem 0}.certificate-table{width:100%;border-collapse:collapse;font-size:14px}.certificate-table th,.certificate-table td{border:1px solid var(--border-color);padding:8px 12px;text-align:left;white-space:nowrap}.certificate-table th{background-color:var(--secondary-color);font-weight:600}.table-action-btn{background:none;border:none;cursor:pointer;font-weight:600;margin-right:1rem}.table-action-btn.edit{color:var(--primary-color)}.table-action-btn.delete{color:var(--risk-high)}.ai-assist-btn{display:inline-flex;align-items:center;gap:8px;background-color:var(--primary-bg-light);color:var(--primary-color);border:1px solid transparent;border-radius:var(--border-radius);padding:6px 12px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.ai-assist-btn:not(:disabled):hover{background-color:#cce0ff}.ai-assist-btn:disabled{opacity:.7;cursor:not-allowed}.report-view-container{animation:fadeIn .5s ease-out}.report-view-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.report-header-title h1{margin:0;font-size:2.5rem;display:inline-block;vertical-align:middle}.report-header-score-badge{display:inline-block;padding:4px 10px;font-size:12px;font-weight:700;color:#fff;border-radius:1rem;margin-left:1rem;vertical-align:middle}.report-header-title p{margin:.5rem 0 0;color:var(--text-secondary);font-size:1.1rem}.report-header-actions{display:flex;gap:1rem;flex-shrink:0}.report-key-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.report-metric-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}.report-metric-card h3{margin-top:0;margin-bottom:1.5rem}.score-circle{width:200px;height:200px;border-radius:50%;margin:1.5rem auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--surface-color);border:1px solid var(--border-color)}.score-circle.risk-low{box-shadow:0 0 25px 0 var(--risk-low-bg),0 0 0 8px var(--risk-low-bg)}.score-circle.risk-medium{box-shadow:0 0 25px 0 var(--risk-medium-bg),0 0 0 8px var(--risk-medium-bg)}.score-circle.risk-high{box-shadow:0 0 25px 0 var(--risk-high-bg),0 0 0 8px var(--risk-high-bg)}.score-circle-value{font-size:3.5rem;font-weight:700;line-height:1;color:var(--text-primary)}.score-circle-label{font-size:1rem;color:var(--text-secondary);margin-top:.25rem}.risk-breakdown-container{display:flex;flex-direction:column;gap:1.5rem;padding-top:.5rem}.breakdown-item{width:100%}.breakdown-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.breakdown-label span:first-child{font-weight:600;color:var(--text-primary)}.breakdown-label span:last-child{font-weight:500;color:var(--text-secondary)}.breakdown-bar-container{height:8px;background-color:var(--secondary-color);border-radius:4px;overflow:hidden}.breakdown-bar{height:100%;border-radius:4px;background-color:var(--text-subtle);transition:width .5s ease-out}.text-risk-high{color:var(--risk-high)}.text-risk-medium{color:var(--risk-medium)}.text-risk-low{color:var(--risk-low)}.action-plan-cta{display:flex;flex-direction:column;justify-content:center}.action-plan-cta h4{margin-top:0}.action-plan-cta p{margin:0 0 1rem;color:var(--text-secondary)}.report-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.tab-item{padding:1rem 1.5rem;cursor:pointer;font-weight:600;color:var(--text-secondary);border-bottom:3px solid transparent;transition:var(--transition)}.tab-item.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.report-tab-pane{display:none}.report-tab-pane.active{display:block;animation:fadeIn .3s ease-out}.report-details-section{margin-bottom:2rem}.report-details-section h2{font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.topic-group{border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1rem;overflow:hidden;background-color:var(--surface-color)}.topic-header{background-color:transparent;padding:1rem 1.25rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;border:none;font-size:1rem;font-weight:600;border-bottom:1px solid transparent}.topic-group.open .topic-header{border-bottom-color:var(--border-color-light)}.topic-header-right{display:flex;align-items:center;gap:1rem}.topic-risk-badge{background-color:var(--risk-high-bg);color:var(--risk-high);padding:3px 8px;border-radius:1rem;font-size:12px;font-weight:700}.topic-header .collapsible-icon{transition:transform .2s ease-in-out}.topic-group:not(.open) .topic-header .collapsible-icon{transform:rotate(0)}.topic-group.open .topic-header .collapsible-icon{transform:rotate(180deg)}.topic-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.topic-group.open .topic-content{max-height:2000px;transition:max-height .5s ease-in}.answer-item{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color-light);display:flex;gap:1rem;align-items:stretch}.answer-item:last-child{border-bottom:none}.answer-question{margin:0 0 .25rem;font-weight:500}.answer-text{margin:0;color:var(--text-secondary)}.answer-risk-indicator{width:4px;border-radius:2px;background-color:var(--risk-low);flex-shrink:0}.answer-risk-indicator.risk-medium{background-color:var(--risk-medium)}.answer-risk-indicator.risk-high{background-color:var(--risk-high)}.answer-item.high-risk-answer{background-color:var(--risk-high-bg)}.answer-item.high-risk-answer .answer-question{font-weight:600;color:#bf2600}.report-resources{background-color:var(--secondary-color);padding:1rem;border-radius:var(--border-radius);margin-top:1rem;font-size:14px}.report-resources h4{margin:0 0 .5rem}.report-resources p{margin:0;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.certificate-report-table th,.certificate-report-table td{border:1px solid var(--border-color-light);white-space:normal;vertical-align:top;padding:12px}.certificate-report-table th{background-color:var(--secondary-color)}.table-action-link{display:block;text-decoration:none;font-weight:600;margin-bottom:.5rem}.table-action-link:last-child{margin-bottom:0}.table-action-link.edit{color:var(--primary-color)}.table-action-link.delete{color:var(--risk-high)}.submission-complete-container{text-align:center;max-width:800px;margin:2rem auto;animation:fadeIn .5s ease-out}.submission-icon svg{color:var(--status-completed);margin-bottom:1rem}.submission-complete-container h2{font-size:2rem;margin:0 0 .5rem}.subtitle{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2.5rem}.submission-actions{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:3rem}.ai-action-plan-cta{background-color:var(--primary-bg-light);border-radius:var(--border-radius);padding:2rem;margin-bottom:3rem;text-align:center}.ai-action-plan-cta h3{margin-top:0;margin-bottom:.5rem;font-size:1.5rem}.ai-action-plan-cta p{color:var(--text-secondary);margin-bottom:1.5rem;max-width:500px;margin-left:auto;margin-right:auto}.submission-info{text-align:left;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem;margin-top:2rem}.submission-info h3,.submission-info h4{margin-top:0;margin-bottom:1rem}.submission-info p{color:var(--text-secondary);line-height:1.6}.submission-info ul{padding-left:1.5rem;color:var(--text-secondary);line-height:1.6}.submission-info li{margin-bottom:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#172b4d80;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.modal-content{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-md);width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h4{margin:0;font-size:1.25rem}.close-btn{background:none;border:none;font-size:2rem;color:var(--text-subtle);cursor:pointer;padding:0;line-height:1}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.ai-analysis-container{background-color:var(--secondary-color);padding:1rem;border-radius:var(--border-radius);margin-bottom:1.5rem}.ai-analysis-container h4{margin:0 0 .75rem;font-size:1rem}.ai-analysis-container p{margin:0;line-height:1.6}.ai-analysis-sources ul{margin:0;padding-left:1.25rem}.ai-analysis-sources li{margin-bottom:.5rem}.ai-analysis-sources a{color:var(--primary-color)}.ai-analysis-no-sources p{color:var(--text-secondary)}.modal-content.cert-modal{max-width:900px}.certificate-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}.certificate-questions-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.date-picker-group{display:flex;gap:.5rem}.date-picker-group select{flex:1}.modal-body .question-label{display:block;margin-bottom:.75rem;font-weight:600;font-size:14px}.modal-body .input-group .options-group.horizontal{gap:1rem;flex-wrap:nowrap}.modal-body .input-group .option-choice{padding:8px 12px}.modal-body .input-group{margin-bottom:0}.disabled-question{opacity:.6;background-color:var(--secondary-color)}.input-note{font-size:12px;color:var(--text-secondary);margin-top:.5rem}.global-watch-report-modal{max-width:800px}.report-summary{padding:1rem;background-color:var(--primary-bg-light);border-radius:var(--border-radius);margin-bottom:1.5rem}.report-summary p{margin:0}.report-findings{display:flex;flex-direction:column;gap:1rem}.report-assessment-card{border:1px solid var(--border-color);border-radius:var(--border-radius)}.report-assessment-header{background-color:var(--secondary-color);padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center}.report-assessment-header h5{margin:0}.report-assessment-header span{font-size:14px;color:var(--text-secondary)}.report-alerts-list{padding:1rem}.report-alert-item{display:flex;gap:1rem;align-items:flex-start;padding:.5rem 0}.report-alert-item svg{color:var(--risk-medium);margin-top:4px;flex-shrink:0}.report-alert-item p{margin:0;line-height:1.5}.report-alert-item a{color:var(--primary-color);font-size:12px}.likelihood-intro,.detectability-intro,.profitability-intro{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1rem}.likelihood-intro h2,.detectability-intro h2,.profitability-intro h2{margin-top:0}.relevant-resources-section{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1rem}.collapsible-header{background:none;border:none;width:100%;text-align:left;padding:1rem 1.5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.collapsible-header h3{margin:0;font-size:1.1rem}.collapsible-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;padding:0 1.5rem}.collapsible-content.active{max-height:1000px;transition:max-height .5s ease-in-out}.collapsible-header.active+.collapsible-content{padding-bottom:1.5rem}.collapsible-icon{transition:transform .3s ease-in-out}.collapsible-header.active .collapsible-icon{transform:rotate(180deg)}.relevant-resources-section ul{margin-top:.5rem;padding-left:1.25rem}.relevant-resources-section li{margin-bottom:.5rem}.action-plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.action-plan-header h3{margin:0;font-size:1.5rem}.action-plan-container{text-align:left}.action-plan-section{margin-bottom:2.5rem}.action-plan-section h4{font-size:1.25rem;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.action-items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.action-item-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;display:flex;flex-direction:column}.action-item-header{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}.action-item-icon{color:var(--primary-color);background-color:var(--primary-bg-light);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-item-title{font-weight:600;line-height:1.5}.action-item-badges{display:flex;gap:.75rem;margin-top:auto;padding-top:1rem}.action-item-badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:1rem;display:inline-flex;align-items:center;gap:4px}.action-item-badge.impact-high{background-color:var(--risk-high-bg);color:var(--risk-high)}.action-item-badge.impact-medium{background-color:var(--risk-medium-bg);color:var(--risk-medium)}.action-item-badge.impact-low{background-color:var(--risk-low-bg);color:var(--risk-low)}.action-item-badge.cost-high{background-color:var(--risk-high-bg);color:var(--risk-high)}.action-item-badge.cost-medium{background-color:var(--risk-medium-bg);color:var(--risk-medium)}.action-item-badge.cost-low{background-color:var(--risk-low-bg);color:var(--risk-low)}.action-item-reasoning{font-size:14px;color:var(--text-secondary);line-height:1.6;background-color:var(--secondary-color);padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem}.action-item-reasoning strong{color:var(--text-primary)}.ai-confidence-summary{background-color:var(--primary-bg-light);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:2rem;display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:center}.confidence-meter-container{text-align:center}.confidence-meter-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.confidence-meter-value.high{color:var(--confidence-high)}.confidence-meter-value.medium{color:var(--confidence-medium)}.confidence-meter-value.low{color:var(--confidence-low)}.confidence-meter-track{height:8px;background:#cce0ff;border-radius:4px;overflow:hidden}.confidence-meter-fill{height:100%}.confidence-meter-fill.high{background:var(--confidence-high)}.confidence-meter-fill.medium{background:var(--confidence-medium)}.confidence-meter-fill.low{background:var(--confidence-low)}.confidence-meter-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-top:.5rem}.confidence-details p{margin:0 0 1rem;color:var(--text-secondary);line-height:1.6}.confidence-details strong{color:var(--text-primary)}.confidence-details ul{padding-left:1.5rem;margin:0;font-size:14px}.action-plan-loading{text-align:center;padding:2rem}.action-plan-loading .spinner{border-color:#0000001a;border-top-color:var(--primary-color);width:24px;height:24px;margin:0 auto 1rem}.action-plan-loading p{color:var(--text-secondary)}.generate-plan-container{background-color:var(--primary-bg-light);border:1px dashed var(--primary-color);padding:2rem;border-radius:var(--border-radius);text-align:center}.generate-plan-container h3{margin-top:0}.generate-plan-container p{color:var(--text-secondary);margin-bottom:1.5rem}.action-plan-potential{font-size:1.2rem;font-weight:600}.action-plan-new-score{font-size:1rem;color:var(--text-secondary);margin:.5rem 0 1rem}.pdf-disclaimer{background-color:var(--secondary-color);border:1px solid var(--border-color);padding:1.5rem;margin:1.5rem 0;font-size:12px;color:var(--text-secondary)}.pdf-disclaimer h4{margin-top:0;color:var(--text-primary)}.key-risk-drivers-section{margin-bottom:2rem}.key-risk-drivers-section h2{font-size:1.5rem;margin-bottom:1.5rem}.key-risk-drivers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.risk-driver-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.risk-driver-icon{color:var(--risk-high);flex-shrink:0;margin-top:2px}.risk-driver-content{flex-grow:1}.risk-driver-question{font-weight:600;margin:0 0 .5rem}.risk-driver-answer{margin:0;color:var(--text-secondary);font-size:14px}.risk-driver-score{margin-left:auto;font-weight:700;font-size:1.1rem;color:var(--risk-high);white-space:nowrap;padding-left:1rem}.recall-search-section{animation:fadeIn .5s ease-out}.recall-search-form{display:flex;gap:1rem;margin-bottom:1.5rem}.recall-search-form input[type=search]{flex-grow:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;font-family:var(--font-family);transition:var(--transition)}.recall-search-form input[type=search]:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring-color)}.recall-search-form .action-btn{flex-shrink:0}.recall-search-results{margin-top:1rem}.recall-search-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;color:var(--text-secondary)}.recall-search-loading .spinner{width:24px;height:24px}.results-error{background-color:var(--risk-high-bg);border:1px solid var(--risk-high);color:var(--risk-high);padding:1rem;border-radius:var(--border-radius);font-weight:500}.recall-summary{background-color:var(--primary-bg-light);border:1px solid #CCE0FF;border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1rem}.recall-summary h4{margin-top:0;margin-bottom:.75rem;color:var(--primary-color)}.recall-summary p{margin:0;line-height:1.6;color:var(--text-primary)}.recall-sources{background-color:var(--secondary-color);border-radius:var(--border-radius);padding:1rem 1.5rem;font-size:14px}.recall-sources h5{margin-top:0;margin-bottom:.75rem;color:var(--text-secondary)}.recall-sources ul{margin:0;padding-left:1.25rem;line-height:1.6}.recall-sources li{margin-bottom:.5rem}.recall-sources a{color:var(--primary-color);text-decoration:none}.recall-sources a:hover{text-decoration:underline}@media (max-width: 1200px){.dashboard-main-grid{grid-template-columns:1fr}.dashboard-filters{grid-template-columns:1fr 1fr}}@media (max-width: 992px){#root,.nav{padding-left:1rem;padding-right:1rem}.home-cards,.report-key-metrics-grid,.onboarding-main,.certificate-form-grid,.certificate-questions-grid{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start}.header-actions-group{width:100%;flex-direction:column;align-items:flex-start;gap:1.5rem}.upload-section{align-items:flex-start}.upload-help-texts{text-align:left}.whats-next-grid{grid-template-columns:1fr 1fr}.dashboard-table thead{display:none}.dashboard-table tr{display:block;margin-bottom:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.5rem}.dashboard-table td{display:block;text-align:right;padding-left:50%;position:relative;border:none}.dashboard-table td:before{content:attr(data-label);position:absolute;left:16px;font-weight:600;color:var(--text-primary)}.table-actions-wrapper{justify-content:flex-end}.report-view-header{flex-direction:column;align-items:flex-start;gap:1rem}.report-header-actions{width:100%;flex-direction:column}.action-btn.primary-btn,.action-btn.secondary-btn{width:100%}.dashboard-filters,.key-risk-drivers-grid,.ai-confidence-summary{grid-template-columns:1fr}}@media (max-width: 576px){.home-hero h1{font-size:2rem}.home-hero p{font-size:1rem}.whats-next-grid{grid-template-columns:1fr}.progress-stepper{flex-wrap:wrap;justify-content:center;gap:1rem}.step-name{font-size:10px}.onboarding-buttons{flex-direction:column}}.chat-assistant-section{display:flex;flex-direction:column;gap:1rem}.chat-messages{background-color:var(--secondary-color);border-radius:var(--border-radius);padding:1rem;height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.chat-message{max-width:80%;padding:.75rem 1rem;border-radius:1rem;line-height:1.5;word-wrap:break-word;animation:fadeIn .3s ease-out}.model-message{background-color:var(--surface-color);border:1px solid var(--border-color);align-self:flex-start;border-top-left-radius:0}.model-message p{margin:0}.user-message{background-color:var(--primary-color);color:var(--primary-text);align-self:flex-end;border-top-right-radius:0}.user-message p{margin:0}.chat-form{display:flex;gap:.5rem;align-items:flex-start}.chat-form textarea{flex-grow:1;resize:none;min-height:44px;max-height:150px;line-height:1.5}.chat-form button{flex-shrink:0;width:44px;height:44px;padding:0}.chat-suggestions{display:flex;gap:.5rem;flex-wrap:wrap;padding:0 .5rem}.suggestion-chip{background-color:var(--primary-bg-light);color:var(--primary-color);border:1px solid transparent;border-radius:1rem;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition)}.suggestion-chip:hover{background-color:#cce0ff}.chat-error{color:var(--risk-high);font-weight:500;text-align:center}.ff-auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;z-index:9999;background:#0f172a73}.ff-auth-backdrop-visible{display:flex}.ff-auth-card{background:#fff;border-radius:12px;max-width:420px;width:90%;padding:24px 24px 18px;box-shadow:0 18px 45px #0f172a40;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ff-auth-title{font-size:20px;font-weight:600;margin:0 0 4px}.ff-auth-subtitle{margin:0 0 16px;font-size:14px;color:#4b5563}.ff-auth-label{display:block;font-size:13px;margin-bottom:4px;color:#374151}.ff-auth-input{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;margin-bottom:10px;font-size:14px}.ff-auth-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.ff-auth-row-small{margin-bottom:8px}.ff-auth-btn{flex:1 1 40%;padding:8px 10px;border-radius:999px;font-size:14px;cursor:pointer;border:1px solid transparent;background:#e5e7eb;color:#111827}.ff-auth-btn-sm{padding:6px 10px;font-size:13px}.ff-auth-btn-primary{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:500}.ff-auth-btn-secondary{background:#f9fafb;border-color:#e5e7eb}.ff-auth-btn-danger{background:#fef2f2;border-color:#fee2e2;color:#b91c1c}.ff-auth-btn-light{background:#e5e7eb;border-color:#d1d5db;font-size:13px}.ff-auth-footer{display:flex;justify-content:flex-end;margin-top:4px}.ff-auth-status{min-height:18px;margin:0 0 10px;font-size:13px;color:#6b7280}.ff-auth-status-error{color:#b91c1c}.ff-auth-status-success{color:#15803d}
