/* 虾算算沟通板 — 珊瑚橙 #ff7e67 + 墨线 #3d3a50 */
.msg { display: flex; gap: .5rem; align-items: flex-start; }
.msg .avatar { width: 2rem; height: 2rem; border-radius: 9999px; display: flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 700; color: #fff; flex-shrink: 0; }
.msg .bubble { background: #fff8ec; border-radius: .75rem; padding: .45rem .7rem; font-size: .875rem; max-width: 100%; white-space: pre-wrap; word-break: break-word; border: 1px solid rgba(255,126,103,.15); }
.msg.me .bubble { background: #ffeede; }
.msg .meta { font-size: .7rem; color: #9ca3af; margin-bottom: .1rem; }
.msg.system { justify-content: center; }
.msg.system .sys { font-size: .75rem; color: #6b7280; background: #f3f4f6; border-radius: 9999px; padding: .2rem .7rem; text-align: center; }
.role-product { background: #3b82f6; }
.role-marketing { background: #ff7e67; }
.role-owner { background: #3d3a50; }
.role-system { background: #9ca3af; }
.tag { font-size: .65rem; padding: .1rem .4rem; border-radius: 9999px; font-weight: 600; }
.tag-rule { background: #dbeafe; color: #1d4ed8; }
.tag-file { background: #fef3c7; color: #b45309; }
.tag-interface { background: #dcfce7; color: #15803d; }
.tag-schedule { background: #fce7f3; color: #be185d; }
.tag-other { background: #f3f4f6; color: #374151; }
.st-open { color: #b45309; }
.st-agreed { color: #15803d; }
.st-rejected { color: #b91c1c; }
.st-deferred { color: #6b7280; }
.topic-card { border: 1px solid rgba(255,126,103,.2); border-radius: .75rem; padding: .5rem .75rem; cursor: pointer; background: #fff; }
.topic-card:hover { background: #fff8ec; }
.chan-tab { padding: .4rem .8rem; font-size: .8rem; border-radius: .5rem .5rem 0 0; color: #6b7280; }
.chan-tab.active { color: #ff7e67; font-weight: 700; border-bottom: 2px solid #ff7e67; }
.chan-tab .badge { background: #ff7e67; color: #fff; border-radius: 9999px; font-size: .6rem; padding: 0 .35rem; margin-left: .25rem; }
.dot { width: .5rem; height: .5rem; border-radius: 9999px; display: inline-block; }
.dot.on { background: #22c55e; }
.dot.off { background: #d1d5db; }
.msg .bubble a { color: #ff7e67; text-decoration: underline; }
.msg .bubble .ref { color: #3b82f6; cursor: pointer; font-weight: 600; }
