* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #0f1115;
  color: #f2f3f5;
  min-height: 100vh;
}

main {
  max-width: 420px;
  margin: 0 auto;
  padding: 32px 20px;
}

h1 { font-size: 28px; margin-bottom: 4px; }
.subtitle { color: #9aa0a8; margin-top: 0; }

form { display: flex; flex-direction: column; gap: 6px; margin-top: 24px; }

label { font-size: 14px; color: #c3c7cd; margin-top: 12px; }

input {
  font-size: 18px;
  padding: 14px;
  border-radius: 10px;
  border: 1px solid #3a3f47;
  background: #1a1d23;
  color: #f2f3f5;
}

button {
  margin-top: 24px;
  font-size: 18px;
  font-weight: 600;
  padding: 16px;
  border-radius: 12px;
  border: none;
  background: #2f6fed;
  color: white;
}

button:disabled { background: #3a3f47; color: #8b909a; }

.error { color: #ff6b6b; }
.note { color: #9aa0a8; font-size: 14px; }

.dashboard { text-align: center; }
.greeting { font-size: 20px; margin-bottom: 32px; }

.record-btn {
  width: 100%;
  padding: 28px;
  font-size: 20px;
  border-radius: 16px;
}

.dashboard a { color: #6ea0ff; }

.transcript-box {
  width: 100%;
  min-height: 140px;
  margin-top: 20px;
  padding: 14px;
  font-size: 16px;
  border-radius: 10px;
  border: 1px solid #3a3f47;
  background: #1a1d23;
  color: #f2f3f5;
  resize: vertical;
}

.secondary-btn {
  width: 100%;
  margin-top: 16px;
  padding: 14px;
  font-size: 16px;
  border-radius: 12px;
  background: #1a1d23;
  border: 1px solid #3a3f47;
  color: #f2f3f5;
}

.secondary-btn:disabled { color: #5a5f68; }

.review-heading {
  text-align: left;
  font-size: 18px;
  margin: 28px 0 12px;
}

.field-wrap {
  text-align: left;
  margin-bottom: 14px;
}

.field-label {
  display: block;
  font-size: 13px;
  color: #9aa0a8;
  margin-bottom: 4px;
}

.field-wrap textarea,
.field-wrap input,
.field-wrap select,
.array-row input,
.array-row select {
  width: 100%;
  font-size: 15px;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid #3a3f47;
  background: #1a1d23;
  color: #f2f3f5;
}

.array-section {
  text-align: left;
  border: 1px solid #3a3f47;
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 16px;
}

.array-section legend {
  padding: 0 6px;
  color: #c3c7cd;
  font-size: 14px;
}

.array-row {
  border-top: 1px solid #262a31;
  padding-top: 10px;
  margin-top: 10px;
}

.array-row:first-child { border-top: none; margin-top: 0; }

.array-row .field-wrap { margin-bottom: 8px; }

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #c3c7cd;
}

.remove-row-btn {
  background: none;
  border: none;
  color: #ff8b8b;
  font-size: 13px;
  padding: 4px 0;
}

.add-row-btn {
  width: 100%;
  margin-top: 8px;
  padding: 10px;
  border-radius: 8px;
  border: 1px dashed #3a3f47;
  background: none;
  color: #6ea0ff;
  font-size: 14px;
}

.approve-btn {
  width: 100%;
  margin-top: 8px;
  padding: 16px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  background: #1f7a3f;
  color: white;
  border: none;
}

.approve-btn:disabled { background: #2a3a2f; color: #6b8f77; }