.lint-wrap { max-width: 900px; margin: 0 auto; padding: 24px; }
.lint-hero { margin-bottom: 24px; }
.lint-hero h2 { font-size: 22px; font-weight: 700; margin: 0 0 4px; }
.lint-sub { color: var(--text-secondary); font-size: 13px; margin: 0; }
.lint-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
.lint-card { background: var(--bg-elevated); border-radius: 10px; padding: 16px; text-align: center; border: 1px solid var(--border); }
.lint-num { font-size: 28px; font-weight: 800; }
.lint-lbl { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--text-secondary); margin-top: 4px; }
.lint-ok .lint-num { color: #22c55e; }
.lint-bad .lint-num { color: #ef4444; }
.lint-warn .lint-num { color: #f59e0b; }
.lint-total .lint-num { color: var(--text-primary); }
.lint-bar-wrap { margin-bottom: 24px; }
.lint-bar-label { font-size: 13px; margin-bottom: 6px; }
.lint-bar-bg { height: 10px; background: var(--bg-elevated); border-radius: 5px; overflow: hidden; }
.lint-bar-fill { height: 100%; border-radius: 5px; transition: width .4s ease; }
.lint-section { margin-bottom: 24px; }
.lint-section h3 { font-size: 15px; font-weight: 700; margin: 0 0 10px; }
.lint-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.lint-table th { text-align: left; padding: 6px 8px; border-bottom: 2px solid var(--border); font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--text-secondary); }
.lint-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); vertical-align: top; }
.lint-table code { background: var(--bg-elevated); padding: 1px 4px; border-radius: 3px; font-size: 11px; }
.lint-issue { color: #ef4444; font-weight: 600; }
.lint-table tbody tr:hover { background: var(--bg-hover); }
.lint-error { padding: 40px; text-align: center; }
.lint-error h3 { color: var(--text-secondary); }
.lint-error pre { font-size: 11px; color: var(--text-tertiary); }
