/* ── Signals tab ── */
.signals-wrap{flex:1;display:flex;flex-direction:column;max-width:780px;width:100%;margin:0 auto;min-height:0}
.signals-scroll{flex:1;overflow-y:auto;padding:24px 16px;display:flex;flex-direction:column;gap:20px}

/* Header */
.signals-header{text-align:center;padding:12px 0 4px}
.signals-title{font-size:20px;font-weight:500;color:var(--text)}
.signals-sub{font-size:13px;color:var(--text2);margin-top:6px;line-height:1.5}

/* Topic legend */
.signals-legend{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.legend-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text2)}
.legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}

/* ── Signal card ── */
.signal-card{background:var(--bg);border:.5px solid var(--border);border-radius:var(--rl);transition:border-color .15s;flex-shrink:0}
.signal-card:hover{border-color:var(--border2)}

/* Card head (always visible) */
.signal-head{padding:20px 24px;cursor:pointer;display:flex;flex-direction:column;gap:12px}

.signal-row1{display:flex;align-items:flex-start;gap:12px}
.signal-card-title{font-size:16px;font-weight:600;color:var(--text);line-height:1.5;flex:1}
.signal-date{font-size:12px;color:var(--text3);white-space:nowrap;flex-shrink:0;padding-top:3px}

/* Tags row */
.signal-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.signal-tag{font-size:11px;padding:3px 10px;border-radius:8px;white-space:nowrap;line-height:1.4}
.signal-tag-topic{font-weight:500}
.signal-tag-muni{background:var(--bg2);color:var(--text2);border:.5px solid var(--border)}
.signal-updated{font-size:10.5px;color:var(--text3);margin-left:auto}

/* Summary text (1 sentence, always visible) */
.signal-summary{font-size:14px;line-height:1.75;color:var(--text2);padding:2px 0}

/* Expand hint */
.signal-expand{font-size:12px;color:var(--text3);display:flex;align-items:center;gap:5px;padding-top:4px}
.signal-expand svg{transition:transform .15s}
.signal-card.expanded .signal-expand svg{transform:rotate(180deg)}
.signal-expand:hover{color:var(--text2)}

/* ── Detail panel (expanded) ── */
.signal-detail{display:none;border-top:.5px solid var(--border);padding:24px;background:var(--bg);flex-direction:column;gap:20px}
.signal-card.expanded .signal-detail{display:flex}

/* Detail section headers */
.detail-section-title{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}

/* Long summary (4-6 lines) */
.detail-summary{font-size:14px;line-height:1.85;color:var(--text)}

/* Quotes */
.detail-quotes{display:flex;flex-direction:column;gap:12px}
.detail-quote{border-left:3px solid var(--border2);padding:10px 0 10px 16px;display:flex;flex-direction:column;gap:4px}
.detail-quote-text{font-size:13.5px;line-height:1.7;color:var(--text);font-style:italic}
.detail-quote-meta{font-size:11px;color:var(--text3)}

/* Links & actions */
.detail-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:6px}
.detail-btn{font-size:12.5px;padding:8px 16px;border-radius:8px;border:.5px solid var(--border2);background:var(--bg);color:var(--text2);cursor:pointer;font-family:inherit;transition:all .15s;display:flex;align-items:center;gap:6px;text-decoration:none}
.detail-btn:hover{border-color:var(--blue);color:var(--blue-t);background:var(--blue-bg)}
.detail-btn svg{width:14px;height:14px}

/* Meeting info */
.detail-meeting{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text2);padding:10px 14px;background:var(--bg2);border-radius:var(--r);border:.5px solid var(--border)}
.detail-meeting-label{font-weight:500;color:var(--text)}

/* Loading */
.signals-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;padding:40px 20px}
.signals-loading-text{font-size:13px;color:var(--text3)}

/* ── Signal Chat View ── */
.signal-chat-view{display:flex;flex-direction:column;flex:1;min-height:0}

/* Back link */
.signal-chat-back{padding:12px 16px;font-size:12.5px;color:var(--text2);cursor:pointer;display:flex;align-items:center;gap:5px;flex-shrink:0;border-bottom:.5px solid var(--border);background:var(--bg)}
.signal-chat-back:hover{color:var(--text)}
.signal-chat-back svg{width:12px;height:12px}

/* Pinned context card */
.signal-chat-context{padding:16px 20px;background:var(--bg);border-bottom:.5px solid var(--border);flex-shrink:0}
.signal-chat-context-inner{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.signal-chat-context-title{font-size:15px;font-weight:600;color:var(--text);line-height:1.45}
.signal-chat-context-summary{font-size:13px;line-height:1.7;color:var(--text2)}
.signal-chat-context-meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text3)}

/* Messages area */
.signal-chat-messages{flex:1;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:12px;max-width:780px;width:100%;margin:0 auto}
.signal-chat-empty{display:flex;align-items:center;justify-content:center;flex:1;font-size:13px;color:var(--text3);text-align:center;padding:40px 20px;line-height:1.6}

/* Input area */
.signal-chat-input{padding:12px 16px 16px;background:var(--bg2);flex-shrink:0}
.signal-chat-input-row{display:flex;gap:8px;max-width:780px;margin:0 auto;background:var(--bg);border:.5px solid var(--border2);border-radius:var(--rl);padding:4px 4px 4px 14px;align-items:flex-end}
.signal-chat-input-row:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px rgba(24,95,165,.12)}
.signal-chat-input-row textarea{flex:1;border:none;outline:none;font-size:13px;font-family:inherit;color:var(--text);resize:none;padding:8px 0;max-height:120px;line-height:1.5;background:transparent}
.signal-chat-input-row textarea::placeholder{color:var(--text3)}
.signal-chat-send{width:36px;height:36px;border-radius:8px;border:none;background:var(--text);color:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s}
.signal-chat-send:hover{opacity:.85}
.signal-chat-send:disabled{opacity:.3;cursor:default}
.signal-chat-send svg{width:16px;height:16px}
