/* IPMI FRU decoder page. Loaded only on /tools/ipmi-fru-decoder/.
   Uses the site's custom properties from /style.css. */

.fru-tool {
  --fru-pass: #15803d;
  --fru-fail: #dc2626;
  --fru-warn: #a16207;
  margin: 28px 0 32px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg);
  box-shadow: var(--shadow-sm);
}
/* The tool and its tables use the full width, not the 72ch prose measure. */
.wrap.prose > .fru-tool { max-width: none; }

.article code {
  font-family: var(--mono); font-size: .88em;
  background: var(--bg-2); padding: 1px 5px; border-radius: 4px;
}

.fru-tool .field textarea.fru-input {
  font-family: var(--mono); font-size: .86rem; line-height: 1.5;
  min-height: 220px; white-space: pre; overflow-wrap: normal; overflow-x: auto;
}
.fru-tool .field input[type="file"] { padding: 9px 12px; }

.fru-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.fru-status { font-size: .88rem; color: var(--muted); margin: 12px 0 0; min-height: 1.4em; }

.fru-output:empty { display: none; }
.fru-output { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 20px; }

.fru-summary {
  border: 1px solid var(--line); border-left-width: 4px; border-radius: 8px;
  padding: 12px 16px; margin-bottom: 16px; background: var(--bg-2);
}
.fru-summary p { margin: 0; font-size: .95rem; }
.fru-summary-good { border-left-color: var(--fru-pass); }
.fru-summary-bad { border-left-color: var(--fru-fail); }
.fru-summary-head { font-weight: 650; color: var(--ink); }

.fru-msgs { border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; background: var(--bg-2); }
.fru-msgs ul { margin: 0; padding-left: 1.3em; }
.fru-msgs li { margin-bottom: 4px; font-size: .92rem; }
.fru-msgs-head { font-weight: 650; margin: 0 0 6px; font-size: .9rem; }
.fru-msgs-err .fru-msgs-head { color: var(--fru-fail); }
.fru-msgs-warn .fru-msgs-head { color: var(--fru-warn); }
.fru-msgs-note { background: var(--accent-sf); }
.fru-msgs-note .fru-msgs-head { color: var(--accent-dk); }

.fru-h3 { font-size: 1.12rem; margin: 28px 0 4px; }
.fru-h4 { font-size: .98rem; margin: 18px 0 6px; color: var(--ink-2); }
.fru-meta { font-size: .85rem; color: var(--muted); margin: 0 0 6px; }
.fru-table { font-size: .88rem; }
.fru-table .fru-off { font-family: var(--mono); color: var(--muted); white-space: nowrap; }
.fru-table .fru-mono { font-family: var(--mono); font-size: .84rem; overflow-wrap: anywhere; }
.fru-table .fru-val { color: var(--ink); overflow-wrap: anywhere; white-space: pre-wrap; }
.fru-row-fail th, .fru-row-fail td { background: rgba(220, 38, 38, .06); }

.fru-badge {
  display: inline-block; font-size: .74rem; font-weight: 700;
  letter-spacing: .03em; text-transform: uppercase;
  padding: 1px 7px; border-radius: 4px; color: #fff;
}
.fru-pass { background: var(--fru-pass); }
.fru-fail { background: var(--fru-fail); }
.fru-warn { background: var(--fru-warn); }

@media (max-width: 600px) {
  .fru-tool { padding: 16px; margin-left: -8px; margin-right: -8px; }
  .fru-actions .btn { flex: 1 1 auto; }
}
