/* Modern multimodal composer shell.
   Presentation-only on purpose: existing upload, vision confirmation, sandbox and agent
   execution contracts remain unchanged while the chat input becomes a single calm surface. */
.agent-chat .chat-input-row {
  display:grid;
  grid-template-columns:44px 44px minmax(0,1fr) 44px;
  grid-template-areas:
    "attachment attachment attachment attachment"
    "attach mic input send";
  align-items:end;
  gap:8px;
  padding:10px 12px;
  border:1px solid var(--border-strong);
  border-radius:28px;
  background:var(--bg-1);
  box-shadow:0 8px 28px rgba(11,24,32,.08);
}
.agent-chat .chat-input-row:focus-within {
  border-color:#9aa9ae;
  box-shadow:0 10px 32px rgba(11,24,32,.11);
}
.agent-chat .chat-input-row textarea {
  grid-area:input;
  min-height:44px;
  max-height:124px;
  padding:11px 4px 9px;
  border:0;
  background:transparent;
  box-shadow:none;
  font-size:15px;
  line-height:1.45;
}
.agent-chat .chat-input-row textarea:focus { border:0; outline:0; }
.agent-chat .chat-input-row textarea::placeholder { color:#8a969b; }
.agent-chat .chat-input-row .gallery-action { grid-area:attach; }
.agent-chat .chat-input-row .mic-action { grid-area:mic; }
.agent-chat .chat-input-action {
  width:44px;
  min-width:44px;
  height:44px;
  margin:0;
  border:0;
  background:transparent;
  color:var(--text-primary);
}
.agent-chat .chat-input-action:hover:not(:disabled) {
  transform:none;
  border:0;
  background:var(--bg-2);
}
.agent-chat .gallery-action svg { display:none; }
.agent-chat .gallery-action::before {
  content:"+";
  display:block;
  font:300 38px/38px Arial,sans-serif;
  transform:translateY(-1px);
}
.agent-chat .mic-action svg { width:25px; height:25px; stroke-width:1.7; }
.agent-chat .chat-input-row .submit-btn {
  grid-area:send;
  position:relative;
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:50%;
  background:var(--text-primary);
  color:transparent;
  font-size:0;
}
.agent-chat .chat-input-row .submit-btn::before {
  content:"↑";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font:500 25px/1 Arial,sans-serif;
}
.agent-chat .chat-input-row .submit-btn:disabled {
  background:var(--bg-2);
  opacity:1;
}
.agent-chat .chat-input-row .submit-btn:disabled::before { color:#aab4b8; }
.agent-chat .chat-input-row .chat-attachment-preview {
  grid-area:attachment;
  order:initial;
  width:max-content;
  max-width:100%;
  min-height:62px;
  margin:0 0 2px;
  padding:7px 9px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--bg-0);
  color:var(--text-secondary);
}
.agent-chat .chat-attachment-preview img,
.agent-chat .chat-file-badge {
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:9px;
}
.agent-chat .chat-attachment-preview img { object-fit:cover; }
.agent-chat .chat-attachment-preview > span:nth-child(2) {
  max-width:240px;
  font-size:12px;
  font-weight:600;
  color:var(--text-primary);
}
.agent-chat .chat-attachment-preview small { font-size:10px; }
.agent-chat .chat-attachment-preview a { display:none; }
.agent-chat .chat-attachment-preview button {
  width:26px;
  height:26px;
  padding:0;
  overflow:hidden;
  border-radius:50%;
  background:var(--bg-2);
  text-decoration:none;
  font-size:0;
}
.agent-chat .chat-attachment-preview button::before {
  content:"×";
  font:400 18px/24px Arial,sans-serif;
}
@media (max-width:760px) {
  .agent-chat .chat-input-row {
    grid-template-columns:42px 42px minmax(0,1fr) 42px;
    gap:5px;
    padding:8px 9px;
    border-radius:24px;
  }
  .agent-chat .chat-input-action,
  .agent-chat .chat-input-row .submit-btn { width:42px; min-width:42px; height:42px; }
  .agent-chat .chat-input-row textarea { min-height:42px; padding-inline:2px; }
  .agent-chat .chat-input-row .chat-attachment-preview { width:100%; }
}
