.composer-tools { display: flex; align-items: center; gap: 16px; min-width: 0; }
.attach-image { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: #6d8658; padding: 5px 6px; border-radius: 6px; }
.attach-image:hover { background: #eaf0e4; }
.attach-image:disabled { opacity: .5; cursor: wait; }
.attach-image svg { width: 17px; height: 17px; }
.generate-image[aria-pressed="true"] { color: #fff; background: #466b53; }
.image-mode-note { margin: 0 0 12px; color: #6d8658; font-size: 11px; }
.search-toggle.temporarily-disabled { opacity: .45; cursor: default; }
.search-toggle.temporarily-disabled input { cursor: default; }
.generated-gallery { padding-left: 37px; }
.generated-card { margin: 12px 0; max-width: 440px; border: 1px solid #dce5d2; border-radius: 12px; overflow: hidden; background: #fff; }
.generated-preview { display: block; width: 100%; padding: 0; background: #f1f4ed; }
.generated-preview img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.generated-card figcaption { color: #7b8972; font-size: 10px; line-height: 1.7; padding: 10px 12px 0; }
.generated-controls { display: flex; gap: 8px; padding: 10px 12px 12px; }
.generated-controls button { font-size: 11px; padding: 7px 10px; border: 1px solid #dce5d2; border-radius: 6px; color: #466b53; }
.generated-controls button:hover { background: #eaf0e4; }
@media(min-width:761px) and (max-width:1400px) { .input-hint { display: none; } }
.attachment-list { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 2px 0 12px; }
.attachment-item { position: relative; flex: 0 0 64px; }
.attachment-preview { display: block; width: 64px; height: 64px; padding: 3px; background: #f3f5ef; border: 1px solid #dfe7d6; border-radius: 9px; overflow: hidden; }
.attachment-preview img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 5px; }
.attachment-remove { position: absolute; top: -5px; right: -5px; width: 22px; height: 22px; border: 1px solid #d3decb; border-radius: 50%; background: #fff; color: #466b53; font-size: 17px; line-height: 18px; box-shadow: 0 2px 5px #263e3514; }
.attachment-remove:hover { background: #e6eddd; }
.attachment-note { color: #78856f; font-size: 10px; }
.message-images { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 9px; max-width: 480px; }
.message-images button { background: #fff; border: 1px solid #dce5d2; border-radius: 9px; padding: 4px; max-width: 100%; }
.message-images img { display: block; object-fit: contain; width: 150px; height: 120px; max-width: 100%; border-radius: 5px; }
#image-dialog { width: fit-content; max-width: 92vw; max-height: 90dvh; padding: 16px; }
.image-preview-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; font-size: 12px; color: #466b53; }
#image-preview-title { overflow-wrap: anywhere; }
#image-preview { display: block; max-width: min(84vw,1200px); max-height: 74dvh; object-fit: contain; margin: auto; border-radius: 6px; background: #fff; }
@media(max-width:760px) {
  .composer-tools { gap: 9px; }
  .attach-image { font-size: 10px; padding-left: 0; }
  .attachment-note { flex-basis: 100%; }
  .message-images img { width: 112px; height: 96px; }
  .generated-gallery { padding-left: 0; }
  .composer-tools { gap: 7px; }
}
