/**
 * CM2 AI 课程方案推荐 — 样式表
 *
 * CSS 前缀: acr- (acquisition course recommend)
 * 架构基线: .workbuddy/specs/acquisition-ai-capabilities/03-phase3-architecture.md
 */

.acr-page { padding: 24px; max-width: 1440px; margin: 0 auto; }
.acr-header { margin-bottom: 24px; }
.acr-title { font-size: 20px; font-weight: 600; color: #1a1a1a; margin: 0; }
.acr-subtitle { font-size: 13px; color: #8c8c8c; margin-top: 4px; }

/* Tab 导航 */
.acr-tabs { display: flex; gap: 0; border-bottom: 2px solid #e8e8e8; margin-bottom: 24px; }
.acr-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; }
.acr-tab:hover { color: #2f54eb; }
.acr-tab--active { color: #2f54eb; border-bottom-color: #2f54eb; font-weight: 600; }

/* 内容区 */
.acr-content { min-height: 300px; }

/* 按钮 */
.acr-btn { padding: 8px 16px; border: 1px solid #d9d9d9; border-radius: 6px; font-size: 13px; cursor: pointer; transition: all 0.2s; background: #fff; color: #333; }
.acr-btn:hover { border-color: #2f54eb; color: #2f54eb; }
.acr-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.acr-btn--primary { background: #2f54eb; color: #fff; border-color: #2f54eb; }
.acr-btn--primary:hover { background: #1d39c4; border-color: #1d39c4; color: #fff; }
.acr-btn--outline { border-color: #2f54eb; color: #2f54eb; background: #fff; }
.acr-btn--outline:hover { background: #f0f5ff; }

/* 空态/错误/加载 */
.acr-empty { text-align: center; padding: 48px 20px; color: #8c8c8c; font-size: 14px; }
.acr-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; }
.acr-loading { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 32px; color: #8c8c8c; font-size: 13px; }
.acr-spinner { width: 24px; height: 24px; border: 3px solid #f0f0f0; border-top: 3px solid #2f54eb; border-radius: 50%; animation: acr-spin 0.8s linear infinite; }
@keyframes acr-spin { to { transform: rotate(360deg); } }

/* 生成面板 */
.acr-generate-panel { max-width: 500px; margin: 0 auto; background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 32px; }
.acr-form-group { margin-bottom: 16px; }
.acr-form-label { display: block; font-size: 13px; font-weight: 500; color: #555; margin-bottom: 6px; }
.acr-form-input { width: 100%; padding: 10px 14px; border: 1px solid #d9d9d9; border-radius: 6px; font-size: 15px; box-sizing: border-box; }
.acr-form-input:focus { border-color: #2f54eb; outline: none; box-shadow: 0 0 0 2px rgba(47,84,235,0.1); }
.acr-form-hint { font-size: 12px; color: #8c8c8c; margin-top: 12px; line-height: 1.5; text-align: center; }

/* 来源标签 */
.acr-source-badge { font-size: 11px; padding: 2px 8px; border-radius: 4px; }
.acr-source--ai { background: #e6f7ff; color: #1890ff; }
.acr-source--rule { background: #fff7e6; color: #fa8c16; }
.acr-source--default { background: #f5f5f5; color: #8c8c8c; }

/* 推荐详情 */
.acr-detail { max-width: 800px; }
.acr-detail-header { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0; }
.acr-detail-time { font-size: 12px; color: #8c8c8c; margin-left: auto; }

/* 匹配总结 */
.acr-match-summary { font-size: 14px; line-height: 1.7; color: #333; background: #f0f5ff; border-left: 3px solid #2f54eb; padding: 12px 16px; border-radius: 6px; margin-bottom: 24px; }

/* 主推课程卡片 */
.acr-primary-card { background: #fff; border: 2px solid #2f54eb; border-radius: 10px; padding: 24px; margin-bottom: 24px; position: relative; }
.acr-primary-badge { position: absolute; top: -12px; left: 20px; background: #2f54eb; color: #fff; font-size: 12px; padding: 4px 14px; border-radius: 12px; font-weight: 600; }
.acr-course-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.acr-course-name { font-size: 18px; font-weight: 600; color: #1a1a1a; }

/* 评分 */
.acr-score { font-size: 22px; font-weight: 700; padding: 4px 14px; border-radius: 20px; }
.acr-score--high { background: #f6ffed; color: #52c41a; }
.acr-score--medium { background: #fffbe6; color: #fa8c16; }
.acr-score--low { background: #fff2f0; color: #ff4d4f; }

/* 推荐理由 */
.acr-reasons { margin-top: 16px; }
.acr-reasons-title { font-size: 13px; font-weight: 600; color: #555; margin-bottom: 10px; }
.acr-reason-item { display: flex; align-items: center; gap: 8px; padding: 6px 0; font-size: 13px; }
.acr-reason-icon { font-size: 16px; flex-shrink: 0; }
.acr-reason-category { font-size: 11px; color: #8c8c8c; background: #f5f5f5; padding: 1px 6px; border-radius: 3px; flex-shrink: 0; }
.acr-reason-text { color: #333; }
.acr-reasons--compact { margin-top: 8px; }
.acr-reason-item--compact { padding: 3px 0; }

/* 沟通建议 */
.acr-approach { background: #fafafa; padding: 10px 14px; border-radius: 6px; font-size: 13px; color: #555; margin-top: 16px; }

/* 备选方案 */
.acr-backup-section { margin-bottom: 24px; }
.acr-backup-title { font-size: 15px; font-weight: 600; color: #1a1a1a; margin-bottom: 12px; }
.acr-backup-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 16px 20px; margin-bottom: 10px; transition: box-shadow 0.2s; }
.acr-backup-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.acr-diff { font-size: 12px; color: #555; background: #fafafa; padding: 6px 10px; border-radius: 4px; margin-bottom: 8px; }

/* 操作按钮 */
.acr-detail-actions { display: flex; gap: 12px; padding-top: 24px; }

/* 推荐历史 */
.acr-history-section { max-width: 700px; }
.acr-history-search { display: flex; gap: 10px; margin-bottom: 20px; }
.acr-history-input { flex: 1; }
.acr-history-list { display: flex; flex-direction: column; gap: 8px; }
.acr-history-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 14px 16px; cursor: pointer; transition: box-shadow 0.2s; }
.acr-history-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.06); border-color: #2f54eb; }
.acr-history-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.acr-history-course { font-size: 14px; font-weight: 500; color: #1a1a1a; }
.acr-history-score { font-size: 15px; font-weight: 600; color: #2f54eb; }
.acr-history-meta { display: flex; align-items: center; gap: 12px; }
.acr-history-time { font-size: 12px; color: #8c8c8c; }

/* 响应式 */
@media (max-width: 768px) {
    .acr-primary-card { padding: 16px; }
    .acr-generate-panel { padding: 20px; }
}
