.textarea-wrap {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
}

.textarea-wrap textarea {
  width: 100%;
  display: block;
}

.textarea-clear {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  background: rgba(0, 0, 0, 0.55);
  border: none;
  border-radius: 6px;
  color: #fff;
  width: 28px;
  height: 28px;
  font-size: 0.85rem;
  cursor: pointer;
  line-height: 1;
  z-index: 2;
}

.textarea-wrap--light .textarea-clear {
  background: rgba(0, 0, 0, 0.08);
  color: #374151;
}

.char-counter {
  text-align: right;
  font-size: 0.78rem;
  color: #9ca3af;
  margin-top: 0.35rem;
}

.char-counter--gold { color: #F5C842; }
.char-counter--red { color: #ef4444; }

.char-max-msg {
  text-align: right;
  font-size: 0.75rem;
  color: #ef4444;
  margin-top: 0.25rem;
}

.mic-capture-wrap {
  position: relative;
  display: inline-block;
}

.voice-countdown {
  font-size: 2rem;
  font-weight: 800;
  color: #F5C842;
  margin: 0.75rem auto 0.35rem;
  line-height: 1;
}

.voice-countdown--concierge { color: #2563eb; }

.voice-progress {
  width: 120px;
  height: 4px;
  background: rgba(245, 200, 66, 0.2);
  border-radius: 2px;
  margin: 0 auto 0.5rem;
  overflow: hidden;
}

.voice-progress--concierge {
  background: rgba(37, 99, 235, 0.2);
}

.voice-progress-fill {
  height: 100%;
  width: 100%;
  background: #F5C842;
  border-radius: 2px;
  transition: width 1s linear, background 0.2s;
}

.voice-progress-fill--concierge { background: #2563eb; }
.voice-progress-fill--red { background: #ef4444 !important; }

.voice-warn {
  font-size: 0.75rem;
  color: #ef4444;
  margin-bottom: 0.35rem;
}

.voice-transcribing {
  font-size: 0.82rem;
  color: #A0A0A0;
  margin-top: 0.35rem;
}

.voice-transcribing--concierge { color: #6b7280; }

.start-over-row {
  text-align: center;
  margin: 1rem auto 0;
  max-width: 640px;
}

.start-over-btn {
  background: transparent;
  border: 2px solid #F5C842;
  color: #F5C842;
  border-radius: 12px;
  padding: 0.75rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
}

.start-over-btn--concierge {
  border-color: #2563eb;
  color: #2563eb;
}

.start-over-hint {
  font-size: 0.75rem;
  color: #A0A0A0;
  margin-top: 0.5rem;
}

.start-over-hint--concierge { color: #6b7280; }
