.data-shell { min-height: 52vh; }
.data-status {
  border: 1px solid var(--line);
  background: var(--surface);
  padding: 1rem 1.15rem;
  color: var(--muted);
  margin-bottom: 1.5rem;
}
.data-status[data-tone="error"] { border-color: #9d4f46; color: #7b3029; }
.data-status[data-tone="ok"] { border-color: rgba(30, 58, 47, 0.3); color: var(--forest); }
.data-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.data-card { border: 1px solid var(--line); background: var(--surface); padding: 1.35rem; }
.data-card h2, .data-card h3 { margin: 0 0 0.5rem; font-family: var(--serif); }
.data-card p { margin: 0.35rem 0; color: var(--ink-2); }
.data-card .data-meta { color: var(--muted); font-size: 0.9rem; }
.data-card .data-count { font-size: 1.9rem; font-family: var(--serif); color: var(--forest); }
.data-card .btn { margin-top: 1rem; }
.result-badge { display: inline-block; padding: 0.25rem 0.55rem; font-size: 0.72rem; letter-spacing: 0.09em; text-transform: uppercase; border: 1px solid var(--line); }
.result-badge[data-result="pass"] { color: var(--forest); border-color: rgba(30, 58, 47, 0.35); }
.result-badge[data-result="fail"] { color: #7b3029; border-color: #9d4f46; }
.lot-form { display: flex; gap: 0.7rem; max-width: 48rem; margin-bottom: 2rem; }
.lot-form input { flex: 1; min-width: 0; padding: 0.8rem; border: 1px solid var(--line); background: var(--surface); font: inherit; text-transform: uppercase; }
.lot-form .btn { flex: 0 0 auto; }
.source-note { margin-top: 1.5rem; color: var(--muted); font-size: 0.85rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .data-grid { grid-template-columns: 1fr; }
  .lot-form { flex-direction: column; }
}
