/* Extracted from static/tools/risk-matrix.html; production CSP forbids inline style blocks. */
:root {
            --accent: var(--accent-isg);
            --accent-grad: var(--grad-isg);
        }

        .matrix-wrapper {
            display: grid;
            grid-template-columns: 1fr 320px;
            gap: var(--space-xl);
            align-items: start;
        }

        .matrix-grid-wrapper {
            position: relative;
        }

        .matrix-axis-label {
            position: absolute;
            font-size: var(--font-size-xs);
            font-weight: 700;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        .matrix-axis-y {
            left: -15px;
            top: 50%;
            transform: rotate(-90deg) translateX(-50%);
            transform-origin: 0 0;
        }

        .matrix-axis-x {
            bottom: -30px;
            left: 50%;
            transform: translateX(-50%);
        }

        .risk-legend {
            display: grid;
            grid-template-columns: 1fr;
            gap: var(--space-sm);
        }

        .legend-item {
            display: flex;
            align-items: center;
            gap: var(--space-md);
            padding: var(--space-sm) var(--space-md);
            border-radius: var(--radius-md);
            transition: all var(--transition-fast);
        }

        .legend-item:hover {
            background: var(--bg-glass-hover);
        }

        .legend-color {
            width: 32px;
            height: 24px;
            border-radius: 6px;
            flex-shrink: 0;
        }

        .legend-info {
            flex: 1;
        }

        .legend-label {
            font-size: var(--font-size-sm);
            font-weight: 600;
        }

        .legend-range {
            font-size: var(--font-size-xs);
            color: var(--text-muted);
        }

        .selected-info {
            background: rgba(96, 165, 250, 0.05);
            border: 1px solid rgba(96, 165, 250, 0.15);
            border-radius: var(--radius-lg);
            padding: var(--space-lg);
            animation: fadeInUp 0.3s ease;
        }

        .selected-risk-score {
            font-size: 3.5rem;
            font-weight: 800;
            font-family: var(--font-mono);
            text-align: center;
            line-height: 1;
            margin: var(--space-md) 0;
        }

        .selected-detail {
            display: flex;
            justify-content: space-between;
            padding: var(--space-sm) 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            font-size: var(--font-size-sm);
        }

        .selected-detail:last-child {
            border-bottom: none;
        }

        .selected-detail-label {
            color: var(--text-muted);
        }

        .selected-detail-value {
            font-weight: 600;
        }

        .risk-entries {
            margin-top: var(--space-lg);
        }

        .risk-entry {
            display: flex;
            align-items: center;
            gap: var(--space-md);
            padding: var(--space-md);
            background: var(--bg-glass);
            border: var(--glass-border);
            border-radius: var(--radius-md);
            margin-bottom: var(--space-sm);
            animation: fadeInUp 0.3s ease;
        }

        .risk-entry-score {
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: var(--radius-sm);
            font-weight: 800;
            font-family: var(--font-mono);
            font-size: var(--font-size-sm);
        }

        .risk-entry-desc {
            flex: 1;
            font-size: var(--font-size-sm);
        }

        .risk-entry-name {
            font-weight: 600;
        }

        .risk-entry-meta {
            font-size: var(--font-size-xs);
            color: var(--text-muted);
        }

        .risk-entry-remove {
            background: none;
            border: none;
            color: var(--text-muted);
            cursor: pointer;
            font-size: 1.2rem;
            padding: 4px;
            transition: color var(--transition-fast);
        }

        .risk-entry-remove:hover {
            color: #ef4444;
        }

        @media (max-width: 900px) {
            .matrix-wrapper {
                grid-template-columns: 1fr;
            }
        }
.ra-csp-risk-matrix-01 { display:flex; align-items:center; gap:6px; }
.ra-csp-risk-matrix-02 { margin-top: var(--space-xl); }
.ra-csp-risk-matrix-03 { font-size: var(--font-size-sm); color: var(--text-muted); margin-bottom: var(--space-sm); }
.ra-csp-risk-matrix-04 { background: rgba(16, 185, 129, 0.4); }
.ra-csp-risk-matrix-05 { color: #34d399; }
.ra-csp-risk-matrix-06 { background: rgba(34, 197, 94, 0.4); }
.ra-csp-risk-matrix-07 { color: #4ade80; }
.ra-csp-risk-matrix-08 { background: rgba(245, 158, 11, 0.4); }
.ra-csp-risk-matrix-09 { color: #fbbf24; }
.ra-csp-risk-matrix-10 { background: rgba(239, 68, 68, 0.4); }
.ra-csp-risk-matrix-11 { color: #f87171; }
.ra-csp-risk-matrix-12 { background: rgba(220, 38, 38, 0.5); }
.ra-csp-risk-matrix-13 { color: #fca5a5; }
.ra-csp-risk-matrix-14 { background: var(--grad-cyan); }
.ra-csp-risk-matrix-15 { text-align: center; padding: var(--space-xl) 0; color: var(--text-muted); }
.ra-csp-risk-matrix-16 { font-size: 3rem; margin-bottom: var(--space-sm); }
.ra-csp-risk-matrix-17 { display: none; }
.ra-csp-risk-matrix-18 { margin-bottom: var(--space-md); }
.ra-csp-risk-matrix-19 { margin-bottom: var(--space-md); }
.ra-csp-risk-matrix-20 { margin-bottom: var(--space-md); }
.ra-csp-risk-matrix-21 { margin-bottom: var(--space-md); }
.ra-csp-risk-matrix-22 { color: var(--text-muted); }
.ra-csp-risk-matrix-23 { gap: var(--space-sm); }
.ra-csp-risk-matrix-24 { text-align: center; padding: var(--space-lg) 0; color: var(--text-muted); font-size: var(--font-size-sm); }
.ra-csp-risk-matrix-25 { display: none; margin-top: var(--space-md); }
.ra-csp-risk-matrix-26 { color: #ef4444; }
.ra-csp-risk-matrix-27 { color: #f59e0b; }
.ra-csp-risk-matrix-28 { color: #10b981; }
.ra-csp-risk-matrix-29 { margin-top:var(--space-xl); }
.ra-csp-risk-matrix-30 { background:linear-gradient(135deg,#8b5cf6,#6366f1); }
