*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  padding: 2.5rem 1rem 3rem;
  background: #dedad2;
  font-family: Arial, sans-serif;
}
.header {
  width: min(480px, 92vw);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}
h1 {
  font-family: 'Courier New', Courier, monospace;
  font-size: clamp(0.9rem, 2.5vw, 1.3rem);
  font-weight: normal;
  letter-spacing: .15em;
  color: #4a4a4a;
  white-space: nowrap;
}
.subtitle {
  font-family: 'Courier New', Courier, monospace;
  font-size: clamp(0.7rem, 1.8vw, 1rem);
  color: #6a6a6a;
  white-space: nowrap;
}
.sheet {
  width: min(480px, 92vw);
  background: #f7f4ee;
  padding: 1.5rem 2rem;
  box-shadow: 0 2px 6px rgba(0,0,0,.15), 0 8px 24px rgba(0,0,0,.12);
}
ol {
  list-style: none;
  counter-reset: grid-counter;
  display: flex;
  flex-direction: column;
  gap: 0;
}
li {
  counter-increment: grid-counter;
  border-bottom: 1px solid #e0dbd2;
}
li:last-child { border-bottom: none; }
.grid-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 0.25rem;
  text-decoration: none;
  color: #2e2e2e;
  font-family: 'Courier New', Courier, monospace;
  font-size: clamp(0.75rem, 2vw, 0.92rem);
  letter-spacing: .02em;
  transition: background .1s;
}
.grid-link::before {
  content: counter(grid-counter, decimal-leading-zero);
  font-size: 0.7em;
  color: #aaa;
  min-width: 2ch;
  text-align: right;
}
.grid-link:hover {
  background: #ede9e0;
  border-radius: 3px;
}
.status-badge {
  margin-left: auto;
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.72rem;
  font-weight: normal;
  white-space: nowrap;
  flex-shrink: 0;
}
.status-badge.success    { color: #16a34a; }
.status-badge.failed     { color: #c2410c; }
.status-badge.incomplete { color: #9ca3af; }
.back-link {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.8rem;
  color: #888;
  text-decoration: none;
  letter-spacing: .04em;
}
.back-link:hover { color: #4a4a4a; text-decoration: underline; }
