/*!
 * Infrastructure Tools — what the six tools need beyond Public Tools' shared
 * styles (tools.css, loaded first). Plain CSS, it- prefix.
 */
.it-mt { margin-top: .75rem; }
.it-mb { margin-bottom: .75rem; }
.it-stack { display: flex; flex-direction: column; gap: .5rem; }
.it-stack .pt-note { margin: 0; }
.it-tight { margin-top: .5rem; }
.it-muted { color: var(--pt-muted, #64748b); font-weight: 400; }
.it-right { text-align: right; }
.it-content { margin-top: .5rem; }

/* Field rows: an input that grows next to a compact one. */
.it-inline { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: flex-start; }
.it-grow { flex: 1 1 16rem; }
.it-self-end { align-self: flex-end; padding-bottom: .55rem; }
.it-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 720px) { .it-grid3 { grid-template-columns: minmax(0, 1fr); } }

/* A number with its unit select joined to it. */
.it-unit { display: flex; gap: .4rem; }
.it-unit .pt-input { flex: 1 1 auto; min-width: 0; }
.it-unit .pt-select { flex: 0 0 auto; width: auto; }

/* One-line results with a copy button. */
.it-result { display: flex; align-items: center; gap: .5rem; }
.it-result .pt-input { flex: 1 1 auto; min-width: 0; }

.it-big { font-size: 1.15rem; letter-spacing: .02em; }
.it-answer { margin: .65rem 0 0; font-size: 1rem; font-weight: 600; color: var(--pt-ink, #0f172a); }
.it-answer:empty { display: none; }
.it-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.it-fieldset legend { padding: 0; margin-bottom: .35rem; font-size: .875rem; font-weight: 600; color: var(--pt-ink, #0f172a); }
.pt-ui .pt-btn[aria-pressed="true"] { background: var(--pt-accent-soft, #eff6ff); border-color: var(--pt-accent-line, #bfdbfe); color: var(--pt-accent-strong, #1d4ed8); }

/* Tables. */
.it-scroll { max-height: 26rem; overflow: auto; }
.pt-ui .it-caption { caption-side: top; text-align: left; padding: .55rem .75rem; font-size: .8125rem; font-weight: 600; color: var(--pt-muted, #64748b); background: var(--pt-soft, #f8fafc); }
.pt-ui .pt-table tr.it-hl > * { background: var(--pt-accent-soft, #eff6ff); }
.pt-ui .pt-table th[scope="row"] { font-weight: 600; white-space: nowrap; }

/* Chmod: the permission grid. */
.it-perm td, .it-perm th { text-align: center; }
.it-perm th[scope="row"] { text-align: left; }
.it-perm .pt-check { justify-content: center; }
.it-perm input[type="checkbox"] { width: 1.15rem; height: 1.15rem; }

/* RAID: data vs redundancy. */
.it-bar { display: flex; height: 1.9rem; border-radius: var(--pt-radius-sm, .5rem); overflow: hidden; border: 1px solid var(--pt-line, #e2e8f0); font-size: .78rem; font-weight: 600; }
.it-bar:empty { display: none; }
.it-bar > span { display: flex; align-items: center; justify-content: center; white-space: nowrap; overflow: hidden; }
.it-bar__data { background: var(--pt-accent, #2563eb); color: #fff; }
.it-bar__parity { background: repeating-linear-gradient(135deg, #e2e8f0 0 6px, #f1f5f9 6px 12px); color: #334155; }
