.setup-diagram { margin: 0; padding: 1rem; border-radius: var(--radius); background: #f8fafc; }
.setup-diagram svg { display: block; width: 100%; max-width: 560px; margin: auto; height: auto; }
.setup-diagram text { fill: var(--color-text); font: 14px var(--font-sans); }
.setup-diagram figcaption { text-align: center; margin-top: .5rem; }
.setup-subheading { margin: 0; font-size: 1.05rem; }
.setup-stack { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.setup-block { padding: .5rem .7rem; border: 1px solid #93c5fd; border-radius: var(--radius); background: #eff6ff; font-family: var(--font-mono); }
.setup-inventory { margin-top: .7rem; }
.setup-table-wrap { overflow-x: auto; border: 1px solid var(--color-border); border-radius: var(--radius); }
.setup-table { width: 100%; border-collapse: collapse; }
.setup-table caption { padding: .75rem; text-align: left; font-weight: 700; }
.setup-table th, .setup-table td { padding: .7rem; text-align: right; border-top: 1px solid var(--color-border); }
.setup-table th { font-size: .85rem; background: #f8fafc; }
.setup-table td { font-family: var(--font-mono); font-size: .9rem; overflow-wrap: anywhere; }
.setup-table th:first-child, .setup-table td:first-child { text-align: left; }
.setup-status { color: var(--color-text-muted); min-height: 1.25rem; font-size: .9rem; }
.setup-range { width: 100%; accent-color: var(--color-primary); }
.tool-form fieldset { min-width: 0; }
.tools-layout > .tool-card + .tool-card { margin-top: 1.25rem; }
