YashashviAlva's picture
Initial commit for HF Spaces deploy
7b4f5dd
/* ═══════════════════════════════════════════════════════════════
FindingCard.css β€” Finding card styles with diff viewer
═══════════════════════════════════════════════════════════════ */
.finding-card {
padding: var(--space-md);
margin-bottom: var(--space-sm);
cursor: default;
}
.finding-card-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: var(--space-sm);
cursor: pointer;
}
.finding-header-left {
display: flex;
align-items: center;
gap: var(--space-sm);
}
.finding-agent-icon {
font-size: 1rem;
opacity: 0.7;
}
.finding-header-right {
display: flex;
align-items: center;
gap: var(--space-sm);
}
.expand-btn {
background: none;
border: none;
color: var(--text-secondary);
cursor: pointer;
font-size: 1rem;
padding: 4px;
transition: color var(--transition-fast);
}
.expand-btn:hover {
color: var(--cyan);
}
.finding-title-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-sm);
margin-bottom: var(--space-xs);
}
.finding-title {
font-size: 0.95rem;
font-weight: 600;
color: var(--text-primary);
line-height: 1.3;
}
.finding-id {
font-size: 0.7rem;
color: var(--text-tertiary);
flex-shrink: 0;
}
.finding-description {
font-size: 0.82rem;
color: var(--text-secondary);
line-height: 1.5;
margin-bottom: var(--space-sm);
}
.finding-location {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 4px 10px;
background: rgba(255, 255, 255, 0.03);
border-radius: var(--radius-sm);
margin-bottom: var(--space-sm);
}
.location-icon {
font-size: 0.8rem;
}
.location-path {
font-size: 0.75rem;
color: var(--cyan);
}
.location-line {
font-size: 0.75rem;
color: var(--medium);
}
/* ── Expanded Details ──────────────────────────────────────── */
.finding-details {
border-top: 1px solid var(--border-primary);
padding-top: var(--space-md);
margin-top: var(--space-sm);
}
.code-section-label {
font-family: var(--font-mono);
font-size: 0.72rem;
color: var(--text-tertiary);
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: var(--space-sm);
}
.finding-code-section {
margin-bottom: var(--space-md);
}
.finding-code-section .code-block pre {
margin: 0;
white-space: pre-wrap;
word-break: break-all;
}
.finding-code-section .code-block code {
color: var(--critical);
}
.finding-suggestion {
margin-bottom: var(--space-md);
padding: var(--space-md);
background: rgba(0, 240, 255, 0.04);
border: 1px solid rgba(0, 240, 255, 0.1);
border-radius: var(--radius-md);
}
.finding-suggestion p {
font-size: 0.82rem;
color: var(--text-secondary);
line-height: 1.5;
}
/* ── Diff Viewer ───────────────────────────────────────────── */
.finding-fix-preview {
margin-top: var(--space-md);
}
.diff-container {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: var(--space-sm);
align-items: stretch;
margin-bottom: var(--space-sm);
}
.diff-panel {
min-width: 0;
}
.diff-header {
font-family: var(--font-mono);
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.08em;
padding: 6px 10px;
border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}
.diff-before .diff-header {
background: var(--critical-bg);
color: var(--critical);
}
.diff-after .diff-header {
background: var(--low-bg);
color: var(--low);
}
.diff-panel .code-block {
border-radius: 0 0 var(--radius-sm) var(--radius-sm);
min-height: 60px;
font-size: 0.75rem;
}
.diff-panel .code-block pre {
margin: 0;
white-space: pre-wrap;
word-break: break-all;
}
.diff-before .code-block code {
color: var(--critical);
}
.diff-after .code-block code {
color: var(--low);
}
.diff-arrow {
display: flex;
align-items: center;
justify-content: center;
color: var(--text-tertiary);
font-size: 1.2rem;
padding-top: 24px;
}
.fix-explanation {
font-size: 0.8rem;
color: var(--text-secondary);
line-height: 1.5;
padding: var(--space-sm) var(--space-md);
background: rgba(0, 255, 136, 0.04);
border-radius: var(--radius-sm);
border-left: 3px solid var(--low);
}
/* ── Actions ───────────────────────────────────────────────── */
.finding-actions {
display: flex;
align-items: center;
gap: var(--space-sm);
margin-top: var(--space-sm);
}
.fix-available-tag {
display: inline-flex;
align-items: center;
gap: 4px;
font-family: var(--font-mono);
font-size: 0.7rem;
color: var(--medium);
opacity: 0.8;
}
.fix-ready-tag {
display: inline-flex;
align-items: center;
gap: 4px;
font-family: var(--font-mono);
font-size: 0.7rem;
color: var(--low);
}
/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 768px) {
.diff-container {
grid-template-columns: 1fr;
}
.diff-arrow {
transform: rotate(90deg);
padding-top: 0;
}
}