*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #060d1f;--bg-2: #08111e;--card: #0d1b30;--card-hover: #112038;--card-elevated: #162845;--border: #162340;--border-2: #1d2f52;--border-accent: rgba(0, 212, 255, .25);--text: #d8e8f5;--text-2: #7096b8;--text-3: #3d5a7a;--cyan: #00d4ff;--cyan-10: rgba(0, 212, 255, .08);--cyan-20: rgba(0, 212, 255, .18);--cyan-glow: 0 0 12px rgba(0, 212, 255, .3);--critical: #ff3333;--critical-10: rgba(255, 51, 51, .1);--critical-20: rgba(255, 51, 51, .2);--critical-glow: 0 0 10px rgba(255, 51, 51, .3);--high: #ff7730;--high-10: rgba(255, 119, 48, .1);--high-20: rgba(255, 119, 48, .2);--medium: #ffc107;--medium-10: rgba(255, 193, 7, .1);--medium-20: rgba(255, 193, 7, .2);--low: #00d68f;--low-10: rgba(0, 214, 143, .1);--low-20: rgba(0, 214, 143, .2);--implemented: #00d68f;--partial: #ffc107;--not-implemented: #ff3333;--na: #4a6280}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:24px;max-width:1600px;margin:0 auto;width:100%}.header{background:var(--bg-2);border-bottom:1px solid var(--border-2);padding:0 24px;height:60px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:100}.header-logo{display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none}.header-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--cyan) 0%,#0099cc 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:var(--cyan-glow)}.header-logo-text{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.3px}.header-logo-sub{font-size:11px;color:var(--cyan);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.header-sep{width:1px;height:28px;background:var(--border-2)}.header-org{font-size:13px;color:var(--text-2);font-weight:500}.header-spacer{flex:1}.header-date{font-size:12px;color:var(--text-3);font-family:JetBrains Mono,monospace}.header-badge{display:flex;align-items:center;gap:6px;background:#00d68f1a;border:1px solid rgba(0,214,143,.25);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;color:var(--low);text-transform:uppercase;letter-spacing:.5px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--low);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.header-user{display:flex;align-items:center;gap:8px;cursor:pointer}.header-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:13px}.breadcrumb-item{color:var(--text-2);cursor:pointer;text-decoration:none;transition:color .15s}.breadcrumb-item:hover{color:var(--cyan)}.breadcrumb-sep{color:var(--text-3)}.breadcrumb-current{color:var(--text);font-weight:500}.risk-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.risk-badge.critical{background:var(--critical-20);color:var(--critical);border:1px solid rgba(255,51,51,.3)}.risk-badge.high{background:var(--high-20);color:var(--high);border:1px solid rgba(255,119,48,.3)}.risk-badge.medium{background:var(--medium-20);color:var(--medium);border:1px solid rgba(255,193,7,.3)}.risk-badge.low{background:var(--low-20);color:var(--low);border:1px solid rgba(0,214,143,.3)}.control-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.control-badge.implemented{background:#00d68f1a;color:var(--implemented);border:1px solid rgba(0,214,143,.25)}.control-badge.partial{background:#ffc1071a;color:var(--partial);border:1px solid rgba(255,193,7,.25)}.control-badge.not-implemented{background:#ff33331a;color:var(--not-implemented);border:1px solid rgba(255,51,51,.25)}.control-badge.not-applicable{background:#4a628026;color:var(--na);border:1px solid rgba(74,98,128,.25)}.trend{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600}.trend.improving{color:var(--low)}.trend.stable{color:var(--text-2)}.trend.degrading{color:var(--critical)}.issue-status{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.issue-status.open{background:#ff33331a;color:#ff6b6b;border:1px solid rgba(255,51,51,.25)}.issue-status.in-progress{background:#ffc1071a;color:var(--medium);border:1px solid rgba(255,193,7,.25)}.issue-status.pending-review{background:#00d4ff1a;color:var(--cyan);border:1px solid rgba(0,212,255,.25)}.dashboard{display:flex;flex-direction:column;gap:20px}.posture-banner{background:linear-gradient(135deg,#0d1b30,#0a1628,#0d2040);border:1px solid var(--border-2);border-radius:12px;padding:20px 28px;display:flex;align-items:center;gap:32px;position:relative;overflow:hidden}.posture-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--high),var(--critical),transparent)}.posture-score-wrap{display:flex;align-items:center;gap:20px;flex-shrink:0}.posture-ring{position:relative;flex-shrink:0}.posture-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.posture-ring-score{font-size:28px;font-weight:800;color:var(--high);font-family:JetBrains Mono,monospace;line-height:1}.posture-ring-label{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.posture-info{display:flex;flex-direction:column;gap:4px}.posture-title{font-size:18px;font-weight:700;color:var(--text)}.posture-sub{font-size:13px;color:var(--text-2)}.posture-badges{display:flex;gap:8px;margin-top:6px}.maturity-badge{display:inline-flex;align-items:center;gap:6px;background:var(--cyan-10);border:1px solid var(--border-accent);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;color:var(--cyan);text-transform:uppercase;letter-spacing:.5px}.posture-stats{flex:1;display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border);border-radius:8px;overflow:hidden}.posture-stat{background:var(--card);padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:background .15s}.posture-stat:hover{background:var(--card-hover)}.posture-stat-value{font-size:22px;font-weight:800;font-family:JetBrains Mono,monospace;line-height:1}.posture-stat-label{font-size:11px;color:var(--text-2)}.val-critical{color:var(--critical)}.val-high{color:var(--high)}.val-medium{color:var(--medium)}.val-low{color:var(--low)}.val-neutral{color:var(--text)}.val-warn{color:var(--medium)}.dashboard-grid{display:grid;grid-template-columns:1fr 320px;gap:20px}.domain-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.domain-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:18px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;position:relative;overflow:hidden}.domain-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;opacity:0;transition:opacity .15s}.domain-card:hover{background:var(--card-hover);border-color:var(--border-2);transform:translateY(-1px)}.domain-card:hover:before{opacity:1}.domain-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.domain-icon-wrap{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.domain-card-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.3;margin-top:8px}.domain-card-owner{font-size:11px;color:var(--text-3);margin-top:2px}.domain-card-body{display:flex;align-items:center;gap:16px;margin-bottom:14px}.domain-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border)}.domain-footer-meta{display:flex;flex-direction:column;gap:2px}.domain-footer-label{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.3px}.domain-footer-value{font-size:12px;color:var(--text-2)}.risk-mini-bars{display:flex;flex-direction:column;gap:5px;flex:1}.risk-mini-bar-row{display:flex;align-items:center;gap:6px;font-size:11px}.risk-mini-bar-label{width:14px;text-align:right;color:var(--text-3);font-family:JetBrains Mono,monospace}.risk-mini-bar-track{flex:1;height:5px;background:#ffffff0a;border-radius:3px;overflow:hidden}.risk-mini-bar-fill{height:100%;border-radius:3px;transition:width .3s}.risk-mini-bar-count{width:16px;color:var(--text-2);font-family:JetBrains Mono,monospace;font-size:10px}.sidebar{display:flex;flex-direction:column;gap:16px}.panel{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.panel-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.panel-title{font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.panel-count{font-size:11px;background:var(--critical-10);color:var(--critical);border:1px solid rgba(255,51,51,.2);border-radius:10px;padding:1px 7px;font-weight:700}.panel-body{padding:4px 0}.action-item{display:flex;gap:10px;padding:10px 16px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--border);text-decoration:none}.action-item:last-child{border-bottom:none}.action-item:hover{background:var(--card-hover)}.action-item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.action-item-content{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.action-item-title{font-size:12px;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-item-meta{font-size:11px;color:var(--text-3);display:flex;gap:6px}.overdue-tag{color:var(--critical);font-weight:600}.kri-row{padding:10px 16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.kri-row:last-child{border-bottom:none}.kri-header{display:flex;align-items:center;justify-content:space-between}.kri-name{font-size:12px;color:var(--text);font-weight:500}.kri-values{display:flex;gap:6px;align-items:center}.kri-val{font-size:12px;font-family:JetBrains Mono,monospace;font-weight:700}.kri-val.breach{color:var(--critical)}.kri-val.at-risk{color:var(--medium)}.kri-val.within{color:var(--low)}.kri-bar-track{height:4px;background:#ffffff0d;border-radius:2px;overflow:hidden}.kri-bar-fill{height:100%;border-radius:2px}.kri-domain{font-size:10px;color:var(--text-3)}.domain-detail-header{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px;display:flex;gap:24px;align-items:flex-start;margin-bottom:20px}.domain-detail-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.domain-detail-info{flex:1}.domain-detail-title{font-size:22px;font-weight:800;color:var(--text);margin-bottom:4px}.domain-detail-desc{font-size:13px;color:var(--text-2);line-height:1.6;margin-bottom:12px}.domain-detail-meta{display:flex;gap:20px;flex-wrap:wrap}.meta-item{display:flex;flex-direction:column;gap:2px}.meta-label{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:13px;color:var(--text);font-weight:500}.domain-detail-score{flex-shrink:0}.score-ring-wrap{position:relative;display:inline-flex}.score-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.score-ring-number{font-size:26px;font-weight:800;font-family:JetBrains Mono,monospace;line-height:1}.score-ring-sub{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px}.risk-table-wrap{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.risk-table-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.risk-table-title{font-size:14px;font-weight:700;color:var(--text)}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:14px 16px;border-bottom:1px solid rgba(22,35,64,.6);vertical-align:middle}tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer;transition:background .1s}tr.clickable:hover td{background:var(--card-hover)}.risk-name-cell{display:flex;flex-direction:column;gap:3px}.risk-name{font-size:13px;font-weight:600;color:var(--text)}.risk-owner{font-size:11px;color:var(--text-3)}.risk-score-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.score-bar-track{width:80px;height:5px;background:#ffffff0d;border-radius:3px;overflow:hidden}.score-bar-fill{height:100%;border-radius:3px}.control-summary{display:flex;gap:6px;flex-wrap:wrap}.control-dot{width:8px;height:8px;border-radius:50%;title:""}.lifecycle-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize;background:#00d4ff14;color:var(--cyan);border:1px solid rgba(0,212,255,.2)}.lifecycle-badge.respond{background:#ff77301a;color:var(--high);border-color:#ff773040}.lifecycle-badge.assess{background:#ffc1071a;color:var(--medium);border-color:#ffc10740}.lifecycle-badge.monitor{background:#00d4ff14;color:var(--cyan);border-color:#00d4ff33}.kri-section{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-top:20px;overflow:hidden}.kri-section-header{padding:14px 20px;border-bottom:1px solid var(--border);font-size:14px;font-weight:700;color:var(--text)}.kri-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}.kri-card{background:var(--card);padding:16px 20px;display:flex;flex-direction:column;gap:8px}.kri-card-name{font-size:12px;color:var(--text-2);font-weight:500}.kri-card-value{font-size:24px;font-weight:800;font-family:JetBrains Mono,monospace;line-height:1}.kri-card-threshold{font-size:11px;color:var(--text-3)}.kri-status-bar{height:4px;border-radius:2px}.risk-detail{display:flex;flex-direction:column;gap:20px}.risk-detail-header{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px}.risk-detail-title{font-size:20px;font-weight:800;color:var(--text);margin-bottom:8px}.risk-detail-desc{font-size:13px;color:var(--text-2);line-height:1.7;margin-bottom:16px}.risk-detail-meta{display:flex;gap:24px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--border)}.risk-rating-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px}.risk-rating-box{display:flex;flex-direction:column;gap:12px}.risk-rating-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-3);font-weight:600}.risk-rating-main{display:flex;align-items:baseline;gap:10px}.risk-rating-score{font-size:48px;font-weight:900;font-family:JetBrains Mono,monospace;line-height:1}.risk-rating-sub{display:flex;flex-direction:column;gap:6px}.risk-rating-arrow{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-3);font-size:11px}.arrow-line{display:flex;align-items:center;gap:8px;color:var(--low);font-size:12px;font-weight:600}.risk-matrix-row{display:flex;gap:10px;align-items:center;margin-bottom:8px}.risk-matrix-label{font-size:11px;color:var(--text-3);width:80px}.business-impact-box{background:#ff77300f;border:1px solid rgba(255,119,48,.15);border-radius:8px;padding:16px;margin-top:4px}.business-impact-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--high);font-weight:600;margin-bottom:8px}.business-impact-text{font-size:13px;color:var(--text-2);line-height:1.7}.controls-section{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.section-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.section-title{font-size:14px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.effectiveness-bar-track{width:80px;height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden}.effectiveness-bar-fill{height:100%;border-radius:3px}.control-type-badge{display:inline-flex;padding:2px 7px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.control-type-badge.preventive{background:#00d4ff1a;color:var(--cyan)}.control-type-badge.detective{background:#a055f71a;color:#a855f7}.control-type-badge.corrective{background:#ffc1071a;color:var(--medium)}.control-type-badge.compensating{background:#22c55e1a;color:#22c55e}.auto-badge{display:inline-flex;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600}.auto-badge.automated{background:#00d68f1a;color:var(--low)}.auto-badge.semi-automated{background:#ffc1071a;color:var(--medium)}.auto-badge.manual{background:#4a628026;color:var(--na)}.framework-tag{font-size:10px;color:var(--text-3);font-family:JetBrains Mono,monospace}.issues-section{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.issue-row{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:14px}.issue-row:last-child{border-bottom:none}.issue-icon-wrap{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.issue-content{flex:1}.issue-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.issue-root{font-size:12px;color:var(--text-2);margin-bottom:6px;line-height:1.5}.issue-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.issue-meta-item{font-size:11px;color:var(--text-3);display:flex;align-items:center;gap:4px}.issue-overdue{color:var(--critical);font-weight:600}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:8px;color:var(--text-3)}.empty-state-icon{color:var(--low)}.empty-state-text{font-size:13px}.reg-refs{display:flex;gap:6px;flex-wrap:wrap}.reg-ref{font-size:10px;padding:2px 7px;border-radius:3px;background:#00d4ff0f;color:var(--cyan);border:1px solid rgba(0,212,255,.15);font-family:JetBrains Mono,monospace}.section-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.back-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2);cursor:pointer;background:none;border:none;padding:0;font-family:inherit;transition:color .15s;text-decoration:none;margin-bottom:16px}.back-btn:hover{color:var(--cyan)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-2)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{height:56px;background:var(--bg-2);border-bottom:1px solid var(--border-2);display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0;z-index:100}.app-header-brand{display:flex;align-items:center;gap:10px}.app-header-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.3px}.app-header-sub{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.6px}.app-header-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-3);font-family:JetBrains Mono,monospace}.live-badge{color:var(--low);font-weight:700;animation:pulse 2s infinite}.app-body{display:flex;flex:1;overflow:hidden}.app-main{flex:1;overflow-y:auto;padding:24px}.nav-sidebar{width:220px;flex-shrink:0;background:var(--bg-2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:12px 8px;overflow-y:auto;gap:2px}.nav-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-3);font-weight:600;padding:8px 8px 4px}.nav-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:13px;color:var(--text-2);font-weight:500;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:inherit;transition:background .12s,color .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item:hover:not(.disabled){background:var(--card);color:var(--text)}.nav-item.active{background:var(--card);color:var(--cyan);font-weight:600}.nav-item.disabled{opacity:.4;cursor:not-allowed}.nav-domain-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.nav-badge{margin-left:auto;font-size:9px;background:var(--card-elevated);color:var(--text-3);padding:1px 6px;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.dashboard-view{display:flex;flex-direction:column;gap:20px;max-width:1600px}.dashboard-main{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}.domain-grid-section{display:flex;flex-direction:column;gap:12px}.dashboard-sidebar{display:flex;flex-direction:column;gap:16px}.domain-detail-view{display:flex;flex-direction:column;max-width:1400px}.risk-detail-view{display:flex;flex-direction:column;gap:20px;max-width:1400px}.risk-detail-top{display:flex;gap:24px;align-items:flex-start;margin-top:16px}.risk-detail-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.risk-detail-info{flex:1}.risk-detail-badges{display:flex;align-items:center;gap:16px;flex-shrink:0;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:16px 24px}.risk-badge-block{display:flex;flex-direction:column;align-items:center;gap:6px}.risk-badge-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);font-weight:600}.risk-score-num{font-family:JetBrains Mono,monospace;font-size:22px;font-weight:800;color:var(--text)}.risk-badge-arrow{font-size:20px;color:var(--text-3)}.risk-detail-body{display:grid;grid-template-columns:1fr 260px;gap:20px;align-items:start}.risk-detail-main{display:flex;flex-direction:column;gap:20px}.risk-detail-side{display:flex;flex-direction:column;gap:16px}.risk-rating-panel{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.risk-rating-body{padding:20px;display:flex;flex-direction:column;gap:20px}.score-cards{display:flex;align-items:center;gap:16px}.score-card{flex:1;background:var(--bg);border:1px solid;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:6px}.score-card-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);font-weight:600}.score-card-value{font-size:36px;font-weight:900;line-height:1}.score-card-note{font-size:11px;color:var(--text-3)}.score-arrow{display:flex;flex-direction:column;align-items:center;gap:4px}.reduction-badge{font-size:14px;font-weight:800;color:var(--low);text-align:center;font-family:JetBrains Mono,monospace}.rating-dimensions{display:flex;flex-direction:column;gap:10px}.rating-dim-title{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);font-weight:600;margin-bottom:4px}.rating-bar-row{display:flex;align-items:center;gap:12px}.rating-bar-label{font-size:12px;color:var(--text-2);width:100px;flex-shrink:0}.rating-bar-track{flex:1;height:6px;background:#ffffff0a;border-radius:3px;overflow:hidden}.rating-bar-fill{height:100%;border-radius:3px;transition:width .3s}.rating-bar-score{font-size:12px;font-family:JetBrains Mono,monospace;width:30px;text-align:right;flex-shrink:0}.regulatory-refs{display:flex;flex-direction:column;gap:8px}.reg-tags{display:flex;flex-wrap:wrap;gap:6px}.reg-tag{font-size:10px;padding:3px 8px;border-radius:4px;background:var(--cyan-10);color:var(--cyan);border:1px solid rgba(0,212,255,.2);font-family:JetBrains Mono,monospace;font-weight:500}.controls-table-wrap{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.controls-table-header{padding:14px 20px;border-bottom:1px solid var(--border)}.issues-list{display:flex;flex-direction:column}.issue-card{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;transition:background .1s}.issue-card:last-child{border-bottom:none}.issue-card:hover{background:var(--card-hover)}.issue-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.issue-title{font-size:13px;font-weight:600;color:var(--text)}.issue-root-cause{font-size:12px;color:var(--text-2);margin-top:3px;line-height:1.5}.issue-meta-row{display:flex;align-items:center;gap:16px;font-size:11px;color:var(--text-3);flex-wrap:wrap}.remediation-plan{font-size:12px;color:var(--text-2);background:#00d4ff0a;border:1px solid var(--border);border-radius:6px;padding:8px 12px;line-height:1.5}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;gap:12px;text-align:center}.not-found-title{font-size:20px;font-weight:700;color:var(--text)}.not-found-desc{font-size:14px;color:var(--text-2)}.btn-back{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;background:var(--card);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-2);cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}.btn-back:hover{border-color:var(--cyan);color:var(--cyan)}.kri-threshold{font-size:10px;color:var(--text-3)}.resilience-view{display:flex;flex-direction:column;gap:20px;max-width:1600px}.res-banner{background:linear-gradient(135deg,#0d1b30,#0a1a2a,#081520);border:1px solid var(--border-2);border-radius:12px;padding:20px 28px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}.res-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),var(--low),transparent)}.res-banner-top{display:flex;align-items:center;gap:14px}.res-banner-icon{width:48px;height:48px;border-radius:10px;background:#00d4ff14;border:1px solid rgba(0,212,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.res-banner-title{font-size:20px;font-weight:800;color:var(--text)}.res-banner-sub{font-size:11px;color:var(--text-3);margin-top:3px}.res-banner-body{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start}.res-gauges{display:flex;gap:1px;background:var(--border);border-radius:8px;overflow:hidden}.res-gauge{background:var(--card);padding:14px 20px;min-width:160px;display:flex;flex-direction:column;gap:4px}.res-gauge-label{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.res-gauge-value{font-size:18px;font-weight:800;font-family:JetBrains Mono,monospace;line-height:1.2}.res-kpi-row{display:flex;gap:1px;background:var(--border);border-radius:8px;overflow:hidden}.res-kpi{flex:1;background:var(--card);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.res-kpi-value{font-size:17px;font-weight:800;font-family:JetBrains Mono,monospace;line-height:1}.res-kpi-label{font-size:10px;color:var(--text-3)}.resilience-body{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}.resilience-main{display:flex;flex-direction:column;gap:20px}.resilience-side{display:flex;flex-direction:column;gap:16px}.evidence-view{display:flex;flex-direction:column;gap:20px;max-width:1600px}.ev-banner{background:linear-gradient(135deg,#0d2010,#091a10,#060f08);border:1px solid rgba(34,197,94,.25);border-radius:12px;padding:20px 28px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}.ev-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--low),var(--cyan),transparent)}.ev-banner-header{display:flex;align-items:center;gap:14px}.ev-banner-icon{width:48px;height:48px;border-radius:10px;background:#22c55e14;border:1px solid rgba(34,197,94,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ev-banner-title{font-size:20px;font-weight:800;color:var(--text)}.ev-banner-sub{font-size:11px;color:var(--text-3);margin-top:3px}.ev-kpi-row{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:var(--border);border-radius:8px;overflow:hidden}.ev-kpi{background:var(--card);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.ev-kpi-value{font-size:17px;font-weight:800;font-family:JetBrains Mono,monospace;line-height:1}.ev-kpi-label{font-size:10px;color:var(--text-3);line-height:1.3}.evidence-body{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}.evidence-main{display:flex;flex-direction:column;gap:20px}.evidence-side{display:flex;flex-direction:column;gap:16px}.governance-view{display:flex;flex-direction:column;gap:20px;max-width:1600px}.gov-banner{background:linear-gradient(135deg,#0d1b30,#0d2210 60%,#0a1628);border:1px solid var(--border-2);border-radius:12px;padding:20px 28px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}.gov-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--low),var(--cyan),transparent)}.gov-banner-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.gov-banner-icon{width:48px;height:48px;border-radius:10px;background:#00d68f1a;border:1px solid rgba(0,214,143,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0}.gov-banner-title{font-size:20px;font-weight:800;color:var(--text)}.gov-banner-sub{font-size:11px;color:var(--text-3);margin-top:3px}.appetite-breach-alert{display:flex;align-items:center;gap:8px;background:var(--critical-10);border:1px solid rgba(255,51,51,.25);border-radius:8px;padding:10px 16px;font-size:13px;color:var(--text-2);flex-shrink:0}.gov-kpi-row{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border);border-radius:8px;overflow:hidden}.gov-kpi{background:var(--card);padding:12px 16px;display:flex;flex-direction:column;gap:5px;transition:background .15s}.gov-kpi:hover{background:var(--card-hover)}.gov-kpi-value{font-size:20px;font-weight:800;font-family:JetBrains Mono,monospace;line-height:1}.gov-kpi-label{font-size:10px;color:var(--text-3);line-height:1.3}.governance-body{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}.governance-main{display:flex;flex-direction:column;gap:20px}.governance-side{display:flex;flex-direction:column;gap:16px}.decision-row{padding:16px 20px;border-bottom:1px solid var(--border);transition:background .1s}.decision-row:last-child{border-bottom:none}.decision-row:hover{background:var(--card-hover)}.decision-row-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}:root{--purple: #a855f7;--purple-10: rgba(168, 85, 247, .1);--high-10: rgba(255, 119, 48, .1);--high-20: rgba(255, 119, 48, .2)}.ai-governance-view{display:flex;flex-direction:column;gap:20px;max-width:1600px}.ai-banner{background:linear-gradient(135deg,#0d1b30,#130d2a 60%,#0a1628);border:1px solid var(--border-2);border-radius:12px;padding:20px 28px;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden}.ai-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent)}.ai-banner-brand{display:flex;align-items:center;gap:14px}.ai-banner-icon{width:48px;height:48px;border-radius:10px;background:#a855f71a;border:1px solid rgba(168,85,247,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-banner-title{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.3px}.ai-banner-sub{font-size:11px;color:var(--text-3);margin-top:3px;letter-spacing:.3px}.ai-banner-kpis{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:var(--border);border-radius:8px;overflow:hidden}.ai-kpi{background:var(--card);padding:14px 16px;display:flex;flex-direction:column;gap:5px;transition:background .15s}.ai-kpi:hover{background:var(--card-hover)}.ai-kpi-value{font-size:20px;font-weight:800;font-family:JetBrains Mono,monospace;line-height:1}.ai-kpi-label{font-size:10px;color:var(--text-3);line-height:1.3}.ai-body{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}.ai-main{display:flex;flex-direction:column;gap:20px}.ai-side{display:flex;flex-direction:column;gap:16px}.ai-table-wrap{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.ai-table-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.ai-type-badge{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:capitalize;background:var(--cyan-10);color:var(--cyan);border:1px solid rgba(0,212,255,.2)}.ai-type-badge.llm,.ai-type-badge.generative{background:var(--purple-10);color:var(--purple);border-color:#a855f740}.ai-type-badge.ensemble{background:#00d68f14;color:var(--low);border-color:#00d68f33}.ai-type-badge.classification{background:var(--cyan-10);color:var(--cyan)}.ai-type-badge.graph-neural-network{background:#ff773014;color:var(--high);border-color:#ff773033}.ai-expanded-row{background:#0003;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 52px;display:grid;grid-template-columns:repeat(3,1fr) 1fr;gap:20px}.ai-expanded-section{display:flex;flex-direction:column}.ai-expanded-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);font-weight:600;margin-bottom:4px}.ai-expanded-text{font-size:12px;color:var(--text-2);line-height:1.6}.data-tag{font-size:10px;padding:2px 7px;border-radius:4px;background:var(--card-elevated);color:var(--text-2);border:1px solid var(--border-2)}.owasp-tag{font-size:10px;padding:2px 7px;border-radius:4px;background:#ff333314;color:var(--high);border:1px solid rgba(255,119,48,.2);font-family:JetBrains Mono,monospace;font-weight:700}.owasp-row{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.owasp-row:last-child{border-bottom:none}.owasp-row:hover{background:var(--card-hover)}.owasp-row-top{display:flex;align-items:center;justify-content:space-between;gap:12px}@media (max-width: 1200px){.dashboard-main,.risk-detail-body{grid-template-columns:1fr}.posture-stats{grid-template-columns:repeat(3,1fr)}.kri-grid{grid-template-columns:1fr 1fr}.ai-body{grid-template-columns:1fr}.ai-banner-kpis{grid-template-columns:repeat(4,1fr)}.governance-body{grid-template-columns:1fr}.gov-kpi-row{grid-template-columns:repeat(3,1fr)}.resilience-body,.res-banner-body,.evidence-body{grid-template-columns:1fr}.ev-kpi-row{grid-template-columns:repeat(4,1fr)}}@media (max-width: 900px){.nav-sidebar{width:52px}.nav-item span,.nav-section-label,.nav-badge,.nav-domain-dot{display:none}.app-main{padding:16px}}@media (max-width: 768px){.posture-banner{flex-direction:column}.posture-stats{grid-template-columns:repeat(2,1fr)}.domain-grid,.kri-grid{grid-template-columns:1fr}.score-cards,.risk-detail-top{flex-direction:column}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.ai-markdown{font-size:12px;line-height:1.65;color:var(--text)}.ai-markdown h1,.ai-markdown h2,.ai-markdown h3{color:var(--text);margin:10px 0 5px;font-size:13px;font-weight:700}.ai-markdown h2{font-size:12px}.ai-markdown h3{font-size:11px}.ai-markdown p{margin:5px 0}.ai-markdown ul,.ai-markdown ol{padding-left:18px;margin:5px 0}.ai-markdown li{margin:3px 0}.ai-markdown code{background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-family:Courier New,monospace;font-size:11px;color:var(--cyan)}.ai-markdown pre{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;overflow-x:auto;font-size:11px;margin:8px 0}.ai-markdown pre code{background:none;border:none;padding:0}.ai-markdown strong{color:var(--text);font-weight:700}.ai-markdown em{color:var(--text-muted)}.ai-markdown blockquote{border-left:3px solid var(--cyan);padding-left:10px;margin:8px 0;color:var(--text-muted)}.ai-markdown table{border-collapse:collapse;width:100%;margin:8px 0;font-size:11px}.ai-markdown th,.ai-markdown td{border:1px solid var(--border);padding:5px 8px;text-align:left}.ai-markdown th{background:var(--surface);color:var(--text-muted);font-weight:600}
