*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}:root{--sidebar-width:260px;--primary:#042940;--primary-dark:#031e2e;--primary-light:#e6f1f4;--primary-soft:#c8e1e8;--secondary:#2d90a6;--secondary-dark:#226f80;--secondary-light:#e8f5f7;--secondary-soft:#cbe8ee;--success:#16856b;--success-dark:#106a56;--success-light:#e6f5ef;--success-soft:#c8e8dc;--success-border:#a5d8c5;--warning:#d97706;--warning-dark:#b45309;--warning-light:#fff7e8;--warning-soft:#fde8b0;--warning-border:#f5d48a;--danger:#dc2626;--danger-dark:#b91c1c;--danger-light:#fef2f2;--danger-soft:#fecaca;--danger-border:#f5a6a6;--success-bg:var(--success-light);--warning-bg:var(--warning-light);--danger-bg:var(--danger-light);--navy:var(--primary);--risk-low:#2d90a6;--risk-low-bg:#e6f1f4;--risk-medium:#c28a13;--risk-medium-bg:#fff7e8;--risk-high:#d96832;--risk-high-bg:#fce4d8;--risk-critical:#b42332;--risk-critical-bg:#f8dde0;--background:#f4f7fa;--background-soft:#edf2f6;--background-dark:#e4ebf1;--card:#fff;--surface:#f8fafc;--text:#042940;--text-secondary:#526b7a;--text-muted:#829ab1;--text-light:#bcccdc;--text-white:#fff;--border:#d9e2ec;--border-light:#e9eff4;--border-dark:#bcccdc;--navy-light:#16465b;--navy-soft:#315f72;--shadow-xs:0 1px 2px #0429400a;--shadow-sm:0 3px 8px #0429400f;--shadow:0 7px 20px #04294012;--shadow-lg:0 14px 32px #04294017;--shadow-xl:0 20px 45px #0429401f}::selection{background:var(--primary-soft);color:var(--primary-dark)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #0f9d8a2e}.app{background:radial-gradient(circle at 90% 0%, #155e750b, transparent 28%), radial-gradient(circle at 15% 100%, #0f9d8a06, transparent 25%), var(--background);min-height:100vh;display:flex}.sidebar{z-index:100;width:var(--sidebar-width);color:#fff;background:linear-gradient(180deg, var(--primary-dark) 0%, var(--primary) 48%, var(--primary-dark) 100%);border-right:1px solid #ffffff0f;flex-direction:column;padding:20px 13px;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:8px 0 28px #0f172a1a}.sidebar-logo{color:#fff;letter-spacing:-.5px;align-items:center;gap:11px;padding:9px 14px 28px;font-size:21px;font-weight:800;display:flex}.sidebar-logo svg{width:23px;height:23px;color:var(--success);filter:drop-shadow(0 0 8px #0f9d8a4d)}.sidebar-nav{flex-direction:column;flex:1;gap:5px;min-height:0;padding-right:4px;display:flex;overflow:hidden auto}.sidebar-nav button,.sidebar-bottom button{color:#aebbd0;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:11px 14px;font-size:14px;font-weight:550;transition:background .2s,color .2s,transform .2s;display:flex}.sidebar-nav button svg,.sidebar-bottom button svg{flex-shrink:0;width:18px;height:18px}.sidebar-nav button:hover,.sidebar-bottom button:hover{color:#fff;background:#fff1;transform:translate(2px)}.sidebar-nav button.active{color:#fff;box-shadow:inset 3px 0 0 var(--success), 0 4px 12px #00000014;background:linear-gradient(90deg,#0f9d8a2e,#155e751a);position:relative}.sidebar-nav button.active svg{color:var(--secondary-light)}.sidebar-bottom{flex-shrink:0;margin-top:auto;padding-top:10px}.main-content{width:calc(100% - var(--sidebar-width));min-width:0;margin-left:var(--sidebar-width)}.navbar{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border-bottom:1px solid #e2e8f0d9;justify-content:space-between;align-items:center;height:76px;padding:0 34px;display:flex;position:sticky;top:0}.navbar h1{color:var(--text);letter-spacing:-.35px;font-size:20px;font-weight:800}.navbar p{color:var(--text-secondary);margin-top:2px;font-size:12px}.navbar-actions{align-items:center;gap:14px;display:flex}.icon-button{width:38px;height:38px;color:var(--text-secondary);background:0 0;border-radius:10px;justify-content:center;align-items:center;transition:background .2s,color .2s,transform .2s;display:flex}.icon-button:hover{background:var(--primary-light);color:var(--primary);transform:translateY(-1px)}.user-profile{align-items:center;gap:10px;padding-left:5px;display:flex}.user-profile>svg{color:var(--primary)}.user-profile div{flex-direction:column;display:flex}.user-profile strong{color:var(--text);font-size:13px;font-weight:750}.user-profile span{color:var(--text-secondary);font-size:11px}main{width:100%;max-width:1600px;margin:0 auto;padding:32px 34px 55px}.welcome{margin-bottom:28px}.welcome h2{color:var(--text);letter-spacing:-.7px;margin-bottom:6px;font-size:30px;font-weight:800}.welcome p{color:var(--text-secondary);font-size:15px}.page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.page-header h1{color:var(--text);letter-spacing:-.5px;margin-bottom:6px;font-size:28px;font-weight:800}.page-header p{color:var(--text-secondary);font-size:14px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);align-items:center;gap:15px;padding:20px;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;position:relative;overflow:hidden}.stat-card:after{content:"";pointer-events:none;background:#2d90a614;border-radius:50%;width:90px;height:90px;position:absolute;bottom:-35px;right:-30px}.stat-card:hover{border-color:var(--secondary);box-shadow:var(--shadow);transform:translateY(-3px)}.stat-card>svg{width:44px;height:44px;color:var(--secondary-dark);background:var(--secondary-light);border-radius:11px;flex-shrink:0;padding:10px}.stat-card-icon{width:46px;height:46px;color:var(--primary);background:var(--primary-light);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-card-content{flex-direction:column;gap:2px;min-width:0;display:flex}.stat-card-content span,.stat-card>div span{color:var(--text-secondary);font-size:12px}.stat-card-content strong,.stat-card>div strong{color:var(--text);font-size:24px;font-weight:800;line-height:1.15}.stat-card-content small{color:var(--text-muted);font-size:11px}.dashboard-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:24px;padding:25px;position:relative;overflow:hidden}.dashboard-section h3{color:var(--text);margin-bottom:7px;font-size:18px;font-weight:750}.dashboard-section>p{color:var(--text-secondary);font-size:14px}.section-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.section-header h3{margin-bottom:4px}.section-header p{color:var(--text-secondary);font-size:13px}.search-box{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;align-items:center;gap:11px;margin-bottom:18px;padding:12px 15px;transition:border-color .2s,box-shadow .2s;display:flex}.search-box:hover{border-color:#bfdbfe}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #155e7514}.search-box svg{color:var(--primary);flex-shrink:0}.search-box input{width:100%;color:var(--text);background:0 0;border:none;outline:none;font-size:14px}.search-box input::placeholder{color:var(--text-muted)}.search-result{background:var(--primary-light);border:1px solid var(--primary-soft);color:var(--primary-dark);border-radius:20px;align-items:center;margin-bottom:14px;padding:6px 11px;font-size:12px;font-weight:700;display:inline-flex}.controls-page{width:100%}.controls-count{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:9px;margin-bottom:18px;padding:10px 15px;display:inline-flex}.controls-count strong{color:var(--primary);font-size:21px}.controls-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:17px;display:grid}.control-card{border:1px solid var(--border);border-radius:var(--radius-lg);min-height:205px;box-shadow:var(--shadow-xs);background:#fff;padding:20px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden}.control-card:before{content:"";opacity:0;background:linear-gradient(90deg, var(--primary), var(--success));height:3px;transition:opacity .22s;position:absolute;top:0;left:0;right:0}.control-card:hover{box-shadow:var(--shadow-lg);border-color:#bfdbfe;transform:translateY(-4px)}.control-card:hover:before{opacity:1}.control-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;display:flex}.control-code{background:var(--primary-light);border:1px solid var(--primary-soft);color:var(--primary-dark);letter-spacing:.2px;border-radius:7px;align-items:center;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.control-domain{background:var(--secondary-light);color:var(--secondary-dark);border-radius:20px;padding:5px 9px;font-size:10px;font-weight:700}.control-card h2{color:var(--text);margin-bottom:9px;font-size:17px;font-weight:750;line-height:1.45}.control-card p{color:var(--text-secondary);font-size:13px;line-height:1.6}.questions-page{width:100%}.questions-page .page-header{color:#fff;background:linear-gradient(135deg, var(--primary-dark) 0%, #172554 52%, var(--primary-dark) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:22px;padding:30px 32px;position:relative;overflow:hidden}.questions-page .page-header:after{content:"";pointer-events:none;background:#0f9d8a1f;border-radius:50%;width:240px;height:240px;position:absolute;top:-110px;right:-80px}.questions-page .page-header h1{z-index:1;color:#fff;font-size:27px;font-weight:800;position:relative}.questions-page .page-header p{z-index:1;color:#cbd5e1;font-size:14px;position:relative}.questions-page .questions-list{flex-direction:column;gap:16px;display:flex}.question-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:21px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden}.question-card:before{content:"";opacity:0;background:linear-gradient(90deg, var(--primary), var(--success));height:3px;transition:opacity .22s;position:absolute;top:0;left:0;right:0}.question-card:hover{box-shadow:var(--shadow-lg);border-color:#bfdbfe;transform:translateY(-3px)}.question-card:hover:before{opacity:1}.question-header{align-items:flex-start;gap:14px;display:flex}.question-number{background:linear-gradient(135deg, var(--navy), var(--navy-light));color:#fff;border-radius:10px;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;font-size:12px;font-weight:800;display:flex;box-shadow:0 4px 10px #0f172a1f}.question-header h4{color:var(--text);margin:0 0 8px;font-size:15px;font-weight:700;line-height:1.5}.question-header p{color:var(--text-secondary);margin:4px 0;font-size:13px}.questions-page .control-code{margin-bottom:8px}.questions-page .question-header h4{font-size:16px}.questions-page .question-header p:last-child{color:var(--primary-dark)}.answer-options{flex-wrap:wrap;align-items:center;gap:9px;margin-top:18px;display:flex}.answer-button{border:1px solid var(--border);border-radius:var(--radius-sm);color:#475569;background:#fff;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 13px;font-size:13px;font-weight:650;transition:transform .2s,background .2s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.answer-button:hover{transform:translateY(-1px)}.answer-button.yes:hover,.answer-button.selected.yes{background:var(--success-bg);border-color:var(--success-soft);color:var(--success);box-shadow:0 3px 8px #16a34a14}.answer-button.partial:hover,.answer-button.selected.partial{background:var(--warning-bg);border-color:var(--warning-soft);color:var(--warning);box-shadow:0 3px 8px #d9770614}.answer-button.no:hover,.answer-button.selected.no{background:var(--danger-bg);border-color:var(--danger-soft);color:var(--danger);box-shadow:0 3px 8px #dc262614}.save-answer{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--navy), var(--navy-light));color:#fff;justify-content:center;align-items:center;min-height:38px;padding:8px 15px;font-size:13px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex}.save-answer:hover:not(:disabled){background:var(--primary);transform:translateY(-1px);box-shadow:0 5px 12px #0f9d8a2e}.save-answer:disabled{opacity:.45}.recommendations-list{flex-direction:column;gap:15px;margin-top:20px;display:flex}.recommendation-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;gap:16px;padding:19px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.recommendation-card:hover{box-shadow:var(--shadow);border-color:#bfdbfe;transform:translateY(-2px)}.recommendation-icon{background:var(--warning-bg);width:43px;min-width:43px;height:43px;color:var(--warning);border:1px solid var(--warning-border);border-radius:11px;justify-content:center;align-items:center;display:flex}.recommendation-content{flex:1;min-width:0}.recommendation-header{justify-content:space-between;align-items:center;gap:15px;display:flex}.recommendation-header h3{color:var(--primary-dark);margin:0;font-size:14px;font-weight:800}.recommendation-content h4{color:var(--text);margin:7px 0;font-size:16px}.recommendation-content p{color:var(--text-secondary);font-size:13px;line-height:1.6}.recommendation-level{background:var(--warning-bg);color:var(--warning-dark);white-space:nowrap;border-radius:20px;padding:5px 10px;font-size:10px;font-weight:800}.score-high{color:var(--success)!important}.score-medium{color:var(--warning)!important}.score-low{color:var(--danger)!important}.score-unknown{color:var(--text-muted)!important}.score-good{color:var(--success)!important}.score-danger{color:var(--danger)!important}.risk-incomplete{color:var(--warning)}.risk-unknown{color:var(--text-muted)}.score-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:20px}.score-panel.score-good{background:var(--success-bg);border-color:var(--success-border)}.score-panel.score-medium{background:var(--warning-bg);border-color:var(--warning-border)}.score-panel.score-danger{background:var(--danger-bg);border-color:var(--danger-border)}.recommendation-level.score-high{background:var(--success-bg);color:var(--success-dark);border:1px solid var(--success-border)}.recommendation-level.score-medium{background:var(--warning-bg);color:var(--warning-dark);border:1px solid var(--warning-border)}.recommendation-level.score-low{background:var(--danger-bg);color:var(--danger-dark);border:1px solid var(--danger-border)}.recommendation-level.score-unknown{background:var(--background-soft);color:var(--text-secondary);border:1px solid var(--border)}.risk-badge{background:var(--warning-bg);color:var(--warning-dark);border:1px solid var(--warning-border);text-transform:uppercase;letter-spacing:.3px;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;padding:5px 10px;font-size:10px;font-weight:800;display:inline-flex}.risk-badge.risk-low{background:var(--risk-low-bg);color:var(--risk-low);border-color:var(--risk-low)}.risk-badge.risk-medium{background:var(--risk-medium-bg);color:var(--risk-medium);border-color:var(--risk-medium)}.risk-badge.risk-high{background:var(--risk-high-bg);color:var(--risk-high);border-color:var(--risk-high)}.risk-badge.risk-critical{background:var(--risk-critical-bg);color:var(--risk-critical);border-color:var(--risk-critical)}.risk-badge.risk-incomplete{background:var(--warning-bg);color:var(--warning-dark);border-color:var(--warning-border)}.score-progress{background:var(--border);border-radius:999px;width:100%;max-width:500px;height:10px;margin:12px 0;overflow:hidden}.score-progress-bar{border-radius:999px;height:100%;transition:width .5s}.score-progress-bar.score-good{background:var(--success)}.score-progress-bar.score-medium{background:var(--warning)}.score-progress-bar.score-danger{background:var(--danger)}.score-progress-labels{color:var(--text-muted);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.dashboard-score-progress{background:var(--border);border-radius:999px;width:100%;height:8px;margin-top:12px;overflow:hidden}.dashboard-score-progress-bar{border-radius:999px;height:100%;transition:width .5s}.dashboard-score-progress-bar.score-high{background:var(--success)}.dashboard-score-progress-bar.score-medium{background:var(--warning)}.dashboard-score-progress-bar.score-low{background:var(--danger)}.dashboard-score-progress-bar.score-unknown{background:var(--text-muted)}.completion-progress{background:linear-gradient(90deg, var(--primary), var(--success))}.evaluations-list{flex-direction:column;gap:14px;display:flex}.evaluation-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s}.evaluation-card:hover{box-shadow:var(--shadow);border-color:#bfdbfe;transform:translateY(-2px)}.evaluation-card h3{margin-bottom:5px}.evaluation-header-score{background:var(--background-soft);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;align-items:flex-end;gap:3px;padding:11px 17px;display:flex}.evaluation-header-score span{color:var(--text-secondary);font-size:11px}.evaluation-header-score strong{font-size:23px;font-weight:800}.compliance-state{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.compliance-state>div{background:var(--background-soft);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.compliance-state strong{color:var(--text-secondary);margin-bottom:6px;font-size:13px;display:block}.compliance-state h2{color:var(--text);margin-bottom:3px;font-size:27px;font-weight:800}.compliance-state p{color:var(--text-secondary);font-size:13px}.dashboard .welcome{justify-content:space-between;align-items:flex-end;gap:30px;padding:4px 2px 26px;display:flex}.welcome-content{min-width:0}.welcome-badge,.dashboard-section-eyebrow{color:var(--primary);letter-spacing:.8px;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:800;display:inline-flex}.welcome-badge{background:var(--primary-light);border:1px solid var(--primary-soft);border-radius:20px;margin-bottom:10px;padding:6px 10px}.dashboard .welcome p{max-width:680px;color:var(--text-secondary);font-size:15px}.dashboard-assessment-selector{flex-direction:column;gap:7px;min-width:280px;display:flex}.dashboard-assessment-selector label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:750}.dashboard-assessment-selector select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--text-secondary) 50%) calc(100% - 18px) 18px / 5px 5px no-repeat, linear-gradient(135deg, var(--text-secondary) 50%, transparent 50%) calc(100% - 13px) 18px / 5px 5px no-repeat, white;border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--text);box-shadow:var(--shadow-sm);cursor:pointer;outline:none;padding:0 38px 0 13px;font-size:13px;font-weight:600;transition:border-color .2s,box-shadow .2s}.dashboard-assessment-selector select:hover{border-color:#bfdbfe}.dashboard-assessment-selector select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #155e7514}.dashboard .dashboard-section{position:relative;overflow:hidden}.dashboard .dashboard-section-eyebrow{margin-bottom:5px}.dashboard .section-header{align-items:flex-start}.dashboard .section-header-icon{background:var(--primary-light);width:44px;height:44px;color:var(--primary);border:1px solid var(--primary-soft);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dashboard-active-assessment{background:linear-gradient(135deg, var(--card) 0%, var(--surface) 100%)!important}.dashboard-active-assessment:before{content:"";background:linear-gradient(180deg, var(--primary), var(--success));width:4px;position:absolute;top:0;bottom:0;left:0}.dashboard-assessment-info{min-width:0}.dashboard-assessment-info h3{margin-top:3px;margin-bottom:5px;font-size:21px}.dashboard-assessment-info p{font-size:13px}.dashboard-assessment-info p strong{color:var(--text)}.dashboard-active-score{border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;flex-direction:column;align-items:flex-end;min-width:190px;padding:13px 17px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.dashboard-active-score span{color:var(--text-secondary);font-size:11px;font-weight:600}.dashboard-active-score strong{color:var(--text);margin:2px 0;font-size:25px;font-weight:800;line-height:1.2}.dashboard-active-score small{color:var(--text-secondary);font-size:11px}.dashboard-active-score.score-high{background:var(--success-bg);border-color:var(--success-border)}.dashboard-active-score.score-high strong{color:var(--success)}.dashboard-active-score.score-medium{background:var(--warning-bg);border-color:var(--warning-border)}.dashboard-active-score.score-medium strong{color:var(--warning)}.dashboard-active-score.score-low{background:var(--danger-bg);border-color:var(--danger-border)}.dashboard-active-score.score-low strong{color:var(--danger)}.dashboard-active-score.score-unknown{background:var(--background-soft)}.dashboard-risk-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:17px;margin-top:24px;display:grid}.dashboard-risk-stats .stat-card{min-height:112px}.dashboard-risk-stats .stat-card-content{min-width:0}.dashboard-risk-stats .stat-card-content span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashboard-risk-stats .stat-card-content strong{font-size:22px}.dashboard-risk-stats .stat-card:first-child{border-top:3px solid var(--primary)}.dashboard-risk-stats .stat-card:nth-child(2),.dashboard-risk-stats .stat-card:nth-child(3){border-top:3px solid var(--success)}.dashboard-risk-stats .stat-card:nth-child(4){border-top:3px solid var(--warning)}.dashboard-risk-stats .stat-card:nth-child(5){border-top:3px solid var(--danger)}.dashboard-risk-stats .stat-card:first-child .stat-card-icon{background:var(--primary-light);color:var(--primary)}.dashboard-risk-stats .stat-card:nth-child(2) .stat-card-icon{background:var(--secondary-light);color:var(--secondary-dark)}.dashboard-risk-stats .stat-card:nth-child(3) .stat-card-icon{background:var(--success-bg);color:var(--success)}.dashboard-risk-stats .stat-card:nth-child(4) .stat-card-icon{background:var(--warning-bg);color:var(--warning)}.dashboard-risk-stats .stat-card:nth-child(5) .stat-card-icon{background:var(--danger-bg);color:var(--danger)}.domain-compliance-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.domain-compliance-item{background:var(--background-soft);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}.domain-compliance-item:hover{box-shadow:var(--shadow-sm);background:#fff;border-color:#bfdbfe;transform:translateY(-2px)}.domain-compliance-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.domain-compliance-header>div{flex-direction:column;gap:3px;min-width:0;display:flex}.domain-compliance-header strong:first-child{color:var(--text);font-size:14px}.domain-compliance-header small{color:var(--text-secondary);font-size:11px}.domain-compliance-header>strong:last-child{flex-shrink:0;font-size:15px;font-weight:800}.domain-compliance-item .dashboard-score-progress{margin-top:0}.domain-not-evaluated{border:1px dashed var(--border);color:var(--text-muted);text-align:center;background:#fff;border-radius:8px;padding:8px 10px;font-size:11px}.priority-risk-list{flex-direction:column;gap:12px;display:flex}.priority-risk-card{border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:var(--radius-md);background:#fff;align-items:flex-start;gap:14px;padding:17px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.priority-risk-card:hover{border-color:var(--warning-soft);box-shadow:var(--shadow);transform:translate(2px)}.priority-risk-icon{background:var(--warning-bg);width:42px;min-width:42px;height:42px;color:var(--warning);border:1px solid var(--warning-border);border-radius:11px;justify-content:center;align-items:center;display:flex}.priority-risk-content{flex:1;min-width:0}.priority-risk-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:9px;display:flex}.priority-risk-header>div{min-width:0}.priority-risk-header .control-code{margin-bottom:7px}.priority-risk-header h4{color:var(--text);font-size:15px;font-weight:750;line-height:1.45}.priority-risk-meta{color:var(--text-secondary);flex-wrap:wrap;gap:14px;margin-bottom:9px;font-size:12px;display:flex}.priority-risk-meta strong{color:var(--text)}.priority-risk-content>p{color:var(--text-secondary);font-size:13px;line-height:1.55}.assessment-active{background:linear-gradient(135deg, var(--card), var(--surface));border-color:#bfdbfe;position:relative}.assessment-active:before{content:"";background:linear-gradient(180deg, var(--primary), var(--success));width:3px;position:absolute;top:0;bottom:0;left:0}.assessment-active .recommendation-icon{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-soft)}.assessment-active-label{color:var(--primary);align-items:center;gap:5px;margin-top:5px;font-size:11px;font-weight:700;display:inline-flex}.assessment-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:15px;display:flex}.dashboard-primary-button{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:0 4px 10px #0f9d8a2e}.dashboard-primary-button:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 7px 16px #0b1f3324}.dashboard-primary-button:active{transform:translateY(0)}.dashboard-secondary-button{border:1px solid var(--border);min-height:36px;color:var(--navy-soft);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:650;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.dashboard-secondary-button:hover{background:var(--primary-light);color:var(--primary-dark);border-color:#bfdbfe;transform:translateY(-1px)}.dashboard .compliance-state{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard .compliance-state>div{background:var(--background-soft);transition:transform .2s,background .2s,border-color .2s;position:relative;overflow:hidden}.dashboard .compliance-state>div:hover{background:#fff;border-color:#bfdbfe;transform:translateY(-2px)}.dashboard .compliance-state>div:after{content:"";background:#155e750a;border-radius:50%;width:75px;height:75px;position:absolute;bottom:-30px;right:-25px}.dashboard .compliance-state strong{color:var(--primary);font-size:24px;font-weight:800}.dashboard .compliance-state p{z-index:1;font-size:12px;position:relative}.empty-state{text-align:center;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;margin-top:22px;padding:55px 20px}.empty-state svg{color:var(--text-muted);margin-bottom:12px}.empty-state h3,.empty-state h4{color:var(--text);margin:10px 0 7px;font-size:16px}.empty-state p{color:var(--text-secondary)}.dashboard .empty-state{box-shadow:none;border-style:dashed}.dashboard .empty-state svg{color:var(--primary)}.dashboard .empty-state p{max-width:500px;margin:0 auto;font-size:13px}.error-message,.success-message{border-radius:9px;margin-bottom:20px;padding:13px 16px;font-size:13px}.error-message{background:var(--danger-bg);color:var(--danger-dark);border:1px solid var(--danger-border)}.success-message{background:var(--success-bg);color:var(--success-dark);border:1px solid var(--success-border)}.evaluation-incomplete-badge,.evaluation-complete-badge{border-radius:20px;align-items:center;padding:5px 10px;font-size:10px;font-weight:750;display:inline-flex}.evaluation-incomplete-badge{background:var(--warning-bg);color:var(--warning-dark);border:1px solid var(--warning-border)}.evaluation-complete-badge{background:var(--success-bg);color:var(--success-dark);border:1px solid var(--success-border)}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1200px){.dashboard-risk-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard .compliance-state{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.dashboard .welcome{flex-direction:column;align-items:stretch}.dashboard-assessment-selector{width:100%}.domain-compliance-list{grid-template-columns:1fr}.dashboard-active-assessment .section-header{flex-direction:column}.dashboard-active-score{align-items:flex-start;width:100%}}@media (width<=800px){.sidebar{width:72px;padding:18px 10px}.sidebar-logo{justify-content:center;padding:8px 0 25px}.sidebar-logo span,.sidebar-nav span,.sidebar-bottom span{display:none}.sidebar-nav button,.sidebar-bottom button{justify-content:center;padding:12px}.main-content{width:calc(100% - 72px);margin-left:72px}.navbar{padding:0 20px}main{padding:25px 20px 40px}.stats-grid,.dashboard-risk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.compliance-state{grid-template-columns:1fr}.dashboard .compliance-state{grid-template-columns:repeat(2,minmax(0,1fr))}.questions-page .page-header{padding:24px}.priority-risk-header{flex-direction:column;gap:10px}.risk-badge{align-self:flex-start}}@media (width<=650px){main{padding:20px 15px 35px}.navbar{height:70px;padding:0 15px}.navbar-actions{gap:7px}.user-profile div{display:none}.stats-grid,.dashboard .stats-grid,.dashboard-risk-stats,.dashboard .compliance-state{grid-template-columns:1fr}.welcome h2{font-size:25px}.page-header{flex-direction:column;align-items:flex-start}.controls-grid{grid-template-columns:1fr}.dashboard-section{padding:18px}.question-header{gap:10px}.question-card{padding:18px}.recommendation-card{flex-direction:column}.recommendation-icon{width:43px}.recommendation-header{flex-direction:column;align-items:flex-start;gap:8px}.evaluation-header-score{align-items:flex-start;width:100%}.dashboard-active-score{align-items:flex-start;width:100%;margin-top:12px}.dashboard-completion-header,.dashboard-completion-footer{flex-direction:column;align-items:flex-start}.questions-page .page-header{padding:20px}.questions-page .page-header h1{font-size:23px}.questions-page .question-header{gap:11px}.questions-page .question-number{width:34px;min-width:34px;height:34px}.questions-page .question-header h4{font-size:15px}.answer-options{align-items:stretch}.answer-button,.save-answer{flex:1}.dashboard-primary-button,.dashboard-secondary-button{width:100%}.assessment-actions{flex-direction:column;align-items:stretch}.priority-risk-card{flex-direction:column}.priority-risk-meta{flex-direction:column;gap:5px}.domain-compliance-header{gap:10px}.domain-compliance-header>strong:last-child{font-size:13px}.dashboard .section-header{flex-direction:column}.dashboard .section-header-icon{display:none}}.status-success,.status-compliant,.compliant{color:var(--success-dark);background:var(--success-light);border-color:var(--success-border)}.status-warning,.status-partial,.partial{color:var(--warning-dark);background:var(--warning-light);border-color:var(--warning-border)}.status-danger,.status-non-compliant,.non-compliant{color:var(--danger-dark);background:var(--danger-light);border-color:var(--danger-border)}.risk-low{color:var(--risk-low)}.risk-medium{color:var(--risk-medium)}.risk-high{color:var(--risk-high)}.risk-critical{color:var(--risk-critical)}.btn-primary,.primary-button{border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);transition:background var(--transition), transform var(--transition), box-shadow var(--transition);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:700;display:inline-flex}.btn-primary:hover,.primary-button:hover{background:var(--secondary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-success,.success-button{border-radius:var(--radius-md);background:var(--success);color:var(--text-white);transition:background var(--transition), transform var(--transition);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:700;display:inline-flex}.btn-success:hover,.success-button:hover{background:var(--success-dark);transform:translateY(-1px)}.report-page{max-width:1400px;margin:0 auto}.report-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;display:flex}.report-hero-content{max-width:760px}.report-hero-content h2{margin-top:14px;margin-bottom:8px}.report-hero-content p{max-width:680px}.report-pdf-button{background:var(--text);color:var(--card);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-weight:700;transition:all .2s;display:inline-flex}.report-pdf-button:hover{opacity:.94;transform:translateY(-1px)}.report-pdf-button:disabled{cursor:not-allowed;opacity:.65}.report-meta-card{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px;margin-top:22px;padding:20px 22px;display:flex;box-shadow:0 4px 18px #0f172a0a}.report-meta-main,.report-meta-item{align-items:center;gap:12px;display:flex}.report-meta-icon{background:var(--success-soft);width:42px;height:42px;color:var(--success-dark);border-radius:10px;justify-content:center;align-items:center;display:flex}.report-meta-main span,.report-meta-item span{color:var(--text-secondary);margin-bottom:3px;font-size:12px;display:block}.report-meta-main strong,.report-meta-item strong{color:var(--text);font-size:14px}.report-section{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-top:24px;padding:26px;box-shadow:0 4px 18px #0f172a09}.report-section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.report-section-heading h3{color:var(--text);margin:5px 0;font-size:20px}.report-section-heading p{color:var(--text-secondary);margin:0;font-size:14px}.report-eyebrow{color:var(--success-dark);letter-spacing:.09em;font-size:11px;font-weight:800}.report-status-badge{background:var(--warning-light);color:var(--warning-dark);border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:11px;font-weight:800;display:inline-flex}.report-overview-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.report-metric-card{border:1px solid var(--border);background:var(--surface);border-radius:13px;min-height:165px;padding:19px}.report-metric-header{color:var(--text-secondary);letter-spacing:.06em;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;display:flex}.report-metric-header svg{color:var(--success-dark)}.report-metric-card>strong{color:var(--text);margin-top:20px;font-size:30px;line-height:1;display:block}.report-metric-card>span{color:#475569;margin-top:9px;font-size:13px;display:block}.report-metric-card small{color:var(--warning-dark);margin-top:8px;font-size:11px;font-weight:700;display:block}.report-big-score.score-high{color:var(--success-dark)}.report-big-score.score-medium{color:var(--warning-dark)}.report-big-score.score-low{color:var(--danger)}.report-risk-value.risk-critical{color:var(--danger-dark)}.report-risk-value.risk-high{color:var(--risk-high)}.report-risk-value.risk-medium{color:var(--warning-dark)}.report-risk-value.risk-low{color:var(--success-dark)}.report-risk-value.risk-incomplete{color:var(--text-secondary)}.report-progress{background:var(--border);border-radius:999px;width:100%;height:7px;margin-top:14px;overflow:hidden}.report-progress-fill,.report-large-progress-fill{border-radius:inherit;background:var(--success-dark);height:100%;transition:width .4s}.report-completion-card{border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:22px}.report-completion-top{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.report-completion-top div strong{color:var(--text);font-size:28px;display:block}.report-completion-top div span{color:var(--text-secondary);font-size:13px}.report-completion-top>strong{color:var(--success-dark);font-size:22px}.report-large-progress{background:var(--border);border-radius:999px;width:100%;height:11px;margin-top:18px;overflow:hidden}.report-completion-bottom{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;display:flex}.report-response-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.report-response-card{border:1px solid var(--border);background:var(--surface);border-radius:13px;flex-direction:column;align-items:flex-start;gap:5px;padding:19px;display:flex}.report-response-card svg{margin-bottom:6px}.report-response-card strong{color:var(--text);font-size:28px}.report-response-card span{color:var(--text-secondary);font-size:13px}.report-response-card.compliant svg{color:var(--success)}.report-response-card.partial svg{color:var(--warning)}.report-response-card.non-compliant svg{color:var(--danger)}.report-response-card.total svg{color:var(--success-dark)}.report-domain-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.report-domain-card{border:1px solid var(--border);background:var(--surface);border-radius:13px;gap:16px;padding:18px;display:flex}.report-domain-code{background:var(--success-soft);width:48px;height:48px;color:var(--success-dark);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.report-domain-content{width:100%}.report-domain-content>strong:first-child{color:var(--text);font-size:15px;display:block}.report-domain-content>span{color:var(--text-secondary);margin-top:3px;font-size:12px;display:block}.report-domain-score{margin-top:13px;font-size:18px;display:block}.report-domain-score.score-high{color:var(--success-dark)}.report-domain-score.score-medium{color:var(--warning-dark)}.report-domain-score.score-low{color:var(--danger)}.report-domain-score.score-unknown{color:var(--text-muted)}.report-risk-list{flex-direction:column;gap:13px;display:flex}.report-risk-card{border:1px solid var(--border);background:var(--card);border-radius:13px;gap:16px;padding:18px;display:flex}.report-risk-icon{background:var(--danger-light);width:44px;height:44px;color:var(--danger);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.report-risk-content{flex:1}.report-risk-top{justify-content:space-between;gap:20px;display:flex}.report-risk-top h4{color:var(--text);margin:4px 0 0;font-size:15px}.control-code{color:var(--success-dark);font-size:11px;font-weight:800}.report-risk-badge,.report-recommendation-level{text-transform:uppercase;border-radius:999px;height:fit-content;padding:6px 10px;font-size:10px;font-weight:800}.report-risk-badge.risk-critical{background:var(--danger-light);color:var(--danger-dark)}.report-risk-badge.risk-high{background:var(--risk-high-bg);color:var(--risk-high)}.report-risk-badge.risk-medium{background:var(--warning-light);color:var(--warning-dark)}.report-risk-badge.risk-low{background:var(--success-light);color:var(--success-dark)}.report-risk-meta{color:var(--text-secondary);gap:24px;margin-top:12px;font-size:12px;display:flex}.report-risk-meta strong{color:var(--navy-soft);margin-left:4px}.report-risk-content>p{color:#475569;margin:13px 0 0;font-size:13px;line-height:1.6}.report-action-link{color:var(--success-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-top:12px;padding:0;font-size:12px;font-weight:700;display:inline-flex}.report-evaluation-list{flex-direction:column;gap:12px;display:flex}.report-evaluation-card{border:1px solid var(--border);background:var(--card);border-radius:13px;gap:16px;padding:18px;display:flex}.report-question-number{background:var(--background-soft);width:38px;height:38px;color:var(--text-secondary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.report-evaluation-content{flex:1;min-width:0}.report-evaluation-header{justify-content:space-between;gap:20px;display:flex}.report-evaluation-header h4{color:var(--text);margin:5px 0 0;font-size:14px;line-height:1.5}.report-evaluation-score{flex-shrink:0;font-size:15px}.report-evaluation-score.score-high{color:var(--success-dark)}.report-evaluation-score.score-medium{color:var(--warning-dark)}.report-evaluation-score.score-low{color:var(--danger)}.report-control-name{color:var(--text-secondary);margin:10px 0 13px;font-size:12px}.report-control-name strong{color:var(--navy-soft);margin-left:4px}.report-answer-row{flex-wrap:wrap;gap:7px;display:flex}.answer-button{border:1px solid var(--border);color:var(--text-muted);background:var(--surface);border-radius:7px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.answer-button.selected.oui{border-color:var(--success-border);background:var(--success-light);color:var(--success-dark)}.answer-button.selected.partiel{border-color:var(--warning-border);background:var(--warning-light);color:var(--warning-dark)}.answer-button.selected.non{border-color:var(--danger-border);background:var(--danger-light);color:var(--danger)}.report-comment{border-left:3px solid var(--success-dark);background:var(--surface);border-radius:5px;flex-direction:column;gap:4px;margin-top:13px;padding:11px 13px;display:flex}.report-comment strong{color:var(--navy-soft);font-size:11px}.report-comment span{color:var(--text-secondary);font-size:12px}.report-recommendation-list{flex-direction:column;gap:12px;display:flex}.report-recommendation-card{border:1px solid var(--border);background:var(--card);border-radius:13px;gap:15px;padding:18px;display:flex}.report-recommendation-icon{background:var(--warning-light);width:43px;height:43px;color:var(--warning-dark);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.report-recommendation-card>div:last-child{flex:1}.report-recommendation-top{justify-content:space-between;gap:20px;display:flex}.report-recommendation-level{background:var(--background-soft);color:#475569}.report-recommendation-card h4{color:var(--text);margin:5px 0 6px;font-size:14px}.report-recommendation-card p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.report-empty-state{background:var(--surface);text-align:center;border:1px dashed #cbd5e1;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:45px 20px;display:flex}.report-empty-state svg{color:var(--success-dark);margin-bottom:5px}.report-empty-state strong{color:var(--navy-soft)}.report-empty-state span{color:var(--text-secondary);font-size:13px}.report-footer{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding:20px 4px 30px;font-size:12px;display:flex}.report-footer>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report-footer svg{color:var(--success-dark)}.report-footer strong{color:var(--navy-soft)}.report-footer span{color:var(--text-muted)}@media (width<=1100px){.report-overview-grid,.report-response-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.report-section{padding:18px}.report-overview-grid,.report-domain-grid,.report-response-grid{grid-template-columns:1fr}.report-meta-card{flex-direction:column;align-items:flex-start}.report-risk-top,.report-evaluation-header,.report-recommendation-top{flex-direction:column}.report-risk-badge,.report-recommendation-level{align-self:flex-start}.report-risk-meta{flex-direction:column;gap:5px}.report-footer{flex-direction:column;align-items:flex-start}}.compliance-state{justify-content:space-between;align-items:center;gap:40px;width:100%;display:flex}.compliance-state>div{flex:1}.compliance-state>div:last-child{text-align:right;margin-left:auto}.compliance-state strong{color:var(--text);font-size:15px;font-weight:750;display:block}.compliance-state p{color:var(--text-secondary);margin-top:4px;font-size:13px}.organization-selected{border:1px solid var(--border);color:var(--primary);background:#f8fafc;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.organization-selected>div{flex-direction:column;gap:2px;display:flex}.organization-selected span{color:var(--text-muted);font-size:12px}.organization-selected strong{color:var(--text);font-size:15px}.risk-heatmap-section{width:100%}.risk-heatmap-intro{margin-bottom:24px}.risk-heatmap-eyebrow{color:var(--primary);letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:800;display:inline-block}.risk-heatmap-intro h2{color:var(--text);margin:0;font-size:28px;font-weight:800}.risk-heatmap-intro p{max-width:760px;color:var(--text-secondary);margin:8px 0 0;font-size:14px;line-height:1.6}.risk-heatmap-legend{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:24px;display:flex}.risk-heatmap-legend-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;font-weight:650;display:inline-flex}.risk-heatmap-legend-dot{border-radius:50%;width:12px;height:12px;display:inline-block}.risk-heatmap-matrices{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;display:grid}.risk-heatmap-card{border:1px solid var(--border);background:#fff;border-radius:18px;min-width:0;padding:24px;box-shadow:0 8px 24px #0f172a0f}.risk-heatmap-card-header{margin-bottom:22px}.risk-heatmap-card-header h3{color:var(--text);margin:0;font-size:17px;font-weight:800}.risk-heatmap-card-header p{color:var(--text-muted);margin:5px 0 0;font-size:12px}.risk-heatmap-wrapper{align-items:center;width:100%;display:flex}.risk-heatmap-y-label{width:24px;color:var(--text-secondary);writing-mode:vertical-rl;text-align:center;margin-right:10px;font-size:12px;font-weight:750;transform:rotate(180deg)}.risk-heatmap-impact-labels{float:left;grid-template-rows:repeat(5,1fr);gap:5px;width:22px;height:250px;margin-right:8px;display:grid}.risk-heatmap-impact-labels span{color:var(--text-muted);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.risk-heatmap-cell{color:#334155;cursor:default;border:1px solid #0f172a14;border-radius:7px;justify-content:center;align-items:center;min-width:0;min-height:0;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.risk-heatmap-score{font-size:13px;font-weight:800}.risk-heatmap-count{min-width:17px;height:17px;color:var(--text);text-align:center;background:#ffffffe6;border-radius:999px;padding:0 4px;font-size:9px;font-weight:800;line-height:17px;position:absolute;top:4px;right:5px}.risk-heatmap-x-labels{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:7px;margin-left:30px;display:grid}.risk-heatmap-x-labels span{color:var(--text-muted);text-align:center;font-size:11px;font-weight:700}.risk-heatmap-probability-label{color:var(--text-secondary);text-align:center;margin-top:8px;margin-left:30px;font-size:12px;font-weight:750}.risk-heatmap-summaries{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.risk-summary-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:20px}.risk-summary-card h3{color:var(--text);margin:0 0 18px;font-size:15px;font-weight:800}.risk-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.risk-summary-grid>div{text-align:center;background:#f8fafc;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:72px;padding:10px;display:flex}.risk-summary-grid strong{color:var(--text);font-size:22px;font-weight:850}.risk-summary-grid span{color:var(--text-muted);margin-top:3px;font-size:11px;font-weight:650}.risk-heatmap-state{min-height:260px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.risk-heatmap-error{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca;border-radius:14px}.risk-heatmap-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite riskHeatmapSpin}@keyframes riskHeatmapSpin{to{transform:rotate(360deg)}}@media (width<=1000px){.risk-heatmap-matrices,.risk-heatmap-summaries{grid-template-columns:1fr}}@media (width<=600px){.risk-heatmap-card{padding:16px}.risk-heatmap-grid,.risk-heatmap-impact-labels{height:210px}.risk-summary-grid{grid-template-columns:repeat(2,1fr)}.risk-heatmap-intro h2{font-size:23px}}.risk-heatmap-wrapper{align-items:stretch;width:100%;margin-top:18px;display:flex}.risk-heatmap-y-label{width:28px;min-width:28px;color:var(--text-secondary);writing-mode:vertical-rl;letter-spacing:.04em;justify-content:center;align-items:center;margin-right:12px;font-size:12px;font-weight:800;display:flex;transform:rotate(180deg)}.risk-heatmap-content{flex:1;min-width:0}.risk-heatmap-impact-labels{grid-template-rows:repeat(5,1fr);place-items:center;width:28px;height:250px;margin-left:-36px;display:grid;position:absolute}.risk-heatmap-impact-labels span{height:100%;color:var(--text-secondary);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.risk-heatmap-grid{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:100%;height:250px;display:grid}.risk-heatmap-cell{border:1px solid #0f172a14;border-radius:7px;justify-content:center;align-items:center;min-width:0;min-height:0;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.risk-heatmap-cell:hover{z-index:2;transform:translateY(-2px);box-shadow:0 6px 14px #0f172a24}.risk-heatmap-score{color:#172033;font-size:13px;font-weight:800;line-height:1}.risk-heatmap-count{color:#fff;background:#0f172ad1;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:800;display:inline-flex;position:absolute;top:5px;right:5px}.risk-heatmap-x-labels{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:100%;margin-top:7px;display:grid}.risk-heatmap-x-labels span{text-align:center;color:var(--text-secondary);font-size:12px;font-weight:700}.risk-heatmap-probability-label{text-align:center;color:var(--text-secondary);letter-spacing:.02em;margin-top:8px;font-size:12px;font-weight:800}.risk-heatmap-legend-dot.risk-level-low,.risk-heatmap-cell.risk-level-low{background:#2d90a6}.risk-heatmap-legend-dot.risk-level-moderate,.risk-heatmap-cell.risk-level-moderate{background:#c28a13}.risk-heatmap-legend-dot.risk-level-high,.risk-heatmap-cell.risk-level-high{background:#d96832}.risk-heatmap-legend-dot.risk-level-critical,.risk-heatmap-cell.risk-level-critical{background:#b42332}@media (width<=900px){.risk-heatmap-matrices{grid-template-columns:1fr}}@media (width<=600px){.risk-heatmap-grid,.risk-heatmap-impact-labels{height:210px}.risk-heatmap-y-label{width:22px;min-width:22px;margin-right:8px}.risk-heatmap-impact-labels{width:22px;margin-left:-30px}.risk-heatmap-score{font-size:11px}.risk-heatmap-count{min-width:16px;height:16px;font-size:9px;top:3px;right:3px}}.risks-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.risk-proposals{background:#fff;border:1px solid #dbe5ec;border-radius:16px;margin-top:24px;padding:24px;box-shadow:0 8px 24px #0f172a0f}.risk-proposals-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.risk-proposals-header h2{color:#0f172a;margin:4px 0 8px;font-size:20px;font-weight:800}.risk-proposals-header p{color:#64748b;max-width:760px;margin:0;font-size:14px;line-height:1.6}.risk-proposals-count{color:#0f766e;white-space:nowrap;background:#ecfeff;border-radius:999px;justify-content:center;align-items:center;min-width:90px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.risk-proposals-list{gap:14px;display:grid}.risk-proposal-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:18px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.risk-proposal-card:hover{border-color:#99f6e4;transform:translateY(-2px);box-shadow:0 10px 22px #0f172a14}.risk-proposal-main{align-items:flex-start;gap:16px;min-width:0;display:flex}.risk-proposal-code{color:#fff;text-align:center;background:#0f766e;border-radius:10px;flex:none;min-width:68px;padding:8px 10px;font-size:13px;font-weight:800}.risk-proposal-card h3{color:#0f172a;margin:0 0 7px;font-size:15px;font-weight:800}.risk-proposal-card p{color:#64748b;margin:0;font-size:13px;line-height:1.55}.risk-proposal-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:18px;margin-top:12px;font-size:12px;display:flex}.risk-proposal-meta strong{color:#334155}.risk-proposal-actions{flex:none}.risk-proposal-actions .primary-button{white-space:nowrap}.spin{animation:.9s linear infinite risk-spin}@keyframes risk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=800px){.risk-proposal-card{flex-direction:column;align-items:stretch}.risk-proposal-actions{width:100%}.risk-proposal-actions .primary-button{justify-content:center;width:100%}}@media (width<=600px){.risks-header-actions{justify-content:stretch;width:100%}.risks-header-actions button{flex:1;justify-content:center}.risk-proposals{padding:16px}.risk-proposals-header{flex-direction:column}.risk-proposals-count{align-self:flex-start}.risk-proposal-main{flex-direction:column;gap:10px}.risk-proposal-code{align-self:flex-start}}.sidebar-section{margin-bottom:8px}.sidebar-section-title{color:#7f91a5;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;margin:4px 0;padding:9px 12px;font-size:11px;font-weight:700;transition:color .2s;display:flex}.sidebar-section-title:hover{color:#b8c7d6}.sidebar-section-title svg{flex-shrink:0;transition:transform .2s}.sidebar-section-title svg.section-open{transform:rotate(180deg)}.sidebar-submenu{flex-direction:column;gap:3px;margin-bottom:8px;padding-left:7px;display:flex}.sidebar-submenu .sidebar-menu-button{border-radius:9px;min-height:42px;padding:9px 12px;font-size:13px;position:relative}.sidebar-submenu .sidebar-menu-button:before{content:"";background:#2d90a6;border-radius:2px;width:2px;height:0;transition:height .2s;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.sidebar-submenu .sidebar-menu-button.active:before{height:24px}.sidebar-submenu .sidebar-menu-button.active{color:#65c0d0;background:#20c7c91c}.sidebar-submenu .sidebar-menu-button.active svg{color:#65c0d0}.sidebar-menu-button{transition:background .2s,color .2s,transform .15s}.sidebar-menu-button:hover{transform:translate(2px)}.sidebar-menu-button.active{box-shadow:inset 3px 0 #2d90a6}.sidebar-organization{background:#ffffff09;border:1px solid #ffffff12;border-radius:10px;align-items:center;gap:10px;margin:4px 0 18px;padding:10px 12px;display:flex}.sidebar-organization>svg{color:#2d90a6;flex-shrink:0}.sidebar-organization>div{flex-direction:column;gap:2px;min-width:0;display:flex}.sidebar-organization span{color:#718398;text-transform:uppercase;letter-spacing:.07em;font-size:10px}.sidebar-organization strong{color:#dce6ef;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.sidebar-logo{gap:10px}.sidebar-logo-icon{color:#fff;background:linear-gradient(135deg,#226f80,#2d90a6);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 6px 18px #20c7c92e}.sidebar-logo strong{color:#fff;font-size:17px;line-height:1.1;display:block}.sidebar-logo small{color:#8bd4df;letter-spacing:.12em;text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:700;display:block}.logout-button{color:#9aaabd}.logout-button:hover{color:#ff8f8f;background:#ff5a5a14}.sidebar-bottom{border-top:1px solid #ffffff0f;padding-top:12px}@media (width<=800px){.sidebar-section-title{justify-content:center;padding:9px 6px}.sidebar-section-title span{display:none}.sidebar-section-title svg{display:block}.sidebar-submenu{padding-left:0}.sidebar-submenu .sidebar-menu-button:before{display:none}.sidebar-organization{justify-content:center;padding:10px 6px}.sidebar-organization>div{display:none}.sidebar-submenu .sidebar-menu-button{justify-content:center;padding:10px}}.dashboard-error{background:#dc505012;border:1px solid #dc505040;border-radius:12px;align-items:center;gap:14px;margin-bottom:20px;padding:14px 16px;display:flex}.dashboard-error-icon{color:#e66a6a;background:#dc50501f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.dashboard-error-content{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dashboard-error-content strong{color:#e7edf4;font-size:13px;font-weight:700}.dashboard-error-content span{color:#9baabd;font-size:12px;line-height:1.5}.dashboard-error-retry{color:#f0a0a0;cursor:pointer;background:#dc50501a;border:1px solid #dc50504d;border-radius:8px;flex-shrink:0;padding:8px 14px;font-size:12px;font-weight:700;transition:background .2s,color .2s,transform .15s}.dashboard-error-retry:hover{color:#fff;background:#dc50502e;transform:translateY(-1px)}@media (width<=700px){.dashboard-error{flex-wrap:wrap;align-items:flex-start}.dashboard-error-content{flex-basis:calc(100% - 52px)}.dashboard-error-retry{margin-left:52px}}.dashboard-loading{color:#9baabd;background:#ffffff06;border:1px solid #20c7c91f;border-radius:14px;justify-content:center;align-items:center;gap:12px;min-height:180px;padding:30px;display:flex}.dashboard-loading-icon{color:#2d90a6;background:#20c7c91a;border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.dashboard-loading-content{flex-direction:column;gap:3px;display:flex}.dashboard-loading-content strong{color:#dce6ef;font-size:13px;font-weight:700}.dashboard-loading-content span{color:#7f91a5;font-size:12px}.dashboard-loading-icon .spin{animation:1.2s linear infinite dashboard-spin}@keyframes dashboard-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-risk-loading{color:#7f91a5;align-items:center;gap:9px;font-size:12px;display:flex}.dashboard-risk-loading .spin{color:#2d90a6;animation:1.2s linear infinite dashboard-spin}.recommendations-page{flex-direction:column;gap:28px;padding-bottom:32px;display:flex}.recommendations-page .welcome{gap:16px;margin-bottom:0}.recommendations-page .welcome h2{letter-spacing:-.4px;margin:0 0 10px;line-height:1.35}.recommendations-page .welcome p{max-width:760px;margin:0;line-height:1.8}.recommendations-page .dashboard-section{margin-top:0;padding:28px}.recommendations-page .section-header{gap:24px;margin-bottom:24px}.recommendations-page .section-header h3{margin:0 0 10px;line-height:1.5}.recommendations-page .section-header p{margin:0;line-height:1.8}.recommendations-page .stats-grid{gap:20px;margin:0}.recommendations-page .stat-card{gap:16px;min-height:130px;padding:24px}.recommendations-page .stat-card-title{margin-bottom:10px;line-height:1.6;display:block}.recommendations-page .stat-card-value{margin-bottom:8px;line-height:1.3;display:block}.recommendations-page .stat-card small{margin-top:4px;line-height:1.6;display:block}.recommendations-page .compliance-state{gap:20px}.recommendations-page .compliance-state>div{min-width:0;padding:18px}.recommendations-page .compliance-state strong{margin-bottom:10px;line-height:1.6;display:block}.recommendations-page .compliance-state p{overflow-wrap:anywhere;margin:0;line-height:1.6}.recommendations-page .recommendations-list{gap:20px}.recommendations-page .recommendation-card{gap:20px;padding:24px}.recommendations-page .recommendation-content{flex-direction:column;gap:14px;min-width:0;display:flex}.recommendations-page .recommendation-header{gap:12px}.recommendations-page .recommendation-description{overflow-wrap:anywhere;line-height:1.8}@media (width<=768px){.recommendations-page{gap:20px}.recommendations-page .dashboard-section{padding:20px}.recommendations-page .stats-grid{gap:14px}.recommendations-page .stat-card{padding:18px}.recommendations-page .recommendation-card{gap:14px;padding:18px}}.risks-table{border-collapse:separate;border-spacing:0}.risks-table th{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:#0f2a44;padding:14px 18px;font-size:.78rem}.risks-table td{vertical-align:top;border-bottom:1px solid #e2e8f0;padding:20px 18px;line-height:1.6}.risks-table tbody tr:hover{background:#f8fafc}.risks-table td>div{gap:10px!important}.risks-table td strong{margin-bottom:2px;display:block}.risks-table td span,.risks-table td small{margin-top:4px;display:block}.risk-score-cell strong{font-size:1.4rem}.risk-statistics,.risk-residual-grid{gap:16px}.risk-stat-card,.risk-residual-card{padding:18px 20px;line-height:1.5}.risk-stat-card span,.risk-residual-card span{margin-bottom:6px;display:block}.risk-stat-card small,.risk-residual-card small{margin-top:6px;display:block}.risks-header{margin-bottom:24px}.risks-header p{margin:8px 0 14px;line-height:1.6}.risks-context{flex-wrap:wrap;gap:28px;display:flex}.risks-toolbar{gap:14px;margin:20px 0}.ev-page{max-width:1200px;padding:1.5rem}.ev-subtitle{color:#5b6b7c;margin:.25rem 0 1.25rem}.ev-empty{text-align:center;color:#5b6b7c;padding:2rem}.ev-alert{background:#eef2f6;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem}.ev-alert-error{color:#991b1b;background:#fee2e2}.ev-alert-ok{color:#166534;background:#dcfce7}.ev-assigned{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.ev-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #d9e1e8;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.9rem 1.1rem;display:flex}.ev-card.active{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e26}.ev-detail{background:#fff;border:1px solid #e3e9ef;border-radius:14px;padding:1.25rem}.ev-detail-header{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.ev-detail-header h3{margin:0 0 .4rem}.ev-score{text-align:right;color:#5b6b7c;font-size:.8rem}.ev-score strong{color:#0f2a44;font-size:1.6rem;display:block}.ev-counter{color:#5b6b7c;margin-left:.75rem;font-size:.85rem}.ev-table-wrap{overflow-x:auto}.ev-table{border-collapse:collapse;width:100%;font-size:.9rem}.ev-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#7a8896;border-bottom:1px solid #e3e9ef;padding:.5rem;font-size:.72rem}.ev-table td{vertical-align:top;border-bottom:1px solid #eef2f6;padding:.6rem .5rem}.ev-ref{white-space:nowrap;font-weight:700}.ev-note{color:#5b6b7c;margin-top:.3rem;font-size:.8rem}.ev-badge{color:#475569;background:#e9eef3;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.ev-status-SUBMITTED,.ev-status-IN_REVIEW{color:#b45309;background:#fef3c7}.ev-status-VALIDATED,.ev-val-CONFIRMED{color:#15803d;background:#dcfce7}.ev-val-CONTESTED{color:#b91c1c;background:#fee2e2}.ev-val-PENDING{color:#475569;background:#e9eef3}.ev-actions{flex-wrap:wrap;gap:.4rem;display:flex}.ev-table button,.ev-footer button{color:#fff;cursor:pointer;background:#0f766e;border:1px solid #0f766e;border-radius:8px;padding:.4rem .8rem}.ev-table button.ev-secondary,.ev-footer button.ev-secondary{color:#0f766e;background:#fff}.ev-table button:disabled,.ev-footer button:disabled{opacity:.5;cursor:not-allowed}.ev-form{flex-direction:column;gap:.4rem;min-width:220px;display:flex}.ev-form textarea,.ev-return textarea{border:1px solid #d9e1e8;border-radius:8px;width:100%;padding:.4rem}.ev-footer{border-top:1px dashed #d9e1e8;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;margin-top:1.25rem;padding-top:1rem;display:flex}.ev-return{flex-direction:column;gap:.4rem;min-width:300px;display:flex}.cd-page{max-width:1100px;padding:1.5rem}.cd-back{color:#0f766e;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;margin-bottom:1rem;font-weight:600;display:inline-flex}.cd-alert{color:#991b1b;background:#fee2e2;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem}.cd-header{background:#fff;border:1px solid #e3e9ef;border-radius:14px;margin-bottom:1.25rem;padding:1.5rem}.cd-header h2{margin:.6rem 0 .4rem;line-height:1.4}.cd-header p{color:#334155;margin:.8rem 0 0;line-height:1.7}.cd-code{color:#fff;background:#0f2a44;border-radius:6px;padding:.25rem .7rem;font-weight:700;display:inline-block}.cd-domain{color:#0f766e;font-size:.85rem;font-weight:600;display:block}.cd-section{background:#fff;border:1px solid #e3e9ef;border-radius:14px;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.cd-section h3{margin:0 0 1rem}.cd-note{color:#64748b;margin:0}.cd-table{border-collapse:collapse;width:100%;font-size:.9rem}.cd-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#64748b;border-bottom:1px solid #e3e9ef;padding:.5rem .75rem;font-size:.72rem}.cd-table td{vertical-align:top;border-bottom:1px solid #eef2f6;padding:.8rem .75rem;line-height:1.55}.cd-block{color:#64748b;margin-top:.3rem;display:block}.cd-badge{border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.cd-val-PENDING{color:#475569;background:#e9eef3}.cd-val-CONFIRMED{color:#fff;background:#15803d}.cd-val-CONTESTED{color:#fff;background:#991b1b}.cd-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.cd-list li{border:1px solid #eef2f6;border-radius:10px;justify-content:space-between;gap:1rem;padding:.8rem 1rem;line-height:1.6;display:flex}.cd-list p{margin:0}.cd-list button{color:#0f766e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #0f766e;border-radius:8px;align-self:center;align-items:center;gap:.3rem;padding:.4rem .8rem;display:inline-flex}
