/* F&F line icons: a single optical size, stroke and colour language. */
.ff-icon {
  display:inline-block;
  width:1.2em;
  height:1.2em;
  flex:0 0 auto;
  vertical-align:-.2em;
  color:inherit;
  overflow:visible;
}
.ico .ff-icon,.ic .ff-icon,.ico-lg .ff-icon,.dp-icon .ff-icon {
  width:24px;height:24px;color:var(--signal,#b9463d);
}
.info-card .ico { display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:18px; }
.info-card .ico .ff-icon,.ico-lg .ff-icon { width:28px;height:28px; }
.radar-core .ff-icon { width:30px;height:30px;color:var(--text,#22343f); }
.call-link .ring .ff-icon { width:21px;height:21px;color:var(--signal,#b9463d); }
.check .ff-icon,.fi .ff-icon,.checklist li > span .ff-icon { width:17px;height:17px; }
.stage-label .ff-icon { width:17px;height:17px;margin-right:5px; }
.chatbot-icon { display:inline-flex;align-items:center;justify-content:center; }
.chatbot-icon .ff-icon { width:23px;height:23px; }
.chatbot-close,.chatbot-send { display:inline-flex;align-items:center;justify-content:center; }
.chatbot-close .ff-icon,.chatbot-send .ff-icon { width:20px;height:20px; }
.ff-icon-arrow { width:1em;height:1em; }
.filter-tabs button .ff-icon { margin-right:5px; }
.marquee-track .brand-separator { display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;vertical-align:middle; }
/* Text controls replace decorative symbols; no empty icon slots remain. */
.chatbot-close,.chatbot-send { width:auto;min-width:70px;padding:0 12px;font-size:12px;line-height:1.2;font-weight:600; }
.chatbot .chatbot-head { flex-wrap:wrap;gap:10px; }
.chatbot-close { margin-left:auto; }
.chatbot-form textarea { min-width:0; }
