.report-page { padding: 3rem 0 5rem; min-height: calc(100vh - 68px - 61px); } .report-container { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 1.5rem; } /* ── Empty state (no scan data) ─────────────────────────── */ .report-empty { text-align: center; padding: 4rem 2rem; max-width: 480px; margin: 3rem auto 0; } .report-empty h2 { margin: 0 0 0.6rem; font-size: 1.3rem; } .report-empty p { color: var(--text-secondary); margin: 0 0 1.5rem; } /* ── Severity banner ─────────────────────────────────────── */ .severity-banner { padding: 2rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; border-left: 3px solid var(--severity-none); } .severity-banner.none { border-left-color: var(--severity-none); } .severity-banner.minor { border-left-color: var(--severity-minor); } .severity-banner.moderate { border-left-color: var(--severity-moderate); } .severity-banner.severe { border-left-color: var(--severity-severe); } .severity-banner-left { display: flex; align-items: center; gap: 1.1rem; } .severity-pill { display: inline-flex; align-items: center; padding: 0.4rem 0.95rem; border-radius: var(--radius-full); font-weight: 700; font-size: 0.85rem; } .severity-pill.none { background: rgba(148, 163, 184, 0.12); color: var(--severity-none); } .severity-pill.minor { background: var(--severity-minor-tint); color: var(--severity-minor); } .severity-pill.moderate { background: var(--severity-moderate-tint); color: var(--severity-moderate); } .severity-pill.severe { background: var(--severity-severe-tint); color: var(--severity-severe); } .severity-filename { font-size: 0.85rem; color: var(--text-muted); } .summary-stats { display: flex; gap: 2rem; } .stat { display: flex; flex-direction: column; } .stat-value { font-size: 1.4rem; font-weight: 800; color: var(--text-primary); } .stat-label { font-size: 0.78rem; color: var(--text-muted); } /* ── Findings chips ──────────────────────────────────────── */ .findings { display: flex; flex-wrap: wrap; gap: 0.6rem; padding: 0 2rem 1.5rem; margin-top: -0.5rem; } .finding-chip { display: flex; align-items: center; gap: 0.5rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-full); padding: 0.4rem 0.85rem; font-size: 0.82rem; color: var(--text-secondary); } .finding-chip .swatch { width: 10px; height: 10px; } .finding-chip .count { font-weight: 700; color: var(--text-primary); } /* ── Result image card ───────────────────────────────────── */ .result-header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 1rem; gap: 1rem; padding: 1.5rem 1.5rem 0; } .result-header h3 { margin: 0; font-size: 1rem; } .image-meta { font-size: 0.82rem; color: var(--text-muted); white-space: nowrap; } .result-image-wrap { margin: 0 1.5rem 1.5rem; border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border); background: var(--bg-elevated); } .result-image { display: block; width: 100%; height: auto; } /* ── Detected issues list ────────────────────────────────── */ .detections-card { padding: 1.5rem; } .detections-card h3 { margin: 0 0 1rem; font-size: 1rem; } .detections-list { display: flex; flex-direction: column; } .detection-item { display: flex; align-items: center; gap: 0.85rem; padding: 0.65rem 0; border-bottom: 1px solid var(--border); } .detection-item:last-child { border-bottom: none; } .detection-name { flex: 0 0 130px; font-size: 0.88rem; font-weight: 600; color: var(--text-primary); text-transform: capitalize; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .confidence-track { flex: 1; height: 8px; border-radius: var(--radius-full); background: var(--surface); overflow: hidden; } .confidence-fill { height: 100%; border-radius: var(--radius-full); transition: width 0.4s ease-out; } .confidence-value { flex: 0 0 46px; text-align: right; font-size: 0.85rem; font-weight: 700; color: var(--text-secondary); } /* ── Technical details ───────────────────────────────────── */ details.technical-details { padding: 0 1.5rem; } details.technical-details summary { cursor: pointer; padding: 1rem 0; font-size: 0.9rem; font-weight: 600; color: var(--text-secondary); list-style: none; display: flex; align-items: center; } details.technical-details summary::-webkit-details-marker { display: none; } details.technical-details summary::before { content: "›"; display: inline-block; margin-right: 0.5rem; font-size: 1.1rem; transition: transform 0.15s; } details[open].technical-details summary::before { transform: rotate(90deg); } .advanced-body { padding: 0.25rem 0 1.25rem; } table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; font-size: 0.85rem; } th, td { text-align: left; padding: 0.55rem; border-bottom: 1px solid var(--border); } th { color: var(--text-muted); font-weight: 600; } .downloads { display: flex; gap: 0.75rem; flex-wrap: wrap; } /* ── Bottom CTA ──────────────────────────────────────────── */ .report-cta { text-align: center; padding: 1rem 0 0; }