.assistant-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr);
  gap: 28px;
  align-items: start;
}

.assistant-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: clamp(24px, 4vw, 48px);
  box-shadow: 0 18px 50px rgba(35, 29, 20, .07);
}

.assistant-badge {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: 22px;
  border-radius: 20px;
  background: var(--dark);
  color: #f6a313;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .08em;
}

.assistant-card h2 { margin: 10px 0; }
.assistant-form { display: grid; gap: 12px; margin-top: 28px; }
.assistant-form label { font-weight: 700; }
.assistant-form textarea { min-height: 150px; resize: vertical; }
.assistant-form-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.assistant-result { display: none; margin-top: 24px; padding: 20px; border-radius: 16px; white-space: pre-wrap; }
.assistant-result.pending, .assistant-result.success, .assistant-result.error { display: block; }
.assistant-result.pending { background: #f4efe5; color: #655a49; }
.assistant-result.success { background: #edf5e4; border: 1px solid #c9dda8; color: #243315; }
.assistant-result.error { background: #fff0ed; border: 1px solid #e9bbb2; color: #7f281a; }
.assistant-answer { margin-top: 12px; line-height: 1.65; white-space: pre-wrap; }
.assistant-form button:disabled { cursor: wait; opacity: .65; }

@media (max-width: 820px) {
  .assistant-layout { grid-template-columns: 1fr; }
  .assistant-form-foot { align-items: stretch; flex-direction: column; }
  .assistant-form-foot .btn { width: 100%; }
}
