diff --git a/docs/access-map-viewer/index.html b/docs/access-map-viewer/index.html index f2809c0..0acb211 100644 --- a/docs/access-map-viewer/index.html +++ b/docs/access-map-viewer/index.html @@ -853,6 +853,212 @@ .hidden { display: none !important; } + /* Blast Radius (finding detail) */ + .blast-radius { + margin-top: 20px; + border: 1px solid var(--border); + border-radius: var(--radius); + overflow: hidden; + } + + .blast-radius__header { + padding: 12px 16px; + background: var(--surface-strong); + border-bottom: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; + } + + .blast-radius__header h4 { + margin: 0; + font-size: 14px; + font-weight: 700; + display: flex; + align-items: center; + gap: 8px; + } + + .blast-radius__body { + padding: 16px; + } + + .risk-rationale { + padding: 12px 16px; + border-radius: 6px; + font-size: 13px; + line-height: 1.6; + margin-bottom: 14px; + } + + .risk-rationale.critical { + background: #fef2f2; + border: 1px solid #fecaca; + color: #991b1b; + } + + .risk-rationale.high { + background: #fff7ed; + border: 1px solid #fed7aa; + color: #9a3412; + } + + .risk-rationale.medium { + background: #fffbeb; + border: 1px solid #fde68a; + color: #92400e; + } + + .risk-rationale.low { + background: #f0fdf4; + border: 1px solid #bbf7d0; + color: #166534; + } + + .risk-rationale.none { + background: var(--surface-muted); + border: 1px solid var(--border); + color: var(--text-muted); + } + + :root[data-theme="dark"] .risk-rationale.critical { + background: rgba(239, 68, 68, 0.1); + border-color: rgba(239, 68, 68, 0.3); + color: #fca5a5; + } + + :root[data-theme="dark"] .risk-rationale.high { + background: rgba(249, 115, 22, 0.1); + border-color: rgba(249, 115, 22, 0.3); + color: #fdba74; + } + + :root[data-theme="dark"] .risk-rationale.medium { + background: rgba(234, 179, 8, 0.1); + border-color: rgba(234, 179, 8, 0.3); + color: #fde68a; + } + + :root[data-theme="dark"] .risk-rationale.low { + background: rgba(34, 197, 94, 0.1); + border-color: rgba(34, 197, 94, 0.3); + color: #86efac; + } + + :root[data-theme="dark"] .risk-rationale.none { + background: var(--surface-muted); + border-color: var(--border); + color: var(--text-muted); + } + + .blast-identity { + padding: 10px 14px; + border: 1px solid var(--border); + border-radius: 6px; + background: var(--surface-muted); + margin-bottom: 10px; + } + + .blast-identity__header { + display: flex; + align-items: center; + gap: 8px; + font-weight: 600; + font-size: 14px; + margin-bottom: 8px; + } + + .blast-resource-list { + list-style: none; + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + gap: 6px; + } + + .blast-resource-item { + padding: 8px 12px; + border: 1px solid var(--border); + border-radius: 6px; + background: var(--surface); + font-size: 13px; + } + + .blast-resource-name { + font-weight: 600; + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; + font-size: 12px; + word-break: break-all; + } + + .blast-perms { + display: flex; + flex-wrap: wrap; + gap: 4px; + margin-top: 6px; + } + + .blast-perm-tag { + padding: 2px 6px; + border-radius: 4px; + font-size: 11px; + font-weight: 600; + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; + background: #ecfdf5; + color: #16a34a; + border: 1px solid #bbf7d0; + } + + :root[data-theme="dark"] .blast-perm-tag { + background: rgba(34, 197, 94, 0.1); + color: #86efac; + border-color: rgba(34, 197, 94, 0.3); + } + + /* Scan metadata bar */ + .scan-meta-bar { + display: flex; + flex-wrap: wrap; + gap: 16px; + padding: 14px 20px; + background: var(--surface-muted); + border: 1px solid var(--border); + border-radius: var(--radius); + font-size: 13px; + color: var(--text-muted); + } + + .scan-meta-item { + display: flex; + align-items: center; + gap: 6px; + } + + .scan-meta-item strong { + color: var(--text-main); + font-weight: 600; + } + + /* Report type selector */ + .report-type-group { + display: flex; + flex-direction: column; + gap: 6px; + padding: 12px 0; + border-top: 1px solid var(--border); + margin-top: 8px; + } + + .report-type-group label { + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--text-muted); + font-weight: 600; + } + .loading-overlay { position: fixed; inset: 0; @@ -961,21 +1167,39 @@ Findings -