.sptl-batch-app {
  max-width: 980px;
  margin: 0 auto;
}

.sptl-head {
  margin-bottom: 18px;
}

.sptl-head h3 {
  margin-bottom: 6px;
}

.sptl-head p {
  margin: 0;
  opacity: 0.8;
}

.sptl-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.sptl-row {
  border: 1px solid #d9d9d9;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 16px;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.sptl-row.is-active {
  border-color: #a3c4ff;
  background: #f8fbff;
}

.sptl-row.is-complete {
  border-color: #91c483;
  background: #f6fff4;
}

.sptl-row label,
.sptl-meta label {
  display: block;
  margin-bottom: 12px;
}

.sptl-row span,
.sptl-meta span {
  display: inline-block;
  margin-bottom: 6px;
  font-weight: 600;
}

.sptl-row input,
.sptl-row textarea,
.sptl-meta input,
.sptl-meta select {
  width: 100%;
  padding: 10px 12px;
  box-sizing: border-box;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  background: #fff;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.sptl-row input:focus,
.sptl-row textarea:focus,
.sptl-meta input:focus,
.sptl-meta select:focus {
  outline: none;
  border-color: #7aa7ff;
  box-shadow: 0 0 0 3px rgba(122, 167, 255, 0.18);
}

.sptl-row input.is-filled,
.sptl-row textarea.is-filled,
.sptl-meta input.is-filled,
.sptl-meta select.is-filled {
  background: #eaf7ea;
  border-color: #7fbc7f;
}

.sptl-row input.is-invalid,
.sptl-row textarea.is-invalid,
.sptl-meta input.is-invalid,
.sptl-meta select.is-invalid {
  background: #fff0f0;
  border-color: #d9534f;
  box-shadow: 0 0 0 3px rgba(217, 83, 79, 0.12);
}

.sptl-row-head,
.sptl-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.sptl-toolbar {
  margin-top: 8px;
}

.sptl-toolbar button,
.sptl-row-head button {
  padding: 10px 14px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  cursor: pointer;
  background: #fff;
}

.sptl-toolbar button:hover,
.sptl-row-head button:hover {
  background: #f7f7f7;
}

.sptl-note-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.sptl-note-row .sptl-note {
  flex: 1;
  width: auto;
  min-width: 0;
}

.sptl-voice-wrap {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.sptl-voice-note,
.sptl-voice-hint {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: #fff;
  font-size: 14px;
  line-height: 1.2;
}

.sptl-voice-note {
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.sptl-voice-note:hover {
  background: #f0f8ff;
  border-color: #7aa7ff;
}

.sptl-voice-note.is-recording {
  background: #fff7e6;
  border-color: #f0ad4e;
}

.sptl-voice-hint {
  color: #555;
  background: #f8f9fa;
  border-color: #ced4da;
}


.sptl-meta-input {
  margin-top: 8px;
}

.sptl-result-row {
  border: 1px solid #dfe8df;
  border-radius: 10px;
  padding: 12px;
  margin-top: 12px;
  background: #f8fff8;
}