/* ================================================================== */
/* 4g. COMPOSE                                                         */
/* ================================================================== */

#reviewer-compose-form { margin-top: var(--sp-10); }

#msg-body { min-height: var(--width-lg); }

.compose-attachments { display: flex; flex-direction: column; gap: var(--sp-1); margin-bottom: 0; }

.compose-attachments label {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: normal;
  cursor: pointer;
}

.compose-attachments label {
  word-break: break-word;
}

.compose-attachment-section .field-label {
  margin: var(--sp-3) 0 var(--sp-1);
}

.compose-page {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: var(--sp-4-5) var(--my-page-gutter);
}

.compose-overlay {
  display: grid;
  gap: var(--sp-4);
}

.compose-standalone {
  max-width: var(--width-main);
  margin: 0 auto;
}

.compose-head {
  gap: var(--sp-1);
}

.compose-head h1,
.compose-head h2 {
  margin: 0;
  color: var(--c-text);
  font-size: var(--fs-2xl);
  line-height: 1.2;
  letter-spacing: 0;
}

.compose-overlay .compose-head h2 {
  font-size: var(--fs-xl);
}

.compose-head p {
  margin: 0;
  color: var(--c-text-muted);
  line-height: 1.4;
}

.compose-head p strong {
  color: var(--c-text);
  font-weight: 700;
}

.compose-form {
  display: grid;
  gap: var(--sp-3-5);
  margin: 0;
}

.compose-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.36fr);
  gap: var(--sp-3-5);
  align-items: start;
}

.compose-panel {
  min-width: 0;
  padding: var(--sp-4);
  border: var(--border-width) solid var(--c-border);
  border-radius: var(--radius-card);
  background: var(--c-surface);
  box-shadow: var(--my-panel-shadow);
}

.compose-side {
  display: grid;
  gap: var(--sp-3);
  min-width: 0;
}

.compose-panel h3 {
  margin: 0 0 var(--sp-3);
  color: var(--c-text);
  font-size: var(--fs-base);
  line-height: 1.2;
  letter-spacing: 0;
}

.compose-recipient {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  min-height: var(--size-touch);
  margin-bottom: var(--sp-3-5);
  padding: 0 var(--sp-3);
  border: var(--border-width) solid var(--c-border);
  border-radius: var(--radius-card);
  background: var(--c-surface-soft);
}

.compose-recipient span {
  color: var(--c-text-muted);
  font-size: var(--fs-xs);
  font-weight: 700;
}

.compose-recipient strong {
  min-width: 0;
  overflow: hidden;
  color: var(--c-text);
  font-size: var(--fs-sm);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.compose-form .form-group {
  margin-bottom: var(--sp-3-5);
}

.compose-form .form-group:last-child {
  margin-bottom: 0;
}

.compose-form .form-group label {
  color: var(--c-text-muted);
  font-size: var(--fs-sm);
  font-weight: 700;
}

.compose-form .form-group input[type="text"],
.compose-form .form-group select,
.compose-form .form-group textarea {
  width: 100%;
  border-color: var(--c-border);
  border-radius: var(--radius-card);
  color: var(--c-text);
  background: var(--c-surface);
  font: inherit;
}

.compose-form .form-group textarea,
.compose-form #msg-body {
  min-height: 18rem;
  line-height: 1.5;
  resize: vertical;
}

.jiab-overlay .compose-form .form-group textarea,
.jiab-overlay .compose-form #msg-body {
  min-height: 13rem;
}

.compose-attachment-section {
  padding-top: var(--sp-3);
  border-top: var(--border-width) solid var(--c-border);
}

.compose-form > .action-row .btn {
  min-width: var(--width-xs);
}

#reviewer-compose-form {
  margin-top: var(--sp-3-5);
}

@media (max-width: 860px) {
  .compose-grid {
    grid-template-columns: 1fr;
  }

  .compose-side {
    order: -1;
  }
}
