/* 旭彭设备监管系统 - 用户端样式 */
.user-body { background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 100%); min-height: 100vh; }

.user-container { max-width: 600px; margin: 0 auto; padding: 20px 16px; }

.user-header { text-align: center; padding: 30px 0 20px; }
.user-header h1 { font-size: 24px; color: #1a1f3a; margin-bottom: 6px; }
.user-header p { font-size: 13px; color: #888; }

.user-card { background: #fff; border-radius: 14px; padding: 24px; margin-bottom: 16px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); }
.user-card h2 { font-size: 20px; color: #333; margin-bottom: 20px; text-align: center; }
.user-card h3 { font-size: 16px; color: #333; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid #f0f0f0; }
.user-card-sm { max-width: 400px; margin: 40px auto; }

.user-footer { text-align: center; margin-top: 20px; font-size: 13px; color: #999; }
.user-footer a { color: #4a6cf7; }

/* 顶栏 */
.user-topbar { background: #fff; padding: 12px 16px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 1px 4px rgba(0,0,0,0.05); position: sticky; top: 0; z-index: 50; }
.topbar-title { font-size: 16px; font-weight: 600; color: #333; }
.topbar-link { color: #4a6cf7; font-size: 14px; text-decoration: none; }

/* 签署进度 */
.sign-progress { text-align: center; margin-bottom: 20px; }
.progress-bar { width: 100%; height: 8px; background: #e8eaf0; border-radius: 4px; overflow: hidden; margin-bottom: 8px; }
.progress-fill { height: 100%; background: linear-gradient(90deg, #4a6cf7, #6b8cff); border-radius: 4px; transition: width 0.3s; }
.sign-progress p { font-size: 13px; color: #666; }

/* 合同列表 */
.contract-list { }
.contract-item { display: flex; align-items: center; padding: 14px; border: 1px solid #eee; border-radius: 10px; margin-bottom: 10px; transition: all 0.2s; }
.contract-item:hover { border-color: #4a6cf7; box-shadow: 0 2px 8px rgba(74,108,247,0.1); }
.contract-num { width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(135deg, #4a6cf7, #6b8cff); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; margin-right: 14px; flex-shrink: 0; }
.contract-info { flex: 1; }
.contract-title { font-size: 14px; font-weight: 500; color: #333; margin-bottom: 4px; }
.contract-status { font-size: 12px; }

/* 合同内容 */
.contract-content { max-height: 400px; overflow-y: auto; padding: 16px; background: #fafbfc; border-radius: 8px; margin-bottom: 16px; font-size: 13px; line-height: 1.8; color: #444; }
.contract-content h2 { font-size: 18px; text-align: center; margin-bottom: 16px; }
.contract-content p { margin-bottom: 10px; }
.contract-content strong { color: #333; }

.sign-actions { margin-top: 16px; }
.sign-hint { font-size: 12px; color: #999; text-align: center; margin-bottom: 10px; }

/* 绑定信息 */
.bind-info { background: #f8f9fb; border-radius: 8px; padding: 14px; }
.info-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13px; border-bottom: 1px solid #eee; }
.info-row:last-child { border-bottom: none; }
.info-row span { color: #888; }
.info-row strong { color: #333; }

.upload-status { font-size: 11px; color: #00c896; margin-left: 8px; }

/* 校验结果 */
.verify-success { text-align: center; padding: 20px 0; }
.verify-icon { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, #00c896, #00e0a8); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 32px; margin: 0 auto 16px; }
.verify-success h2 { font-size: 22px; color: #333; margin-bottom: 8px; }
.verify-success p { color: #666; font-size: 14px; }

.verify-fail { text-align: center; padding: 20px 0; }
.verify-fail .verify-icon { background: linear-gradient(135deg, #ff6b6b, #ff8787); }
.verify-fail h2 { font-size: 22px; color: #333; margin-bottom: 8px; }

.verify-checks { margin-top: 20px; }
.verify-checks .check-item { display: flex; align-items: center; padding: 10px 14px; border-radius: 8px; margin-bottom: 6px; font-size: 13px; }
.verify-checks .check-item.pass { background: #f0faf5; color: #00a876; }
.verify-checks .check-item.fail { background: #fef5f5; color: #e74c3c; }
.verify-checks .check-item span { margin-right: 8px; font-weight: 700; }
