/* 合同展示卡片 */
.contract-card { margin-top: 32px; background: #fff; border-radius: var(--radius-lg); padding: 60px; box-shadow: var(--shadow-xl); border: 1px solid var(--border); }
.contract-card h3 { font-size: 26px; font-weight: 900; color: var(--primary); margin-bottom: 32px; border-left: 6px solid var(--accent); padding-left: 20px; }
.contract-warning { background: var(--bg-alt); padding: 24px; border-radius: var(--radius-md); margin-bottom: 24px; border: 1px solid var(--border); }
.contract-warning strong { color: var(--accent); }
.contract-open-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 28px; border: 0; border-radius: var(--radius-xs); background: var(--primary); color: #fff; font-size: 16px; font-weight: 900; cursor: pointer; box-shadow: 0 12px 28px rgba(21,53,111,0.18); transition: all var(--dur-fast); }
.contract-open-btn:hover { background: var(--accent); transform: translateY(-2px); box-shadow: 0 16px 34px rgba(183,28,28,0.2); }
.contract-zoom-mask { display: none; position: fixed; inset: 0; background: rgba(6,18,42,0.88); z-index: var(--z-modal); backdrop-filter: blur(8px); }
.contract-zoom-pop { display: none; position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: calc(var(--z-modal) + 1); width: min(94vw, 1180px); max-height: 94vh; padding: 18px; background: #fff; border-radius: var(--radius-lg); box-shadow: 0 24px 80px rgba(0,0,0,0.35); }
.contract-zoom-pop img { display: block; width: 100%; max-height: calc(94vh - 36px); object-fit: contain; border-radius: 8px; background: #f3f4f6; }
.contract-zoom-close { position: absolute; right: 16px; top: 12px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(10,30,69,0.9); color: #fff; font-size: 28px; line-height: 42px; text-align: center; cursor: pointer; }
.contract-zoom-close:hover { background: var(--accent); }

