* { box-sizing: border-box; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; }
body { margin: 0; background: #f7f7f8; color: #111; }
.wrap { padding: 12px; }

.header { margin-bottom: 10px; }
.title { font-size: 16px; font-weight: 700; }
.sub { font-size: 12px; color: #666; margin-top: 2px; }

.card { background: #fff; border: 1px solid #e6e6e9; border-radius: 10px; padding: 10px; }
.label { display: block; font-size: 12px; color: #444; margin: 10px 0 6px; }

select, input {
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #d8d8dd;
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
}
input { outline: none; }
input:focus, select:focus { border-color: #9aa4ff; }

button {
  width: 100%;
  margin-top: 10px;
  padding: 10px 12px;
  border: 0;
  border-radius: 8px;
  background: #111;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
button:disabled { opacity: 0.6; cursor: not-allowed; }

.status { margin-top: 10px; font-size: 12px; color: #666; }

.results { margin-top: 12px; }
.resultsHead { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 8px; }
.resultsTitle { font-size: 13px; font-weight: 700; }
.count { font-size: 12px; color: #666; }

.item {
  border: 1px solid #efeff2;
  border-radius: 10px;
  padding: 10px;
  margin-bottom: 10px;
  background: #fcfcfd;
}
.kv { font-size: 12px; line-height: 1.5; margin: 2px 0; }
.k { color: #444; font-weight: 700; }
.v { color: #111; word-break: break-word; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; }
.empty { font-size: 12px; color: #666; padding: 8px 0; }
.err { color: #b00020; }