/**
 * M2 竞品信息智能监测 — 样式表
 *
 * CSS 前缀: acm- (acquisition competitor monitor)
 * 架构基线: .workbuddy/specs/acquisition-ai-capabilities/03-phase3-architecture.md
 */

.acm-page { padding: 24px; max-width: 1440px; margin: 0 auto; }
.acm-header { margin-bottom: 24px; }
.acm-title { font-size: 20px; font-weight: 600; color: #1a1a1a; margin: 0; }
.acm-subtitle { font-size: 13px; color: #8c8c8c; margin-top: 4px; }

/* Tab 导航 */
.acm-tabs { display: flex; gap: 0; border-bottom: 2px solid #e8e8e8; margin-bottom: 24px; }
.acm-tab { padding: 10px 20px; font-size: 14px; border: none; background: none; color: #555; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.2s; }
.acm-tab:hover { color: #eb2f96; }
.acm-tab--active { color: #eb2f96; border-bottom-color: #eb2f96; font-weight: 600; }

/* 内容区 */
.acm-content { min-height: 300px; }

/* 工具栏 */
.acm-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.acm-count { font-size: 13px; color: #8c8c8c; }

/* 按钮 */
.acm-btn { padding: 8px 16px; border: 1px solid #d9d9d9; border-radius: 6px; font-size: 13px; cursor: pointer; transition: all 0.2s; background: #fff; color: #333; }
.acm-btn:hover { border-color: #eb2f96; color: #eb2f96; }
.acm-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.acm-btn--primary { background: #eb2f96; color: #fff; border-color: #eb2f96; }
.acm-btn--primary:hover { background: #c41d7f; border-color: #c41d7f; color: #fff; }
.acm-btn--outline { border-color: #eb2f96; color: #eb2f96; background: #fff; }
.acm-btn--outline:hover { background: #fff0f6; }
.acm-btn--sm { padding: 4px 10px; font-size: 12px; }
.acm-btn--danger { color: #ff4d4f; border-color: #ffccc7; }
.acm-btn--danger:hover { background: #fff2f0; border-color: #ff4d4f; }

/* 空态/错误/加载 */
.acm-empty { text-align: center; padding: 48px 20px; color: #8c8c8c; font-size: 14px; }
.acm-error { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: #fff2f0; border: 1px solid #ffccc7; border-radius: 6px; margin-bottom: 16px; font-size: 13px; color: #ff4d4f; }
.acm-loading { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 32px; color: #8c8c8c; font-size: 13px; }
.acm-spinner { width: 24px; height: 24px; border: 3px solid #f0f0f0; border-top: 3px solid #eb2f96; border-radius: 50%; animation: acm-spin 0.8s linear infinite; }
@keyframes acm-spin { to { transform: rotate(360deg); } }

/* 竞品卡片 */
.acm-comp-section { max-width: 900px; }
.acm-comp-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 16px; }
.acm-comp-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 16px; transition: box-shadow 0.2s; }
.acm-comp-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.acm-comp-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.acm-comp-name { font-size: 16px; font-weight: 600; color: #1a1a1a; }
.acm-status-badge { font-size: 11px; padding: 2px 8px; border-radius: 4px; }
.acm-status--active { background: #f6ffed; color: #52c41a; }
.acm-status--inactive { background: #f5f5f5; color: #8c8c8c; }
.acm-comp-card-body { margin-bottom: 12px; }
.acm-comp-info { display: flex; gap: 8px; font-size: 13px; margin-bottom: 4px; }
.acm-comp-label { color: #8c8c8c; min-width: 60px; flex-shrink: 0; }
.acm-comp-link { color: #eb2f96; text-decoration: none; }
.acm-comp-link:hover { text-decoration: underline; }
.acm-comp-notes { font-size: 12px; color: #8c8c8c; margin-top: 8px; line-height: 1.5; }
.acm-comp-card-footer { display: flex; align-items: center; gap: 16px; padding-top: 12px; border-top: 1px solid #f0f0f0; }
.acm-comp-stat { font-size: 12px; color: #8c8c8c; }
.acm-comp-card-actions { margin-left: auto; display: flex; gap: 8px; }

/* 变更时间线 */
.acm-changes-section { max-width: 800px; }
.acm-changes-timeline { position: relative; padding-left: 24px; }
.acm-changes-timeline::before { content: ''; position: absolute; left: 8px; top: 0; bottom: 0; width: 2px; background: #f0f0f0; }
.acm-change-item { position: relative; display: flex; gap: 16px; padding: 12px 0; }
.acm-change-marker { position: absolute; left: -20px; top: 16px; width: 10px; height: 10px; border-radius: 50%; border: 2px solid #fff; }
.acm-severity--high { background: #ff4d4f; }
.acm-severity--medium { background: #faad14; }
.acm-severity--low { background: #52c41a; }
.acm-change-content { flex: 1; background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 14px 16px; }
.acm-change-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.acm-change-type { font-size: 12px; padding: 1px 6px; border-radius: 3px; background: #f0f0f0; color: #555; }
.acm-severity-badge { font-size: 11px; padding: 1px 6px; border-radius: 3px; }
.acm-severity-badge.acm-severity--high { background: #fff2f0; color: #ff4d4f; }
.acm-severity-badge.acm-severity--medium { background: #fffbe6; color: #faad14; }
.acm-severity-badge.acm-severity--low { background: #f6ffed; color: #52c41a; }
.acm-change-title { font-size: 14px; font-weight: 500; color: #1a1a1a; }
.acm-change-detail { font-size: 13px; color: #555; margin-top: 4px; line-height: 1.5; }
.acm-change-meta { display: flex; justify-content: space-between; margin-top: 8px; font-size: 12px; color: #8c8c8c; }
.acm-change-time { }

/* 分页 */
.acm-pagination { display: flex; gap: 6px; justify-content: center; padding: 24px 0; }
.acm-page-btn { padding: 6px 12px; border: 1px solid #d9d9d9; border-radius: 4px; background: #fff; font-size: 13px; cursor: pointer; }
.acm-page-btn:hover { border-color: #eb2f96; color: #eb2f96; }
.acm-page--active { background: #eb2f96; color: #fff; border-color: #eb2f96; }

/* 周报 */
.acm-report-section { max-width: 900px; }
.acm-report-empty { text-align: center; padding: 48px 20px; }
.acm-report-empty p { color: #8c8c8c; font-size: 14px; margin-bottom: 16px; }
.acm-report-header { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #f0f0f0; }
.acm-report-title { font-size: 18px; font-weight: 600; color: #1a1a1a; }
.acm-report-meta { font-size: 12px; color: #8c8c8c; }
.acm-source-badge { font-size: 11px; padding: 2px 8px; border-radius: 4px; }
.acm-source--ai { background: #e6f7ff; color: #1890ff; }
.acm-source--rule { background: #fff7e6; color: #fa8c16; }
.acm-source--default { background: #f5f5f5; color: #8c8c8c; }

.acm-report-summary { font-size: 14px; line-height: 1.8; color: #333; background: #fff0f6; border-left: 3px solid #eb2f96; padding: 12px 16px; border-radius: 6px; margin-bottom: 20px; }

.acm-report-section-title { font-size: 15px; font-weight: 600; color: #1a1a1a; margin: 20px 0 12px 0; }

.acm-highlights-list { display: grid; gap: 10px; }
.acm-highlight-item { background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 14px 16px; border-left: 4px solid #e8e8e8; }
.acm-highlight--high { border-left-color: #ff4d4f; }
.acm-highlight--medium { border-left-color: #faad14; }
.acm-highlight--low { border-left-color: #52c41a; }
.acm-highlight-title { font-size: 14px; font-weight: 500; color: #1a1a1a; margin-bottom: 4px; }
.acm-highlight-desc { font-size: 13px; color: #555; }
.acm-highlight-comp { font-size: 12px; color: #8c8c8c; margin-top: 4px; }

.acm-breakdown-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 14px 16px; margin-bottom: 10px; }
.acm-breakdown-name { font-size: 14px; font-weight: 500; color: #1a1a1a; margin-bottom: 6px; }
.acm-breakdown-count { font-size: 12px; color: #8c8c8c; font-weight: normal; }
.acm-breakdown-assessment { font-size: 13px; color: #555; margin-bottom: 8px; }
.acm-breakdown-changes { font-size: 12px; color: #555; }
.acm-breakdown-change { padding: 2px 0; }

.acm-threat-card { background: #fff2f0; border: 1px solid #ffccc7; border-radius: 8px; padding: 12px 16px; margin-bottom: 8px; }
.acm-threat-title { font-size: 14px; font-weight: 500; color: #ff4d4f; margin-bottom: 4px; }
.acm-threat-meta { font-size: 12px; color: #8c8c8c; }
.acm-threat-response { font-size: 13px; color: #333; margin-top: 6px; }

.acm-opp-card { background: #f6ffed; border: 1px solid #b7eb8f; border-radius: 8px; padding: 12px 16px; margin-bottom: 8px; }
.acm-opp-title { font-size: 14px; font-weight: 500; color: #52c41a; margin-bottom: 4px; }
.acm-opp-insight { font-size: 13px; color: #555; }

.acm-trend-text { font-size: 14px; line-height: 1.8; color: #333; background: #fafafa; padding: 12px 16px; border-radius: 6px; }

.acm-report-actions { display: flex; gap: 12px; padding-top: 24px; }

/* 响应式 */
@media (max-width: 1024px) {
    .acm-comp-list { grid-template-columns: 1fr; }
}
