/* 用户管理页面样式 */ .admin-users { padding: 0; } /* 统计卡片样式 */ .stats-card { border: none; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); transition: transform 0.2s; } .stats-card:hover { transform: translateY(-2px); } .stats-card .card-title { font-size: 1.8rem; font-weight: 600; color: #333; margin-bottom: 0.25rem; } .stats-card .card-text { color: #666; font-size: 0.9rem; margin-bottom: 0; } .icon-wrapper { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; color: white; } .icon-wrapper.primary { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } .icon-wrapper.success { background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); } .icon-wrapper.danger { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); } .icon-wrapper.info { background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); color: #333; } /* 用户头像样式 - 表格中的头像 */ .avatar-wrapper { width: 48px !important; height: 48px !important; position: relative; overflow: hidden !important; flex-shrink: 0 !important; flex-grow: 0 !important; } .user-avatar { width: 48px !important; height: 48px !important; border-radius: 50% !important; object-fit: cover !important; border: 2px solid #f8f9fa !important; display: block !important; max-width: 48px !important; max-height: 48px !important; min-width: 48px !important; min-height: 48px !important; flex-shrink: 0 !important; flex-grow: 0 !important; } .user-avatar-placeholder { width: 48px !important; height: 48px !important; border-radius: 50% !important; background: #e9ecef !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 1.2rem !important; color: #6c757d !important; flex-shrink: 0 !important; flex-grow: 0 !important; } /* 用户详情模态框中的头像容器 */ .user-avatar-large-wrapper { width: 80px !important; height: 80px !important; margin: 0 auto !important; overflow: hidden !important; border-radius: 50% !important; position: relative !important; flex-shrink: 0 !important; flex-grow: 0 !important; } /* 用户详情模态框中的头像 */ .avatar-large { width: 80px !important; height: 80px !important; border-radius: 50% !important; object-fit: cover !important; border: 3px solid #f8f9fa !important; display: block !important; max-width: 80px !important; max-height: 80px !important; min-width: 80px !important; min-height: 80px !important; flex-shrink: 0 !important; flex-grow: 0 !important; } .avatar-placeholder-large { width: 80px !important; height: 80px !important; border-radius: 50% !important; background: #e9ecef !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 2rem !important; color: #6c757d !important; flex-shrink: 0 !important; flex-grow: 0 !important; } /* 强制覆盖Bootstrap的所有可能的图片样式 */ .user-detail img, .table img, .modal img { max-width: none !important; max-height: none !important; } .user-detail img.avatar-large, .modal img.avatar-large { width: 80px !important; height: 80px !important; max-width: 80px !important; max-height: 80px !important; min-width: 80px !important; min-height: 80px !important; } .table img.user-avatar { width: 48px !important; height: 48px !important; max-width: 48px !important; max-height: 48px !important; min-width: 48px !important; min-height: 48px !important; } /* 表格样式 */ .table th { background-color: #f8f9fa; border-bottom: 2px solid #dee2e6; font-weight: 600; color: #495057; } .table td { vertical-align: middle; padding: 1rem 0.75rem; } .table-hover tbody tr:hover { background-color: #f8f9fa; } /* 按钮组样式 */ .btn-group .btn { padding: 0.375rem 0.75rem; font-size: 0.875rem; } /* 空状态样式 */ .empty-state { text-align: center; padding: 3rem 1rem; color: #6c757d; } .empty-state i { font-size: 3rem; margin-bottom: 1rem; color: #dee2e6; } .empty-state div { font-size: 1.1rem; margin-bottom: 0.5rem; } /* 用户详情信息样式 */ .user-detail { padding: 1rem; } .user-info-list { margin-top: 1rem; } .user-info-item { display: flex; align-items: center; padding: 0.75rem 0; border-bottom: 1px solid #f8f9fa; } .user-info-item:last-child { border-bottom: none; } .user-info-label { font-weight: 500; color: #495057; width: 120px; flex-shrink: 0; } .user-info-value { color: #333; flex: 1; } /* 响应式设计 */ @media (max-width: 768px) { .table-responsive { font-size: 0.875rem; } .btn-group .btn { padding: 0.25rem 0.5rem; font-size: 0.75rem; } .stats-card .card-title { font-size: 1.5rem; } .icon-wrapper { width: 40px; height: 40px; font-size: 1.2rem; } .user-avatar { width: 40px !important; height: 40px !important; max-width: 40px !important; max-height: 40px !important; min-width: 40px !important; min-height: 40px !important; } .avatar-wrapper { width: 40px !important; height: 40px !important; } .user-avatar-placeholder { width: 40px !important; height: 40px !important; font-size: 1rem !important; } } /* 筛选表单样式 */ .card .form-label { font-weight: 500; color: #495057; } .form-control:focus, .form-select:focus { border-color: #667eea; box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25); } /* 分页样式 */ .pagination .page-link { color: #667eea; border-color: #dee2e6; } .pagination .page-link:hover { color: #495057; background-color: #f8f9fa; border-color: #dee2e6; } .pagination .page-item.active .page-link { background-color: #667eea; border-color: #667eea; } /* 用户详情模态框样式 */ .modal-content { border-radius: 12px; border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.15); } .modal-header { background-color: #f8f9fa; border-bottom: 1px solid #dee2e6; border-radius: 12px 12px 0 0; } .modal-title { font-weight: 600; color: #333; } /* 徽章样式 */ .badge { font-size: 0.75rem; font-weight: 500; padding: 0.35em 0.65em; } /* 加载状态 */ .loading { text-align: center; padding: 2rem; color: #6c757d; } .loading i { font-size: 2rem; margin-bottom: 1rem; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }