/* Deliberately minimal: functional prototype, no design system, no webfonts.
   Keeping CSS tiny matters on 3G and on low-end Android rendering. */
* { box-sizing: border-box; }
body {
  margin: 0;
  padding: 16px;
  font: 16px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #111;
  background: #fff;
  -webkit-text-size-adjust: 100%;
}
main { max-width: 640px; margin: 0 auto; }
h1 { font-size: 20px; margin: 0 0 4px; }
.muted { color: #666; margin: 0 0 16px; }
.small { font-size: 13px; }
.err { color: #b00020; }

input[type="text"] {
  width: 100%;
  padding: 14px;
  font-size: 18px;
  text-transform: uppercase;
  border: 1px solid #999;
  border-radius: 6px;
  margin-bottom: 12px;
}
button, .btn {
  display: inline-block;
  padding: 14px 18px;
  font-size: 16px;
  border: 1px solid #333;
  border-radius: 6px;
  background: #f4f4f4;
  cursor: pointer;
  /* 44px+ touch targets; low-end Android users tap imprecisely */
  min-height: 48px;
}
button[disabled] { opacity: 0.5; }
.actions { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }

.counts { font-size: 14px; margin: 8px 0; }

ul#list { list-style: none; padding: 0; margin: 16px 0 0; }
ul#list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid #eee;
  font-size: 13px;
}
ul#list .name {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
ul#list progress { width: 72px; height: 8px; }
ul#list .st { width: 96px; text-align: right; color: #555; }
ul#list .st.ok { color: #0a7d32; }
ul#list .st.bad { color: #b00020; }
ul#list button { padding: 4px 8px; min-height: 0; font-size: 12px; }
