@layer components {
  /* New conversation with an agent: centered card over the composer; --agent-color comes inline. */
  .agent-new-body { flex-direction: column; justify-content: center; }
  .agent-empty {
    display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 520px; margin: auto;
    padding: 24px 18px; text-align: center; font-size: 13px;
  }
  .agent-empty p, .agent-empty h2, .agent-empty h3 { margin: 0; }
  .agent-empty-avatar {
    display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px;
    color: var(--agent-color); background: color-mix(in oklch, var(--agent-color) 14%, transparent);
  }
  .agent-empty-name { font-size: 16px; font-weight: 600; color: var(--agent-color); }
  .agent-empty-role { color: var(--muted-foreground); }
  .agent-empty-block { display: flex; flex-direction: column; gap: 6px; width: 100%; margin-top: 6px; }
  .agent-empty-heading {
    font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted-foreground);
  }
  .agent-empty-description { line-height: 1.5; color: var(--foreground); }
  .agent-empty-access { line-height: 1.45; color: var(--muted-foreground); }
  .agent-empty-suggestions { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
  .agent-suggestion {
    width: 100%; padding: 8px 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--background);
    color: var(--foreground); font: inherit; font-size: 13px; text-align: left; cursor: pointer;
  }
  .agent-suggestion:hover { border-color: var(--jx-accent-line); background: var(--jx-accent-soft); }
  .agent-suggestion:focus-visible { outline: 2px solid var(--jx-accent); outline-offset: 2px; }

  /* The rename form of a private conversation with an agent, in the settings' Général tab. */
  .conversation-title-form { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; }
  .conversation-title-form .input { height: 30px; flex: 1 1 200px; min-width: 0; font-size: 13px; }
  .conversation-title-error { color: var(--jx-no); }

  /* Sidebar: agents as collapsible groups, their icon in the agent's color. */
  .nav-agent-icon { display: inline-flex; color: var(--agent-color); }
  .nav-agent-icon svg { width: 14px; height: 14px; color: inherit; }
  .nav-agent-new { color: var(--muted-foreground); }

  /* Members panel: the channel's agents. */
  .member-agent { align-items: center; }
  .member-agent form { margin: 0; }
  .member-agent-avatar {
    display: inline-flex; align-items: center; justify-content: center; flex: none; width: 28px; height: 28px; border-radius: 8px;
    color: var(--agent-color); background: color-mix(in oklch, var(--agent-color) 14%, transparent);
  }
  .member-agent-name { color: var(--agent-color); }
  .member-agent-access { margin-top: 2px; font-size: 13px; line-height: 1.45; }
}
