.tools-page { padding-top: 60px; }
.tools-header { padding: var(--space-2xl) 0; border-bottom: 1px solid var(--border); }
.tools-body { padding: var(--space-xl) 0 var(--space-2xl); }

.tools-category { margin-top: var(--space-2xl); }
.tools-category h2 { font-size: 1.6rem; margin-bottom: var(--space-lg); }
.tools-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--space-lg); }

.tool-card { display: flex; flex-direction: column; gap: var(--space-md); }
.tool-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-md); }
.tool-card h3 { font-size: 1.2rem; }
.tool-ns-name { font-family: var(--font-mono); font-size: 0.75rem; color: var(--text-muted); margin-top: calc(var(--space-sm) * -1); }
.tool-version { font-family: var(--font-mono); font-size: 0.8rem; color: var(--text-muted); }
.tool-summary { font-size: 0.95rem; color: var(--text-secondary); flex: 1; }
.tool-note { font-size: 0.85rem; color: var(--text-muted); }
.tool-badges { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.tool-actions { display: flex; align-items: center; gap: var(--space-md); }
.tool-actions .btn:disabled { opacity: 0.5; cursor: not-allowed; }

.tools-install ol { padding-left: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-xs); }
.tools-error { color: var(--text-muted); }

@media (max-width: 768px) {
  .tools-grid { grid-template-columns: 1fr; }
}
