/* Tailwind CSS */ @tailwind base; @tailwind components; @tailwind utilities; /* 全局样式文件 */ /* 自定义全局样式 */ * { box-sizing: border-box; } html { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; line-height: 1.6; } body { margin: 0; padding: 0; background-color: #f8fafc; color: #1e293b; } /* 滚动条样式 */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f5f9; } ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* 通用工具类 */ .container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; } .btn { display: inline-flex; align-items: center; padding: 0.5rem 1rem; border: 1px solid transparent; font-size: 0.875rem; font-weight: 500; border-radius: 0.375rem; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); transition: all 0.2s ease-in-out; cursor: pointer; text-decoration: none; } .btn:focus { outline: none; box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5); } .btn-primary { background-color: #2563eb; color: white; } .btn-primary:hover { background-color: #1d4ed8; } .btn-secondary { background-color: #4b5563; color: white; } .btn-secondary:hover { background-color: #374151; } .card { background-color: white; border-radius: 0.5rem; box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); border: 1px solid #e5e7eb; padding: 1.5rem; } /* 状态徽章样式 */ .status-badge { display: inline-flex; align-items: center; padding: 0.25rem 0.5rem; border-radius: 0.375rem; font-size: 0.75rem; font-weight: 500; text-transform: capitalize; } .status-pending { background-color: #fef3c7; color: #d97706; } .status-active { background-color: #d1fae5; color: #059669; } .status-inactive { background-color: #e5e7eb; color: #6b7280; } /* 表格样式 */ .table-header { font-size: 0.75rem; font-weight: 500; color: #6b7280; text-transform: uppercase; letter-spacing: 0.05em; } .table-cell { padding: 1rem 1.5rem; white-space: nowrap; font-size: 0.875rem; color: #1f2937; } /* 表单样式 */ .form-label { display: block; font-size: 0.875rem; font-weight: 500; color: #374151; margin-bottom: 0.25rem; } .form-input { display: block; width: 100%; padding: 0.5rem 0.75rem; border: 1px solid #d1d5db; border-radius: 0.375rem; font-size: 0.875rem; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } .form-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } /* 分页样式 */ .pagination { display: flex; align-items: center; justify-content: between; margin-top: 1rem; } .pagination-button { display: inline-flex; align-items: center; padding: 0.5rem 0.75rem; margin: 0 0.125rem; border: 1px solid #d1d5db; background-color: white; color: #374151; font-size: 0.875rem; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s ease-in-out; } .pagination-button:hover { background-color: #f9fafb; } .pagination-button.active { background-color: #3b82f6; color: white; border-color: #3b82f6; } .pagination-button:disabled { opacity: 0.5; cursor: not-allowed; } /* 状态徽章样式 */ .status-badge { display: inline-flex; align-items: center; padding: 0.25rem 0.5rem; border-radius: 0.375rem; font-size: 0.75rem; font-weight: 500; text-transform: capitalize; } .status-pending { background-color: #fef3c7; color: #d97706; } .status-active { background-color: #d1fae5; color: #059669; } .status-inactive { background-color: #e5e7eb; color: #6b7280; } /* 表格样式 */ .table-header { font-size: 0.75rem; font-weight: 500; color: #6b7280; text-transform: uppercase; letter-spacing: 0.05em; } .table-cell { padding: 1rem 1.5rem; white-space: nowrap; font-size: 0.875rem; color: #1f2937; } /* 表单样式 */ .form-label { display: block; font-size: 0.875rem; font-weight: 500; color: #374151; margin-bottom: 0.25rem; } .form-input { display: block; width: 100%; padding: 0.5rem 0.75rem; border: 1px solid #d1d5db; border-radius: 0.375rem; font-size: 0.875rem; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } .form-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } /* 分页样式 */ .pagination { display: flex; align-items: center; justify-content: between; margin-top: 1rem; } .pagination-button { display: inline-flex; align-items: center; padding: 0.5rem 0.75rem; margin: 0 0.125rem; border: 1px solid #d1d5db; background-color: white; color: #374151; font-size: 0.875rem; border-radius: 0.375rem; cursor: pointer; transition: all 0.15s ease-in-out; } .pagination-button:hover { background-color: #f9fafb; } .pagination-button.active { background-color: #3b82f6; color: white; border-color: #3b82f6; } .pagination-button:disabled { opacity: 0.5; cursor: not-allowed; }