* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif; color: #333; }
a { text-decoration: none; color: inherit; }
ul, li { list-style: none; }

/* 通用按钮 */
.btn { padding: 8px 20px; border: none; border-radius: 6px; cursor: pointer; font-size: 14px; transition: all 0.3s; }
.btn-primary { background: #409eff; color: #fff; }
.btn-primary:hover { background: #66b1ff; }
.btn-success { background: #67c23a; color: #fff; }
.btn-success:hover { background: #85ce61; }
.btn-warning { background: #e6a23c; color: #fff; }
.btn-warning:hover { background: #ebb563; }
.btn-danger { background: #f56c6c; color: #fff; }
.btn-danger:hover { background: #f78989; }
.btn-info { background: #909399; color: #fff; }
.btn-outline { background: #fff; border: 1px solid #d9d9d9; color: #333; }
.btn-outline:hover { border-color: #409eff; color: #409eff; }
.btn-block { display: block; width: 100%; }
.btn-sm { padding: 5px 12px; font-size: 12px; }
.btn-lg { padding: 12px 28px; font-size: 16px; }

/* 状态标签 */
.status-tag { display: inline-block; padding: 2px 10px; border-radius: 4px; font-size: 12px; font-weight: 500; }
.status-pending { background: #fdf6ec; color: #e6a23c; border: 1px solid #faecd8; }
.status-processing { background: #ecf5ff; color: #409eff; border: 1px solid #d9ecff; }
.status-parts_dispatched { background: #f0f9eb; color: #67c23a; border: 1px solid #e1f3d8; }
.status-completed { background: #f4f4f5; color: #909399; border: 1px solid #e9e9eb; }
.status-closed { background: #fef0f0; color: #f56c6c; border: 1px solid #fde2e2; }

/* 优先级标签 */
.priority-tag { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; }
.priority-urgent { background: #fef0f0; color: #f56c6c; }
.priority-normal { background: #f4f4f5; color: #909399; }
.priority-low { background: #f0f9eb; color: #67c23a; }

/* 加载动画 */
.loading-spinner {
  display: inline-block; width: 16px; height: 16px; border: 2px solid #ddd;
  border-top-color: #409eff; border-radius: 50%; animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* 滚动条美化 */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
::-webkit-scrollbar-track { background: #f5f5f5; }
