/* ========== 文案页面样式（第四期新增） ========== */

/* 覆盖首页 .main-content 的 flex 居中布局，改为块级 */
.main-content {
  display: block;
  max-width: 900px;
  margin: 0 auto;
  padding: 32px 24px;
  align-items: initial;
  justify-content: initial;
}

/* 页面头部 */
.page-header {
  margin-bottom: 24px;
}

.page-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 8px;
}

.page-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--color-text-light);
}

.meta-date {
  font-weight: 600;
}

.meta-badge {
  padding: 2px 8px;
  border-radius: 4px;
  background-color: #eef2ff;
  color: var(--color-primary);
  font-size: 12px;
}

.meta-version {
  background-color: #f3f4f6;
  color: var(--color-text-light);
}

/* 加载态 */
.loading-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--color-text-light);
}

.loading-text {
  font-size: 15px;
  color: var(--color-text);
  margin-bottom: 16px;
}

/* 进度条：60 秒线性推进 */
.progress-bar {
  width: 100%;
  max-width: 480px;
  height: 8px;
  background-color: #e5e7eb;
  border-radius: 4px;
  overflow: hidden;
  margin: 0 auto;
}

.progress-bar-inner {
  width: 0%;
  height: 100%;
  background-color: var(--color-primary);
  border-radius: 4px;
  transition: width 0.3s linear;
}

.loading-state.active .progress-bar-inner {
  animation: progress-60s 60s linear forwards;
}

@keyframes progress-60s {
  from { width: 0%; }
  to { width: 100%; }
}

/* 错误态 */
.error-state {
  text-align: center;
  padding: 40px 20px;
}

.error-message {
  color: #dc2626;
  margin-bottom: 16px;
}

/* 空状态 */
.empty-state {
  text-align: center;
  padding: 40px 20px;
  color: var(--color-text-light);
}

.empty-state .btn {
  margin-top: 16px;
}

/* 操作栏 */
.action-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border);
}

.btn-link {
  color: var(--color-text-light);
  text-decoration: none;
  font-size: 14px;
  padding: 8px 12px;
}

.btn-link:hover {
  color: var(--color-primary);
}

/* 文案列表 */
.scripts-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 单条文案卡片 */
.script-card {
  background-color: var(--color-card-bg);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}

.script-card:hover {
  box-shadow: var(--shadow-hover);
}

/* 卡片头部：序号 + 标题 */
.script-card-header {
  padding: 16px 20px 12px;
  border-bottom: 1px solid #f3f4f6;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.script-index {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.script-title {
  flex: 1;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.5;
  margin: 0;
}

/* 卡片主体 */
.script-card-body {
  padding: 14px 20px 16px;
}

.script-field {
  margin-bottom: 12px;
}

.script-field:last-child {
  margin-bottom: 0;
}

.field-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-light);
  margin-bottom: 4px;
  display: block;
}

.field-value {
  font-size: 14px;
  color: var(--color-text);
  line-height: 1.6;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* 5 秒钩子高亮 */
.field-hook {
  background-color: #fef3c7;
  border-left: 3px solid #f59e0b;
  padding: 10px 12px;
  border-radius: 4px;
  margin-left: -12px;
}

.field-hook .field-label {
  color: #92400e;
}

/* 图文口播脚本（核心，强调显示） */
.field-visual-script {
  background-color: #eef2ff;
  border-left: 3px solid var(--color-primary);
  padding: 10px 12px;
  border-radius: 4px;
  margin-left: -12px;
}

/* 标签 */
.script-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tag-item {
  padding: 2px 8px;
  background-color: #f3f4f6;
  color: var(--color-text-light);
  font-size: 12px;
  border-radius: 4px;
}

/* 拍摄场景列表 */
.shooting-scenes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.scene-item {
  padding: 2px 8px;
  background-color: #dbeafe;
  color: #1e40af;
  font-size: 12px;
  border-radius: 4px;
}

/* 理由说明 */
.field-reason {
  font-size: 13px;
  color: var(--color-text-light);
  font-style: italic;
  background-color: #f9fafb;
  padding: 8px 10px;
  border-radius: 4px;
  margin-left: -12px;
}

/* 卡片操作栏（第六期新增） */
.script-card-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px 20px 14px;
  border-top: 1px solid #f3f4f6;
}

/* 小号按钮 */
.btn-sm {
  padding: 5px 14px;
  font-size: 13px;
  min-height: 32px;
  border-radius: var(--radius);
}

.btn-secondary {
  background-color: #f3f4f6;
  color: var(--color-text);
  border: 1px solid var(--color-border);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.btn-secondary:hover {
  background-color: #e5e7eb;
}

.btn-primary {
  background-color: var(--color-primary);
  color: #fff;
  border: 1px solid var(--color-primary);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.btn-primary:hover {
  filter: brightness(0.95);
}

/* 复制成功按钮闪烁 */
.btn-flash {
  background-color: #10b981 !important;
  color: #fff !important;
  border-color: #10b981 !important;
}

/* 响应式 */
@media (max-width: 640px) {
  .main-content {
    padding: 20px 16px;
  }

  .page-title {
    font-size: 20px;
  }

  .script-card-header,
  .script-card-body {
    padding-left: 14px;
    padding-right: 14px;
  }

  .script-card-actions {
    padding-left: 14px;
    padding-right: 14px;
  }

  .field-hook,
  .field-visual-script,
  .field-reason {
    margin-left: -14px;
  }
}
