/* trade-widgets.css — 数字身份生态前端组件样式 */

/* ═══ 信誉徽章 ReputationBadge ═══ */
.rep-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 8px;border-radius:10px;font-weight:500;}
.rep-badge.rep-banned{background:rgba(239,68,68,.15);color:#f87171;}
.rep-badge.rep-newbie{background:rgba(59,130,246,.15);color:#60a5fa;}
.rep-badge.rep-normal{background:rgba(34,197,94,.15);color:#4ade80;}
.rep-badge.rep-gold{background:rgba(251,191,36,.2);color:#fbbf24;}
.rep-score{font-variant-numeric:tabular-nums;opacity:.8;font-size:11px;}

/* ═══ 交易担保卡片 TradeEscrowWidget ═══ */
.escrow-card{background:rgba(30,41,59,.6);border:1px solid rgba(148,163,184,.12);border-radius:14px;padding:16px;margin:12px 0;}
.escrow-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.escrow-card-title{font-size:15px;font-weight:600;color:#e2e8f0;}
.escrow-status{padding:3px 10px;border-radius:8px;font-size:12px;font-weight:600;}
.escrow-status.st-holding{background:rgba(234,179,8,.15);color:#facc15;}
.escrow-status.st-released{background:rgba(34,197,94,.15);color:#4ade80;}
.escrow-status.st-refunded{background:rgba(239,68,68,.15);color:#f87171;}
.escrow-status.st-disputed{background:rgba(239,68,68,.2);color:#ef4444;animation:pulse-border 2s infinite;}
.escrow-amount{font-size:22px;font-weight:700;color:#fbbf24;margin:8px 0;}
.escrow-parties{display:flex;gap:20px;font-size:13px;color:#94a3b8;margin:8px 0;}
.escrow-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.escrow-actions .btn{font-size:13px;padding:6px 14px;border-radius:8px;}

@keyframes pulse-border{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.2);}50%{box-shadow:0 0 0 4px rgba(239,68,68,.1);}}

/* ═══ 倒计时条 TradeCountdown ═══ */
.countdown-bar{background:rgba(30,41,59,.5);border-radius:10px;padding:10px 14px;margin:8px 0;display:flex;align-items:center;gap:10px;}
.countdown-progress{flex:1;height:6px;background:rgba(148,163,184,.15);border-radius:3px;overflow:hidden;}
.countdown-progress-fill{height:100%;background:linear-gradient(90deg,#4ade80,#facc15);border-radius:3px;transition:width 1s linear;}
.countdown-text{font-size:12px;color:#94a3b8;white-space:nowrap;font-variant-numeric:tabular-nums;}

/* ═══ 见证人面板 WitnessPanel ═══ */
.witness-panel{background:rgba(30,41,59,.4);border:1px solid rgba(148,163,184,.08);border-radius:12px;padding:14px;margin:10px 0;}
.witness-panel-title{font-size:14px;font-weight:600;color:#cbd5e1;margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.witness-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.06);}
.witness-item:last-child{border-bottom:none;}
.witness-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.witness-icon.wi-mod{background:rgba(99,102,241,.2);color:#818cf8;}
.witness-icon.wi-seed{background:rgba(168,85,247,.2);color:#c084fc;}
.witness-icon.wi-open{background:rgba(34,211,238,.2);color:#22d3ee;}
.witness-icon.wi-companion{background:rgba(251,191,36,.2);color:#fbbf24;}
.witness-verdict{font-size:12px;padding:2px 6px;border-radius:6px;font-weight:600;}
.witness-verdict.v-pass{background:rgba(34,197,94,.15);color:#4ade80;}
.witness-verdict.v-caution{background:rgba(234,179,8,.15);color:#facc15;}
.witness-verdict.v-reject{background:rgba(239,68,68,.15);color:#f87171;}
.witness-comment{font-size:13px;color:#94a3b8;margin-top:2px;}
.witness-consensus{padding:8px 12px;border-radius:8px;margin-top:8px;font-size:13px;font-weight:500;}
.witness-consensus.consensus-ok{background:rgba(34,197,94,.1);color:#4ade80;border:1px solid rgba(34,197,94,.2);}
.witness-consensus.consensus-pending{background:rgba(234,179,8,.1);color:#facc15;border:1px solid rgba(234,179,8,.2);}

/* ═══ 审计链查看器 AuditChainViewer ═══ */
.audit-chain{background:rgba(15,23,42,.5);border:1px solid rgba(148,163,184,.08);border-radius:12px;padding:14px;margin:10px 0;font-family:'Fira Code','JetBrains Mono',monospace;}
.audit-chain-title{font-size:14px;font-weight:600;color:#cbd5e1;margin-bottom:10px;}
.audit-entry{display:flex;gap:8px;padding:6px 0;font-size:12px;border-left:2px solid rgba(99,102,241,.3);padding-left:12px;margin-left:4px;}
.audit-entry-hash{color:#818cf8;word-break:break-all;}
.audit-entry-dir{color:#e2e8f0;font-weight:600;min-width:70px;}
.audit-entry-reason{color:#94a3b8;flex:1;}
.audit-verify-btn{margin-top:8px;font-size:12px;padding:4px 12px;border-radius:6px;background:rgba(99,102,241,.15);color:#818cf8;border:1px solid rgba(99,102,241,.25);cursor:pointer;}
.audit-verify-btn:hover{background:rgba(99,102,241,.25);}
.audit-verify-result{margin-top:6px;font-size:12px;padding:6px 10px;border-radius:6px;}
.audit-verify-ok{background:rgba(34,197,94,.1);color:#4ade80;}
.audit-verify-fail{background:rgba(239,68,68,.1);color:#f87171;}

/* ═══ 纠纷面板 DisputePanel ═══ */
.dispute-panel{background:rgba(127,29,29,.08);border:1px solid rgba(239,68,68,.15);border-radius:12px;padding:16px;margin:12px 0;}
.dispute-title{font-size:15px;font-weight:600;color:#fca5a5;margin-bottom:10px;}
.dispute-votes{display:flex;gap:12px;margin:10px 0;}
.dispute-vote-bar{flex:1;text-align:center;padding:8px;border-radius:8px;font-size:13px;}
.dispute-vote-bar.dv-refund{background:rgba(239,68,68,.1);color:#f87171;}
.dispute-vote-bar.dv-release{background:rgba(34,197,94,.1);color:#4ade80;}
.dispute-vote-bar.dv-split{background:rgba(234,179,8,.1);color:#facc15;}
.dispute-cooldown{text-align:center;font-size:12px;color:#94a3b8;margin-top:8px;}

/* ═══ 申诉按钮 AppealButton ═══ */
.appeal-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 10px;border-radius:6px;background:rgba(234,179,8,.1);color:#facc15;border:1px solid rgba(234,179,8,.2);cursor:pointer;transition:all .2s;}
.appeal-btn:hover{background:rgba(234,179,8,.2);}
.appeal-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:999;}
.appeal-modal.open{display:flex;}
.appeal-modal-inner{background:#1e293b;border-radius:14px;padding:20px;width:90%;max-width:400px;box-shadow:0 20px 40px rgba(0,0,0,.4);}
.appeal-modal textarea{width:100%;min-height:80px;background:#0f172a;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:#e2e8f0;padding:10px;font-size:13px;resize:vertical;}

/* ═══ 透明度计数器 TransparencyWidget ═══ */
.transparency-widget{background:linear-gradient(135deg,rgba(30,41,59,.8),rgba(15,23,42,.9));border:1px solid rgba(99,102,241,.15);border-radius:14px;padding:16px;margin:16px 0;}
.transparency-title{font-size:14px;font-weight:600;color:#818cf8;margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.transparency-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;}
.transparency-stat{text-align:center;padding:10px;background:rgba(15,23,42,.5);border-radius:10px;}
.transparency-stat-value{font-size:20px;font-weight:700;color:#e2e8f0;}
.transparency-stat-label{font-size:11px;color:#64748b;margin-top:2px;}
.transparency-hash{font-size:11px;color:#475569;word-break:break-all;margin-top:10px;padding:8px;background:rgba(15,23,42,.5);border-radius:6px;font-family:monospace;}

/* ═══ 信任徽章（帖子内） ═══ */
.trust-badge-row{display:flex;align-items:center;gap:8px;margin:8px 0;flex-wrap:wrap;}
.risk-badge{font-size:11px;padding:2px 8px;border-radius:6px;font-weight:500;}
.risk-badge.risk-low{background:rgba(34,197,94,.1);color:#4ade80;}
.risk-badge.risk-medium{background:rgba(234,179,8,.1);color:#facc15;}
.risk-badge.risk-high{background:rgba(239,68,68,.15);color:#f87171;animation:pulse-border 2s infinite;}
