/**
 * finance-exception.css
 * C1 财务异常记录 + C2 受控冲正
 */

/* ── 异常类型标签 ── */
.exc-type-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.exc-type-A { background: #fef2f2; color: #991b1b; }
.exc-type-B { background: #fff7ed; color: #9a3412; }
.exc-type-C { background: #fefce8; color: #854d0e; }
.exc-type-D { background: #f0fdf4; color: #166534; }
.exc-type-E { background: #eff6ff; color: #1e40af; }
.exc-type-F { background: #faf5ff; color: #6b21a8; }

/* ── 状态标签 ── */
.exc-status {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
}
.exc-status-pending { background: #fef3c7; color: #92400e; }
.exc-status-processing { background: #dbeafe; color: #1e40af; }
.exc-status-closed { background: #d1fae5; color: #065f46; }
.exc-status-ignored { background: #f3f4f6; color: #6b7280; }

/* ── 来源标签 ── */
.exc-source {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 600;
}
.exc-source-system { background: #e0e7ff; color: #3730a3; }
.exc-source-manual { background: #fce7f3; color: #9d174d; }

/* ── 严重级别 ── */
.exc-severity {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
}
.exc-severity::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.exc-severity-high::before { background: #dc2626; }
.exc-severity-medium::before { background: #f59e0b; }
.exc-severity-low::before { background: #10b981; }
.exc-severity-high { color: #991b1b; }
.exc-severity-medium { color: #92400e; }
.exc-severity-low { color: #065f46; }

/* ── 六类异常说明卡 ── */
.exc-type-guide {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}
.exc-type-guide-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  background: var(--surface);
}
.exc-type-guide-item strong {
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
}
.exc-type-guide-item p {
  font-size: 10px;
  color: var(--muted);
  margin: 0;
  line-height: 1.5;
}

/* ── 详情抽屉 ── */
.exc-detail-section {
  margin-bottom: 16px;
}
.exc-detail-section h4 {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
}
.exc-detail-grid {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 6px 12px;
  font-size: 12px;
}
.exc-detail-grid dt {
  color: var(--muted);
  font-weight: 600;
}
.exc-detail-grid dd {
  margin: 0;
  color: var(--text);
  word-break: break-all;
}
.exc-context-box {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 11px;
  font-family: 'SF Mono', 'Menlo', monospace;
  white-space: pre-wrap;
  word-break: break-all;
  max-height: 200px;
  overflow-y: auto;
}

/* ── 处置按钮组 ── */
.exc-action-bar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.exc-action-bar .btn {
  font-size: 12px;
  padding: 7px 14px;
}

/* ── 冲正确认抽屉 ── */
.reversal-summary {
  background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 14px;
}
.reversal-summary h4 {
  font-size: 13px;
  font-weight: 800;
  color: #1e40af;
  margin: 0 0 10px;
}
.reversal-original {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 4px 10px;
  font-size: 11px;
  margin-bottom: 10px;
}
.reversal-original dt { color: var(--muted); font-weight: 600; }
.reversal-original dd { margin: 0; font-weight: 600; }

/* 两级退回示意 */
.reversal-two-level {
  border: 1px dashed #f59e0b;
  border-radius: 8px;
  background: #fffbeb;
  padding: 12px;
  margin-bottom: 14px;
}
.reversal-two-level strong {
  display: block;
  font-size: 12px;
  color: #92400e;
  margin-bottom: 8px;
}
.reversal-level-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font-size: 11px;
  border-bottom: 1px dashed #fde68a;
}
.reversal-level-row:last-child { border-bottom: none; }
.reversal-level-row .label { font-weight: 600; color: #78350f; }
.reversal-level-row .values {
  display: flex;
  gap: 12px;
  align-items: center;
}
.reversal-level-row .before { color: var(--muted); text-decoration: line-through; }
.reversal-level-row .arrow { color: #f59e0b; font-weight: 800; }
.reversal-level-row .after { color: #16a34a; font-weight: 700; }
.reversal-level-row .delta { color: #dc2626; font-weight: 700; font-size: 10px; }

/* 恒等式校验 */
.reversal-identity {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 11px;
  color: #166534;
  font-weight: 600;
  margin-bottom: 14px;
}
.reversal-identity .formula {
  font-family: 'SF Mono', monospace;
  font-size: 10px;
}

/* 幂等提示 */
.reversal-idempotent {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 11px;
  color: #991b1b;
  margin-bottom: 14px;
}

/* 部分冲正灰态 */
.reversal-partial-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.reversal-partial-tag {
  display: inline-block;
  background: #f3f4f6;
  color: #6b7280;
  font-size: 9px;
  padding: 1px 5px;
  border-radius: 3px;
  margin-left: 6px;
  font-weight: 600;
}

/* ── 冲正记录列表 ── */
.reversal-pair {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}
.reversal-pair .original-flow {
  background: #fef2f2;
  color: #991b1b;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
}
.reversal-pair .reverse-flow {
  background: #f0fdf4;
  color: #166534;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
}
.reversal-pair .pair-arrow { color: var(--muted); }

/* ── 五终点覆盖层 ── */
.fe-state-overlay {
  padding: 50px 20px;
  text-align: center;
}
.fe-state-overlay .fe-icon { font-size: 42px; margin-bottom: 14px; }
.fe-state-overlay strong {
  display: block;
  font-size: 15px;
  margin-bottom: 8px;
}
.fe-state-overlay p {
  font-size: 12px;
  color: var(--muted);
  max-width: 420px;
  margin: 0 auto 14px;
  line-height: 1.6;
}

/* ── 终点切换栏 ── */
.fe-endpoint-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.fe-endpoint-bar .fe-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
}
.fe-endpoint-btn {
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 600;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--surface);
  color: var(--muted);
  cursor: pointer;
}
.fe-endpoint-btn:hover { border-color: var(--brand); color: var(--brand); }
.fe-endpoint-btn.active { background: var(--brand); color: #fff; border-color: var(--brand); }

/* ── 待拍板小标 ── */
.fe-pending-tag {
  display: inline-block;
  background: #fef3c7;
  color: #92400e;
  font-size: 9px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 3px;
  letter-spacing: 0.5px;
  vertical-align: middle;
  margin-left: 4px;
}

/* ── finance.html 冲正按钮注入 ── */
.fin-reversal-btn {
  color: #dc2626;
  font-weight: 700;
  font-size: 12px;
}
.fin-reversal-btn:hover { text-decoration: underline; }
.fin-reversal-btn:disabled {
  color: #9ca3af;
  cursor: not-allowed;
  text-decoration: none;
}

/* ── 金额高亮 ── */
.exc-amount {
  font-weight: 800;
  font-family: 'SF Mono', monospace;
}
.exc-amount.negative { color: #dc2626; }
.exc-amount.positive { color: #16a34a; }
