/* Extracted from static/tools/compliance-calc.html; production CSP forbids inline style blocks. */
:root {
            --accent: #10b981;
            --accent-grad: linear-gradient(135deg, #10b981, #06b6d4);
        }

        .comp-layout {
            display: grid;
            grid-template-columns: 1fr 380px;
            gap: var(--space-xl);
            align-items: start;
        }

        .framework-tabs {
            display: flex;
            gap: var(--space-sm);
            margin-bottom: var(--space-xl);
            flex-wrap: wrap;
        }

        .fw-tab {
            padding: var(--space-sm) var(--space-lg);
            border: 1px solid var(--border-color);
            border-radius: 999px;
            cursor: pointer;
            font-size: var(--font-size-sm);
            font-weight: 600;
            transition: all var(--transition-fast);
            color: var(--text-secondary);
        }

        .fw-tab:hover {
            border-color: var(--border-focus);
        }

        .fw-tab.active {
            background: rgba(16, 185, 129, 0.15);
            border-color: rgba(16, 185, 129, 0.4);
            color: #34d399;
        }

        .comp-category {
            margin-bottom: var(--space-lg);
        }

        .comp-cat-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: var(--space-sm);
        }

        .comp-cat-title {
            font-weight: 700;
            font-size: var(--font-size-sm);
        }

        .comp-questions {
            display: flex;
            flex-direction: column;
            gap: var(--space-sm);
        }

        .comp-q {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: var(--space-md);
            border-radius: var(--radius-md);
            background: var(--bg-glass);
            border: var(--glass-border);
            transition: all var(--transition-fast);
        }

        .comp-q:hover {
            background: var(--bg-glass-hover);
        }

        .comp-q-text {
            flex: 1;
            font-size: var(--font-size-sm);
            margin-right: var(--space-md);
        }

        .comp-q-weight {
            font-size: var(--font-size-xs);
            color: var(--text-muted);
            margin-right: var(--space-md);
            font-family: var(--font-mono);
        }

        .comp-btns {
            display: flex;
            gap: 4px;
        }

        .comp-btn {
            width: 36px;
            height: 32px;
            border: 1px solid var(--border-color);
            border-radius: var(--radius-sm);
            cursor: pointer;
            font-size: var(--font-size-xs);
            background: transparent;
            color: var(--text-muted);
            transition: all var(--transition-fast);
        }

        .comp-btn:hover {
            border-color: var(--border-focus);
        }

        .comp-btn.yes {
            background: rgba(16, 185, 129, 0.2);
            border-color: rgba(16, 185, 129, 0.4);
            color: #34d399;
        }

        .comp-btn.no {
            background: rgba(239, 68, 68, 0.2);
            border-color: rgba(239, 68, 68, 0.4);
            color: #f87171;
        }

        .comp-btn.partial {
            background: rgba(245, 158, 11, 0.2);
            border-color: rgba(245, 158, 11, 0.4);
            color: #fbbf24;
        }

        .gauge-wrapper {
            text-align: center;
            padding: var(--space-lg) 0;
        }

        .gauge-score {
            font-size: 4rem;
            font-weight: 800;
            font-family: var(--font-mono);
            transition: color 0.5s ease;
        }

        .gauge-label {
            font-size: var(--font-size-sm);
            color: var(--text-muted);
        }

        .gauge-grade {
            display: inline-block;
            padding: var(--space-sm) var(--space-xl);
            border-radius: 999px;
            font-weight: 700;
            margin-top: var(--space-sm);
            transition: all 0.5s ease;
        }

        .rec-item {
            padding: var(--space-sm);
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            font-size: var(--font-size-xs);
        }

        .rec-item:last-child {
            border-bottom: none;
        }

        @media (max-width: 900px) {
            .comp-layout {
                grid-template-columns: 1fr;
            }
        }
.ra-csp-compliance-calc-01 { display:flex; align-items:center; gap:6px; }
.ra-csp-compliance-calc-02 { background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.2);color:#34d399; }
.ra-csp-compliance-calc-03 { background:#10b981; }
.ra-csp-compliance-calc-04 { display:none; }
.ra-csp-compliance-calc-05 { margin-top:var(--space-md); }
.ra-csp-compliance-calc-06 { color:#10b981; }
.ra-csp-compliance-calc-07 { color:#f59e0b; }
.ra-csp-compliance-calc-08 { color:#ef4444; }
.ra-csp-compliance-calc-09 { margin-bottom:var(--space-md); }
.ra-csp-compliance-calc-10 { margin-bottom:var(--space-md); }
